C中的break语句的使用心得

2次阅读

共计 2181 个字符,预计需要花费 6 分钟才能阅读完成。

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 次迭代中停止。

正文完
 0