上QQ阅读APP看书,第一时间看更新
7.3.5 break/continue跳跃
1.break语句
break语句通常用在循环语句和开关语句中。当break用于switch语句中时,它可以使程序跳出switch而执行switch以后的语句,如果没有break语句,则程序将成为一个死循环而无法退出。
break语句的功能如下。
❑ 改变程序的控制流。
❑ 用于do…while、while、for循环中时,它可使程序终止循环而执行循环后面的语句。
❑ 通常在循环中它与条件语句一起使用,若条件值为真则跳出循环,控制流转向循环后面的语句。
❑ 如果已执行break语句,则不会执行循环体中位于break语句后的语句。
❑ 在多层循环中,一个break语句只向外跳一层。
break语句的使用格式如下。
break;
看下面的一段代码。
#include<stdio.h> int main(void) { int count=0, ch; printf("\n请输入一行字符:"); while((ch=getchar())! ='\n') { if(ch==' ') break; count++; } printf("\n共有 %d个有效字符。\n", count); }
上述代码提示用户输入一行字符,并将输出输入的字符数。
注意:break语句对if-else的条件语句不起作用。
2.continue语句
continue语句的功能是,跳过循环体中剩余的语句而强制执行下一次循环。continue语句只用在for、while、do…while等循环体中,常与if条件语句一起使用,用来加速循环。
continue语句的功能如下所示。
❑ continue语句只能用在循环里。
❑ continue语句的作用是跳过循环体中剩余的语句而执行下一次循环。
❑ 对于while和do…while循环,continue语句之后的动作是条件判断;对于for循环,随后的动作是变量更新。
continue语句的使用格式如下。
continue;
看下面的代码:
#include<stdio.h> int main(void) { int i, sum = 0; for(i=1; i<=100; i++) { if( i % 10 == 3) continue; sum += i; } printf("sum = %d \n", sum); }
上述代码能够计算1~100的所有整数和,但除以10余3的整数除外。