C编程从入门到实践
上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的整数除外。