C语言循环种类:
while
do~while
for
goto语句与if语句构成循环
1.goto语句:无条件跳转语句
goto 语句标号;
"语句标号":再C语言中,把以恶符号与某一行的地址相关联。
格式为在某一行的开始处定义一个符号,然后再加上一个冒号。作用:
(1)与if语句向上跳转构成循环结构,但是我们不要用goto来实现循环。
(2)向后跳转可以跳出多重循环结构,还有linux内核驱动源码用goto跳转
到硬件的反初始化是很常用的用法。注意:goto是无条件跳转语句,导致程序的可读性变差,要慎重使用goto
2.while
while(表达式)
语句作用:当表达式的值为真(非0),就执行”语句“,否则就结束while循环体
当进入循环体执行完”语句“后,再重复判断表达式的值...
编写建议:不管while后面有没有语句,请先写 {},再到里面补充语句3.do~while
do
语句
while(表达式);
作用:先无条件执行一次语句,再判断表达式的值,如果表达式的值为真(非0),
就再执行循环体语句,...直到表达式的值为假(0),那么就结束循环。do~while语句的意义:just do it!
编程建议:不管do后面没有语句,请先写 {},再到里面补充语句
4.for
for(表达式1; 表达式2; 表达式3)
语句⭐执行流程:首次进入for循环体先无条件执行一次表达式1,再判断表达式2
的值,若为真,就执行循环语句,最后执行表达式3,一个循环结束。
从第二次循环起就不再执行表达式1了,直接判断表达式2的值的真假,
若为真,就继续循环,若为假,就结束for循环。for循环体完全等效于如下的while循环体:
表达式1;
while(表达式2)
{
语句
表达式3;
}
唯一的区别是for循环体中的表达式123都可以为空(表达式2为空,意思判断条件为真),
但是while里的表达式2不能为空。for的经典用法:
int i;
for(i=0;i<5;i++)
{
printf("%d\n", i); // 循环5次
}⭐while循环和for循环的区别:一般来说,while更注重循环条件,for更注重循环次数。
当然啦,它俩是可以相互替换。5.循环的嵌套
int i,j;
int a=0;
for(i=0; i<5; i++)
{
for(j=0; j<4; j++)
{
printf("i:%d j:%d a:%d\n", i, j, a++);
}
}6.break语句
(1)用于switch语句中,用于跳出switch语句
(2)用于循环体中(while/do~while/for),用于跳出它所属的循环