一、循环控制 (一)、break 语句 break 语句通常用在循环语句和开关语句中。当 break 用于开关语句 switch 中时,可使程序跳出 switch 而执行 switch 以后的语句;如果没有 break 语句,则将成为一个死循环而无法退出。break 在 switch 中的用法已在前面介绍开关语句时的例子中碰到,这里不再举例。 当 break 语句用于 do-while、for、while 循环语句中时,可使程序终止循环而执行循环后面的语句,通常 break 语句总是与 if 语句联在一起。即满足条件时便跳出循环。 例如: int main(int argc, char *argv[]) { int sn=0,i; for(i=1;i<=100;i++) { if(i==51) break; /*如果 i 等于 51,则跳出循环*/ sn+=i; /*1+2+… … +50*/ } printf(%d\n,sn); } 可以看出,最终的结果是 1+2+… … +50。因为在 i 等于 51 的时候,就跳出循环了。自己写写怎样在 while 和 do--while 循环中增加 break 语句。 注意: 1. break 语句对 if-else 的条件语句不起作用。 2. 在多层循环中,一个 break 语句只向外跳一层。 例如: int main(int argc, char *argv[]) { int i,j; printf(i j\n); for(i=0;i<2;i++) for(j=0;j<3;j++) { if(j==2) break; printf(%d %d\n,i,j); } } 输出结果为: i j 0 0 0 1 1 0 1 1 当 i==0,j==2 时,执行 break 语句,跳出到外层的循环,i 变为 1。 (二)、continue 语句 continue 语句的作用是跳过循环本中剩余的语句而强行执行下一次循环。 continue 语句只用在for、while、do-while 等循环体中, 常与 if 条件语句一起使用,用来加速循环。 例如: int main(int argc, char *argv[]) { int sn=0,i; for(i=1;i<=100;i++) { if(i==51) continue; /*如果 i 等于 51,则结束本次循环*/ sn+=i; /*1+2+… … +50+52+… … +100*/ } printf(%d\n,sn); } 从程序中可以看出,continue 语句只是当前的值没有执行,也就是说当前的值跳过去了,接着执行下次循环。 int main(int argc, char *argv[]) { int i,j; printf(i j\n); for(i=0;i<2;i++) for(j=0;j<3;j++) { if(j==1) continue; printf(%d %d\n,i,j); } } 输出结果为: i j 0 0 0 2 1 0 1 2 (三)、goto 语句 goto 语句是一种无条件转移语句,与 BASIC 中的goto 语句相似。goto 语句的使用格式为:...