嵌入式学习--C语言Day04
While
int a = 0;
while(a<5)
{
if (a%2==0)
printf("%d\n",a);
a++;
}
死循环:while(1)
do-while
int a = 10;
do
{
if (a%2==0)
printf("%d\n",a);
a++;
} while (a<5);
先执行,再判断
注释
// 单行注释 ctrl /
/**/ 多行注释 ctrl shift a
while和do-while的区别
while 先判断后执行
do-while 先执行后判断
循环控制语句
break
结束循环
continue
结束本轮循环,进入下一轮循环
return
结束函数,返回值
数组
由一个或多个相同类型的数据组成的集合
特点:
- 数据类型相同
- 内存连续
格式:
存储类型 数据类型 数组名[元素个数]
int a[5];
只有在定义时[ ]里面表示元素个数,其他情况下[ ]里面表示索引
访问元素:数组名[索引] //从零开始
int a[5] = {1,2,5,7,0};
char b[6] = {'h','f','a','g'};
数组名
也是数组的首地址,是一个地址常量,不能被修改
printf("%p\n",a);
printf("%p\n",&a[0]);
//结果相同
数组大小
元素个数*数据类型大小
int a[5] = {1,2,5,7,0};
printf("%ld\n",sizeof(a));// 20
初始化
完全初始化
int a[5] = {1,2,5,7,0};
部分初始化
int a[5] = {1,2,5};
int b[3] = {};
未初始化部分,默认值为0
未初始化
int a[5];
值为随机值
可单独赋值:a[2] = 3;
清零函数
bzero
#include <strings.h>
void bzero(void *s, size_t n);
功能:数组内的值清零
参数:s:数组首地址,n:字节大小,size_t == int
返回值:无
bzero(a,sizeof(a));
memset
#include <string.h>
void *memset(void *s, int c, size_t n);
功能:数组内的值清零
参数:s:数组首地址,c:要设置的值,n:字节大小,size_t == int
返回值:数组首地址
memset(a,0,sizeof(a));
字符数组
存放字符串
char a[] = {'n','i','c','e'};
char b[5]={"nice"};
char c[33] = "nice";
char d[] = "nice";
输入输出
1.for
char a[5]={};
for(int i=0,i<5,i++)
{
scanf("%c",a[i]);
}
for(int i=0,i<5,i++)
{
printf("%c\n",a[i]);
}
2.%s
char b[33]={};
scanf("%s",b);
printf("%s\n",b);
scanf("%[^\n]",b)// 支持空格的格式
3.gets puts