break 语句的作用是:结束当前正在执行的循环(for、while、do…while)或多路分支(switch)程序结构,转而执行这些结构后面的语句。
在 switch 语句中,break 用来使流程跳出 switch 语句,继续执行 switch 后的语句。
在循环语句中,break 用来从最近的封闭循环体内跳出。
例如,下面的代码在执行了 break 之后,继续执行“a+=1;”处的语句,而不是跳出所有的循环:
for (; ;)
{…
for (; ;)
{
…
if (i==1)
break;
…
}
a+=1; //break 跳至此处
//…
}
continue 语句的作用是:结束当前正在执行的这一次循环(for、while、do…while),接着执行下一次循环。即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。
在 for 循环中,continue 用来转去执行表达式 2。
在 while 循环和 do…while 循环中,continue 用来转去执行对条件表达式的判断。
continue 语句和 break 语句的区别是:continue 语句只结束本次循环,而不是终止整个循环的执行。而 break 语句则是结束本次循环,不再进行条件判断。
例如:输出 1~100 之间的不能被 7 整除的数。
for (int i=1; i<=100; i++)
{
if (i%7==0)
continue;
cout << i << endl;
}
当 i 被 7 整除时,执行 continue 语句,结束本次循环,即跳过 cout 语句,转去判断 i <=100 是否成立。只有 i 不能被 7 整除时,才执行 cout 函数,输出 i。
C++ 中 break 语句有以下两种用法:
当 break 语句出现在一个循环内时,循环会立即终止,且程序流将继续执行紧接着循环的下一条语句。
它可用于终止 switch 语句中的一个 case。
如果您使用的是嵌套循环(即一个循环内嵌套另一个循环),break 语句会停止执行最内层的循环,智汇返佣 https://www.kaifx.cn/broker/t…。
语法
C++ 中 break 语句的语法:
break;
流程图
C++ break 语句
实例
实例
include <iostream>
using namespace std;
int main ()
{
// 局部变量声明
int a = 10;
// do 循环执行
do
{
cout << "a 的值:" << a << endl;
a = a + 1;
if(a > 15)
{
// 终止循环
break;
}
}while(a < 20);
return 0;
}
当上面的代码被编译和执行时,它会产生下列结果:
a 的值:10
a 的值:11
a 的值:12
a 的值:13
a 的值:14
a 的值:15
用于 switch 中的 break 语句也可以放在循环中,当遇到 break 时,循环立即停止,程序跳转到循环后面的语句。
以下是一个带有 break 语句的循环示例。程序段中的 while 循环看起来要执行 10 次,但 break 语句导致它在第 5 次迭代后即停止:
int count = 1;
while (count <= 10)
{
cout << count << endl;
count++;
if (count == 6)
break;
}
这个例子只是为了说明在循环中的 break 语句的作用。通常不会有人以这种方式来使用它,因为它违反了结构化编程的规则,并使代码难以理解、调试和维护。
一个循环的退出应该通过循环顶部的条件测试来控制,就像在 while 循环或 for 循环中那样,或者在底部,就像在 do-while 循环中那样。通常在循环中使用 break 语句的唯一时间是在发生错误的情况下提前退出循环。下面的程序提供了这样一个示例:
include <iostream>
include <cmath>
using namespace std;
int main()
{
double number;
cout << "Enter 5 positive numbers separated by spaces and \n" << "I will find their square roots:";
for (int count = 1; count <= 5; count++)
{
cin >> number;
if (number >= 0.0)
{cout << "\nThe square root of" << number << "is" << sqrt(number) <<endl;
}
else
{
cout << number << "is negative." << "I cannot find the square root of a negative number. The program is terminating.\n";
break;
}
}
return 0;
}
程序输出结果:
Enter 5 positive numbers separated by spaces and I will find their square roots: 12 15 -17 19 31
The square root of 12 is 3.4641
The square root of 15 is 3.87298
-17 is negative. I cannot find the square root of a negative number. The program is terminating.
在嵌套循环中使用 break
在嵌套循环中,break 语句只会中断其所在位置的循环。以下程序段在屏幕上显示 5 行星号。外部循环控制行数,内部循环控制每行中的星号数。内部循环设计为显示 20 个星号,但是 break 语句使循环在第 11 次迭代中停止。