C循环种类 goto语句与if构成循环 while do~while for 1,goto语句: 无条件跳转语句 goto 语句标号; "语句标号":在C语言中,把一个名字(标识符)与某一行的地址相关联。 格式为在一行的开始处定义一个名字,然后加一个':' loop: n++; goto loop; 作用: (1)与if语句向上跳转构成循环结构 (2)向后跳转可以跳出多重循环体等结构 注意:goto语句本身是没有问题的,但是goto语句是无条件跳转,应用太灵活, 会使程序的可读性变差,应限制使用goto语句来实现循环。 2,while
while(表达式) 语句 当表达式的值为真(非0),就执行"语句",否则跳过while循环体,当进入循环体 执行完语句后,再重复判断表达式的值,... "表达式":C语言任意合法的表达式都可以 "语句":while的循环体语句,重复执行的语句。 单语句: 只有一个分号 复合语句: {} 3,do~while
do 语句 while(表达式); 先执行一次循环体语句,然后再判断表达式的值,如果表达式的值为真(非0), 就再执行循环体语句,...直到表达式的值为0,那么结束do~while循环体。 "表达式":C语言任意合法的表达式都可以 "语句":while的循环体语句,重复执行的语句。 单语句: 只有一个分号 复合语句: {} 4, for for(表达式1;表达式2;表达式3) 语句 ★执行过程:首次进入for循环体先执行表达式1,再判断表达式2的值,若值为真, 执行循环体语句,最后执行表达式3,一个循环结束。从第二次循环起就不再执行 表达式1了,直接判断表达式2的值,若值为真继续循环,若为假,则跳出for循环。 for循环体完全等效于如下的while循环体 表达式1; while(表达式2) { 语句; 表达式3; } 唯一的区别是for循环体中的表达式123都可以为空,其中表达式2为真,则表示判断条件 永远为真,而while里的表达式2不能为空。 eg: int i; for(i=0;i<5;i++) { printf("%d ",i); } ★while循环与for循环的区别:一般来说,while更注重循环条件,for更注重于循环次数, 当然他们时可以相互替换的。 ★循环的嵌套 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++); } } 5,break语句 (1)用于switch语句中,用于提前跳出switch语句 (2)用于循环体中(while/do~while/for),用于跳出它所属的循环 6,continue continue语句只能用于循环体中(while/do~while/for),用于提前结束本次循环, 继续下一次循环。