2.8 使用break和continue语句
C++游戏编程入门(第4版)
循环的行为是能够改变的,比如使用break语句立即退出循环,或者使用continue语句直接跳转到循环开始。尽管应当少用这些语句,但它们有时确实很有用。
2.8.1 Finicky Counter程序简介
Finicky Counter程序通过while循环从1数到10。但是该程序很挑剔,不喜欢5这个数字,所以跳过了它。该程序的运行示例如图2.8所示。
图2.8 程序用continue语句跳过了数字5,循环以break语句结束
从Cengage Learning网站(www.cengageptr.com/downloads)上可以下载到该程序的代码。程序位于Chapter 2文件夹中,文件名为finicky_counter.cpp。
// Finicky Counter
// Demonstrates break and continue statements
#include <iostream>
using namespace std;
int main()
{
int count = 0;
while (true)
{
count += 1;
//end loop if count is greater than 10
if (count > 10)
{
break;
}
//skip the number 5
if (count == 5)
{
continue;
}
cout << count << endl;
}
return 0;
}```
###2.8.2 创建while(true)循环
程序中使用下面一行代码来初始化循环:
` while (true)`
从技术上来讲,这是个无限循环。在刚刚警告过要避免无限循环后就使用了一个无限循环,这显得有些奇怪,但是这个特殊的循环并不会无限循环下去,因为循环体中有退出条件。
提示
尽管while (true)循环有时能比传统循环更清晰,但也应当尽可能少使用这种循环。
###2.8.3 使用break语句退出循环
下面的代码是循环中的退出条件:
//end loop if count is greater than 10
if (count > 10)
{
break;
}`
因为count在每次循环开始时加1,所以它最终会增加到11。当到11时,程序执行break语句(意思是“终止并退出循环”),循环结束。
2.8.4 使用continue语句跳转到循环开始
在显示count前,有下面几行代码:
//skip the number 5
if (count == 5)
{
continue;
}```
continue语句的意思是“跳转到循环的开始”。在循环开始,程序验证while表达式。如果值为真,则程序再次进入循环。因此,当count等于5时,程序不会执行cout << count << endl;语句,而是回到循环开始:5被跳过,不会显示。
###2.8.5 使用break和continue的时机
时间: 2024-09-14 10:53:22