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,可以编写更灵活、更清晰的代码。
ICP备案:
公安联网备案: