第7讲循环的嵌套 continue语句和 break语句 l、 continue语句 2、 break语句 二、循环的嵌套 三、goto语句
第7讲 循环的嵌套 一、continue 语句和 break 语句 1、continue语句 2、break语句 二、循环的嵌套 三、goto语句
一、 continue语句和 break语句 l、 continue语句 格式: continue; 功能:结束本次循环,使程序回行到循环条件, 判断是否提前进入下一次循环。 continue语句只用于循环结构的内部,常与i语 句联合起来使用,以便在满足条件时提前结束 本次循环
一、continue 语句和 break 语句 1、continue语句 格式:continue ; 功能:结束本次循环,使程序回行到循环条件, 判断是否提前进入下一次循环。 continue语句只用于循环结构的内部,常与if语 句联合起来使用,以便在满足条件时提前结束 本次循环
例71对除5的倍数以外的1~100的数求和。 main 如果if判断语句为 运行序列如下: 真,则跳出本次循 i if((i%5) S+=i 环,回到循环条件, 判断是否进行下 for(i=1;i<=100;i++) s=0+1=1 次循环 s=1+2=3 fif(!(i%5) 此处,当i5的倍 s=3+3=6 数时,!(i%5)为真, continue, 4 s=6+4=10 跳出本次循环,不 执行 continue下面 S+=i; 假假假假真假 不执行 的语句,直接进入 s=10+6=16 下一次循环,即执 行for语句
例7.1 对除5的倍数以外的1~100的数求和。 main( ) {int i,s; s=0; for(i=1;i<=100;i++) {if (! (i%5)) continue; s+=i; } } 如果if判断语句为 真,则跳出本次循 环,回到循环条件, 判断是否进行下一 次循环 此处,当i为5的倍 数时,!(i%5)为真, 跳出本次循环,不 执行continue下面 的语句,直接进入 下一次循环,即执 行for语句 运行序列如下: i if(!(i%5)) s+=i 1 假 s=0+1=1 2 假 s=1+2=3 3 假 s=3+3=6 4 假 s=6+4=10 5 真 不执行 6 假 s=10+6=16 …… …… ……
例72统计1~50之间不能被3整除的数的个数并 输出这些数。 main nt ns for(n=1,=0;n<=20;n=n+1) iif (n%3==0)continue printf(%odt",n); 运行结果 S=s+1: 245781011 13141617 20 total: 14 printf("\ntotal: %d\n", s)
main() { int n,s; for (n=1,s=0;n<=20;n=n+1) { if (n%3==0) continue; printf("%d\t",n); s=s+1; } printf("\ntotal:%d\n",s); } 例7.2 统计1~50之间不能被3整除的数的个数并 输出这些数。 运行结果: 1 2 4 5 7 8 10 11 13 14 16 17 19 20 total: 14
2、 break语句 格式: break: 功能:循环体中遇见 break语句,立即结束循 环,跳到循环体外,执行循环结构后面的语 句。 在循环体中 break语句常与i语句搭配使 用,并且 break语句只能用在 switch语句和循 环语句中。 break只能跳出一层循环(或者一层 switch 语句结构)
格式: break; 功能:循环体中遇见break语句,立即结束循 环,跳到循环体外,执行循环结构后面的语 句。 2、break语句 在循环体中break语句常与if语句搭配使 用,并且break语句只能用在switch语句和循 环语句中。 break只能跳出一层循环(或者一层switch 语句结构)