C 语言 break 和 continue 的区别

13 May 2025 | 5 分钟阅读

这两种语句的类型相同,都允许用户更改或修改程序的流程。然而,它们是不同的。break 和 continue 语句在 C 语言中的主要区别在于,break 语句会立即终止最内层的 switch 或包含的循环。而 continue 语句则开始 while、for 或 do 循环的下一次迭代。continue 语句会立即接管 while 和 do 循环的测试条件。对于 for 循环,它也接管循环的增量步骤。

continue 语句只能用于循环,不能用于 switch。当 switch 中(或循环内更深处)存在 continue 时,将迭代下一个循环。

如果我们想在执行完特定 case 后退出,可以在 switch 中使用 break。在循环的情况下,当我们在特定条件发生时想退出循环,break 也很有用。例如,当你的数据已到末尾或过早出现错误条件时。我们只在想跳过循环体内的某个语句(或多个语句)并将控制权转移到下一次迭代时使用 continue 语句。

Break Vs. Continue in C

break 定义为

在 C++ 中,break 语句只有两个用途,第一个是“结束 switch 语句中 case 的执行”。第二步是“结束循环并恢复到循环后的下一个语句的控制”。

Break Vs. Continue in C

在 C++ 中,使用 break 语句。

让我们更详细地了解 'break' 语句的每种用法。首先,用于结束 switch 中的 case 执行。在 switch 中,'break' 只影响其所在的 switch。它对 switch 的包含循环没有影响。

continue 定义为

中断循环会终止剩余的迭代,并允许控制退出循环。continue 的工作方式与 break 类似。continue 语句会停止当前迭代中循环中任何剩余代码的执行,并将控制权返回到循环的下一次迭代。

continue 语句会跳过当前迭代的代码,并将控制权转移到循环的下一次迭代。

Break Vs. Continue in C

C++ Continue 语句

让我们来看一个在 C++ 中使用 'continue' 语句的例子。

使用 'for' 循环时,continue 语句的效果会增强。虽然 continue 语句在 while 和 do...while 的情况下很可能会执行更新语句,但这并非确定。

在 C 中,break 和 continue 语句有什么区别?

参数Break 语句Continue 语句
构造一个循环。此语句允许用户退出循环的整体结构。它不允许用户退出整体循环结构。
switch 和循环语句break 语句可以与 switch 语句结合使用。它也可以在 while 循环、do-while 循环和 for 循环中使用。这意味着循环和 switch 都可以轻松 break。switch 语句和 continue 语句是不兼容的。你仍然可以在 for 循环、do-while 循环和 while 循环中使用它。这意味着 continue 只能在循环中发生,不能在 switch 中发生。
控制当控制到达循环结构中的 break 语句时,它会立即退出。一旦遇到 continue 语句,控制就会从循环语句的开头转移到 continue 语句。
函数break 语句会在 case 执行的中间停止循环或 switch 的运行。这意味着如果 switch 或循环遇到 break,它将 abruptly 结束。continue 语句不会结束循环,而是将其引导到下一次迭代。这意味着如果循环遇到 continue 语句,它将完成所有迭代。continue 语句用于跳过循环中 continue 后面的语句。
语法可以写成
break;
可以写成
continue;

break 和 continue 之间的关键区别

  • 简而言之,break 关键字会结束循环的剩余迭代。而 continue 关键字只结束循环的当前迭代。
  • 当使用 break 关键字时,程序的控制会退出循环并移至循环之后的下一个语句。如果使用 continue 关键字,程序的控制会恢复到循环的下一次迭代。
  • 如前所述,当执行 break 控制程序时,程序会退出循环。很明显,break 会提前终止任何循环。而 continue 只终止当前迭代并恢复循环的下一次迭代,因此我们可以说 continue 会使循环的下一次迭代更快地执行。
  • 执行后,break 关键字会终止所有剩余的迭代,从而有效地停止循环继续。而 continue 关键字会使循环继续运行。
  • break 关键字可以与 "switch" 和 "label" 语句一起使用。而 continue 关键字不能与 "switch" 或 "label" 一起使用。

结论

break 和 continue 语句都是跳转语句,它们将控制转移到程序的另一个部分。break 语句允许控制退出循环,而 continue 语句允许控制进入循环的下一次迭代。