C++ break用法详解
在 C++ 中,break 的功能是立即跳出所在的循环(for、while、do-while)或 switch case 语句,继续执行后续的代码。
例如,下面的 C++ 程序演示了从众多数据中找到第一个负数。
执行程序,输出结果为:
在嵌套的循环结构中,一个 break 只能终止一层循环,且终止的是包裹它、离它最近的那层循环。
举个简单的例子:
执行程序,输出结果为:
例如,下面的 C++ 程序展示了 break 在 switch case 语句中的用处。
读者也可以将程序中的 break 注释掉,再次执行程序,输出结果为:
break 语句允许程序员有选择地终止循环或 switch 语句的执行,合理地使用 break,可以编写更灵活、更清晰的代码。
循环中使用break
当 break 在循环内被执行时,循环将立即终止,转而执行循环后面的代码。例如,下面的 C++ 程序演示了从众多数据中找到第一个负数。
#include <iostream> int main() { int numbers[] = {10, 5, -3, 8, 4}; for (int i = 0; i < 5; i++) { if (numbers[i] < 0) { std::cout << "找到第一个负数:" << numbers[i] << std::endl; break; // 跳出循环 } } return 0; }从 numbers 数组的第一个元素开始逐一判断,只要找到负数(number[i]<0),就输出这个数字并执行 break 语句终止循环。
执行程序,输出结果为:
找到第一个负数:-3
在嵌套的循环结构中,一个 break 只能终止一层循环,且终止的是包裹它、离它最近的那层循环。
举个简单的例子:
#include <iostream> int main() { for (int i = 0; i < 3; i++) { //② for (int j = 0; j < 3; j++) { //① std::cout << "j=" << j << std::endl; break; //跳出内部循环 } std::cout << "i=" << i << std::endl; } return 0; }观察第 7 行的 break 语句,包裹它、离它最近的是标号为 ① 的 for 循环,因此 break 终止的是内层循环的执行。
执行程序,输出结果为:
j=0
i=0
j=0
i=1
j=0
i=2
switch中使用break
在 switch case 语句中,break 用于分割不同的 case 语句,防止编译器连续执行多个 case 中的代码块。例如,下面的 C++ 程序展示了 break 在 switch case 语句中的用处。
#include <iostream> int main() { int choice; std::cout << "选择一个操作(1-加,2-减):"; std::cin >> choice; switch (choice) { case 1: std::cout << "你选择了加法!" << std::endl; break; case 2: std::cout << "你选择了减法!" << std::endl; break; default: std::cout << "无效选择!" << std::endl; break; } return 0; }输出结果为:
选择一个操作(1-加,2-减):1
你选择了加法!
读者也可以将程序中的 break 注释掉,再次执行程序,输出结果为:
选择一个操作(1-加,2-减):1
你选择了加法!
你选择了减法!
无效选择!
总结
break 语句只能用在 switch 语句和循环语句中,否则会引起编译错误。break 语句允许程序员有选择地终止循环或 switch 语句的执行,合理地使用 break,可以编写更灵活、更清晰的代码。