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 语句出现在一个循环内时,循环会立即终止,且程序流将继续执行紧接着循环的下一条智汇返佣https://www.kaifx.cn/broker/thinkmarkets.html语句。
它可用于终止 switch 语句中的一个 case。
如果您使用的是嵌套循环(即一个循环内嵌套另一个循环),break 语句会停止执行最内层的循环,然后开始执行该块之后的下一行代码。
语法
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 次迭代中停止。
|
|