网站首页 > 技术文章 正文
C++中,break、continue、goto、return语句都可以应用在 while、for 循环语句中,用于控制循环语句中的流程。
比如下面这段代码:
#include <iostream>
using namespace std;
int main()
{
int i = 0;
while (i < 2) {
cout << "i: " << i << endl;
for (int j = 0; j < 2; ++j) {
cout << " j: " << j << endl;
}
i++;
}
}
运行结果为:
1、beak 的用法
break 用于多层嵌套的 while、for 循环语句时,可以跳出最接近break的循环语句。
#include <iostream>
using namespace std;
int main()
{
int i = 0;
while (i < 2) {
cout << "i: " << i << endl;
for (int j = 0; j < 2; ++j) {
if (j > 0) {
break;
}
cout << " j: " << j << endl;
}
i++;
}
}
运行结果为:
此外,break还用于switch语句中的case,以跳出当前switch语句。
2、continue 的用法
continue 用于多层嵌套的 while、for 循环语句时,用来忽略循环语句块内位于它后面的代码而继续开始一次新的循环。
#include <iostream>
using namespace std;
int main()
{
int i = 0;
while (i < 2) {
cout << "i: " << i << endl;
for (int j = 0; j < 2; ++j) {
if (j == 0) {
continue;
}
cout << " j: " << j << endl;
}
i++;
}
}
运行结果为:
3、goto 的用法
goto语句用于将控制转移到由标签标记的语句。
当多层 while、for 循环语句嵌套时, break语句只应用于最里层的语句,如果要穿越多个嵌套层,可以使用 goto语句。
#include <iostream>
using namespace std;
int main()
{
int i = 0;
while (i < 2) {
cout << "i: " << i << endl;
for (int j = 0; j < 2; ++j) {
if (j == 0) {
goto hello;
}
cout << " j: " << j << endl;
}
i++;
}
hello: cout << "hello world!" << endl;
}
运行结果为:
goto 语句是一种无条件流程跳转语句,对于有多层嵌套的 while、for 循环语句,可以直接跳到最外层,但一般都不建议使用goto语句,因为它使得程序的控制流难以跟踪,使程序难以理解和修改。
4、return 的用法
return 可以直接退出函数,把控制返回函数的调用者。
如果函数没有返回类型,可以直接return,否则,return语句必须返回这个函数类型的值。
#include <iostream>
using namespace std;
int main()
{
int i = 0;
while (i < 2) {
cout << "i: " << i << endl;
for (int j = 0; j < 2; ++j) {
if (j == 0) {
return 0;
}
cout << " j: " << j << endl;
}
i++;
}
}
运行结果为:
猜你喜欢
- 2024-11-27 用for循环写一个九九乘法表
- 2024-11-27 三菱plc编程,FOR循环指令详解
- 2024-11-27 通过几个事例,就可以说明 for...of 循环在 JS 是不可或缺
- 2024-11-27 年近半百自学Python之流程控制break和continue
- 2024-11-27 C语言程序设计(谭浩强第五版) 第5章 循环结构程序设计 习题解析答案
- 2024-11-27 C语言for循环语句使用形式总结
- 2024-11-27 C# break和continue区别
- 2024-11-27 VBA基本语法之For循环结构,都有什么含义,具体该怎么使用?
- 2024-11-27 C语言(五):for,break,continue
- 2024-11-27 C语言for循环小例子
- 标签列表
-
- content-disposition (47)
- nth-child (56)
- math.pow (44)
- 原型和原型链 (63)
- canvas mdn (36)
- css @media (49)
- promise mdn (39)
- readasdataurl (52)
- if-modified-since (49)
- css ::after (50)
- border-image-slice (40)
- flex mdn (37)
- .join (41)
- function.apply (60)
- input type number (64)
- weakmap (62)
- js arguments (45)
- js delete方法 (61)
- blob type (44)
- math.max.apply (51)
- js (44)
- firefox 3 (47)
- cssbox-sizing (52)
- js删除 (49)
- js for continue (56)
- 最新留言
-