while循环语句:
while(循环条件)
{
// 循环体
}
执行流程:先检查循环条件,为真则执行循环体,为假则结束while循环。
如果for循环语句忽略模块1和模块3功能与while一模一样,它相当于for循环的精简版本,for适合解决循环次数明确的问题,while适合解决只知道循环条件,但不确定具体的循环次数的问题。
do while循环语句:
do {
// 循环体
}while(循环条件);
执行流程:先执行循环体,再判断循环条件,无论条件真假,循环体至少执行一次。
相同条件下,它会比for和while多执行一次循环体。
注意:在 do while 循环体中定义的变量,不能在小括号中使用,类似for循环中定义的循环变量,出了大括号也不能使用。
for(int i=0; i<10; i++)
{
}
printf("%d\n",i); // 不能在此处使用i
跳转语句:
break 语句有两种用法:
用法1:在 switch 语句中可以关闭执行开关。
用法2:在循环语句中,它可以跳出一层循环,也是结束死循环的一种方式,一般用它来提前结束循环,提高程序的执行效率。
continue 语句只能在循环语句中使用,停止执行循环体,直接进行下一次循环,一般用于改善大括号的嵌套层数。
goto 语句可以跳转到函数内的任意位置,由于它过度灵活、自由可能会破坏已经设计好的分支、循环语句,因此一般公司都禁止使用,新的编程语句中已经取消该关键字。
goto非常适合在驱动程序中处理异常、释放资源,所以C语言中从语法设计上就非常适合控制硬件。
在函数内通过定义标签确定代码位置。
return 语句可以跳出函数,并附加一个数据给函数的调用者。
循环嵌套:
循环语句中包含循环语句,外层循环执行一次,内层循环执行一遍。
for(int i=0; i<10; i++)
{
for(int j=0; j<10; j++)
{
printf("*");
}
printf("%d\n",i);
}
什么是数组:
数组就是变量的组合,是一种批量定义变量的方式。
定义数组:
类型 数组名[数量];
int arr[8]; <=> int b1,b2,b3,b4,b5,b6,b7,b8;
访问数组元素:
数组名[下标];
下标的范围:0 , 数量-1
遍历数组:
与for循环配合,使用循环变量作为数组的下标。
int arr[8];
for(int i=0; i<8; i++)
{
printf("%d ",arr[i]);
}
数组的初始化:
数组元素的默认值与普通变量一样,是随机的。
类型 数组名[数量] = {v1,v2,v3,...};
1、如果初始化数据不够,编译器会自动补0。
2、如果初始化数据过多,编译器会提示警告并丢弃多余数据。
3、对数组进行初始化时,数组的数量可以省略,编译器会自动统计数据的数量设置给数组。
int arr[] = {1,3,1,2,1,3,2,5,3,5,2,3,6,3};
size_t len = sizeof(arr)/sizeof(arr[0]);
for(int i=0; i<len; i++)
{
printf("%d ",arr[i]);
}
4、初始化语法只能在定义数组时使用,这也是唯一一次能对数组批量访问的机会,数组定义完成后就只能单个访问。