您的位置:首页 > 文旅 > 美景 > C++之break / continue陈述九州地址QA98嚸CC语言

C++之break / continue陈述九州地址QA98嚸CC语言

2024/10/6 6:03:25 来源:https://blog.csdn.net/hdtmd/article/details/140250290  浏览:    关键词:C++之break / continue陈述九州地址QA98嚸CC语言

break陈述

关键字 break 用于跳出 switch 陈述或跳出回圈。

以下程式示范switch陈述中使用break

#include <iostream>int main() {int data = 0;switch (data) {case 0:std::cout << "0" << std::endl;case 1: case 2:std::cout << "12" << std::endl;break;case 5:std::cout << "5" << std::endl;}return 0;
}

编译后执行,结果如下

$ g++ u0507_1.cpp
$./a.out 复制代码
0
12
$

此例在case 1、case 2之后使用break陈述

case 1: case 2:std::cout << "12" << std::endl;break;

由于0就符合选项,使得执行完case 0的部份后,由于这里没有break陈述,因此程式会继续执行底下所有的陈述,直到遇上break或到右大括弧为止。

以下程式示范在回圈中使用break

#include <iostream>int main() {int i;for (i = 0; i < 10; i++) {if (i == 5) {break;}std::cout << i << std::endl;}return 0;
}

编译后执行,结果如下

$ g++ u0507_2.cpp
$./a.out 复制代码
0
1
2
3
4
$

这里利用if判断控制变数i是否等于整数5,若是等于5就用break跳出for回圈,因此输出只有印到4为止。

continue陈述

关键字 continue可于回圈中暂停执行一次,然后进行下一轮。回圈碰到continue就像直接跳到回圈最后右大括弧的地方,接着重新进行回圈的结束条件测试,如果测试结果为真,那么回圈继续进行。

举例如下

#include <iostream>int main() {int i;for (i = 0; i < 10; i++) {if (i == 5) {continue;}std::cout << i << std::endl;}return 0;
}

编译后执行,结果如下

示例代码:
$./a.out 复制代码
0
1
2
3
4
6
7
8
9
$

此例在for回圈中测试控制变数i是否等于5,如果等于5就执行continue,因此印出结果中没有数字5

使用continue需要留意控制变数的调整,我们将上例改用while回圈如下

#include <iostream>int main() {int i = 0;while (i < 10) {if (i == 5) {continue;}std::cout << i << std::endl;i++;}return 0;
}

由于控制变数i等于5的时候就会执行continue,但是continue之前没有调整控制变数值,结果造成i永远等于5,回圈结束条件永远为真

$ g++ u0508_2.cpp
$./a.out 复制代码
0
1
2
3
4
_

这造成一个无穷回圈(infinite loop) ,如同程式当掉不会结束执行,因此要利用按Ctrl + c或其他方式强制结束程式执行。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com