C 语言中的 break 和 continue

循环语句很好用,但是如果循环进行到一般想要跳出循环或者结束循环怎么办?那么那你需要 break 和 continue 语句。

1. break 和 continue 的使用语法

1.1 or 循环中使用 break 和 continue

break

for (控制循环的变量; 循环判断条件; 循环变量增减变化)
{
  语句1;
  if (判断条件)
     break;
  语句2;
}

continue

for (控制循环的变量; 循环判断条件; 循环变量增减变化)
{
  语句1;
  if (判断条件)
     continue;
  语句2;
}

1.2 while 循环中使用 break 和 continue

break

while (循环判断条件)
{
  语句1;
  if (判断条件 )
     break;
  语句2;
}

continue

while (循环判断条件)
{
  语句1;
  if (判断条件 )
     continue;
  语句2;
}

1.3 do while 循环使用 break 和 continue

break

do
{
  语句1;
  if (判断条件)
     break;
  语句2;
}while (循环判断条件);

continue

do
{
  语句1;
  if (判断条件)
     continue;
  语句2;
}while (循环判断条件);

2. break 和 continue 的执行过程

2.1 break

图片描述

2.2 continue

图片描述

3. break 和 continue 的使用场景

当需要在循环内部满足一定条件时终止执行该语句后面的本次循环以及剩余的循环时使用 break。这就如同你正在写作业,突然觉得你不想写了,那么你就会放弃后面所有作业,而不是循环的在完成写作业这个动作。

当需要在循环内部满足一定条件后跳过本语句后面的循环语句中的内容,直接进入下一轮循环的时候使用 continue。这也可以用你写作业来比喻,当你遇到一道难题以后,你会跳过这道题,然后继续你的写作业的动作,一直往复的完成写作业这个行为。

4. 实例

4.1 break

#include <stdio.h>

int main()
{
    for (int i = 0; i < 10; i++)
    {
        printf("第 %d 次循环,语句1\n", i);
        if (i == 5)
        {
            break;
        }
        printf("第 %d 次循环,语句2\n", i);
    }

    return 0;
}

运行结果:

0 次循环,语句10 次循环,语句21 次循环,语句11 次循环,语句22 次循环,语句12 次循环,语句23 次循环,语句13 次循环,语句24 次循环,语句14 次循环,语句25 次循环,语句1

当循环到变量 i 等于 5 的时候,就会满足 if 语句中的判断条件,会执行语句 break ,这个时候后面的 printf 语句以及剩下的循环都会被跳过。

4.2 continue

#include <stdio.h>

int main()
{
    for (int i = 0; i < 10; i++)
    {
        printf("第 %d 次循环,语句1\n", i);
        if (i == 5)
        {
            continue;
        }
        printf("第 %d 次循环,语句2\n", i);
    }

    return 0;
}

运行结果:

0 次循环,语句10 次循环,语句21 次循环,语句11 次循环,语句22 次循环,语句12 次循环,语句23 次循环,语句13 次循环,语句24 次循环,语句14 次循环,语句25 次循环,语句16 次循环,语句16 次循环,语句27 次循环,语句17 次循环,语句28 次循环,语句18 次循环,语句29 次循环,语句19 次循环,语句2

当循环中变量 i 等于 5 的时候会使得其中的 if 语句满足条件,会执行 continue 语句。这个时候仅仅会跳过本次循环中的 continue 语句后面的内容。然后循环会继续。

5. 小结

循环语句可以使得循环体中的语句不断的被重复执行。但是,有些时候,我们可能会因为某些条件的改变而终止循环或者跳过本次循环中的剩余部分。这个时候就不能依靠循环判断条件了。就要使用 break 和 continue 语句来完成相关的操作。

这两者都会跳过本次循环中该语句后面的内容。但是两者的区别在于,使用 break 语句,会让循环终止,而 continue 语句则只是让本次循环终止,会马上进入这个循环体中的下一次循环。