本文共 1489 字,大约阅读时间需要 4 分钟。
本节书摘来自异步社区出版社《C++游戏编程入门(第4版)》一书中的第2章,第2.8节,作者:【美】Michael Dawson(道森),更多章节内容可以访问云栖社区“异步社区”公众号查看。
C++游戏编程入门(第4版)
循环的行为是能够改变的,比如使用break语句立即退出循环,或者使用continue语句直接跳转到循环开始。尽管应当少用这些语句,但它们有时确实很有用。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#includeusing 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语句(意思是“终止并退出循环”),循环结束。 在显示count前,有下面几行代码:
//skip the number 5 if (count == 5) { continue; }```continue语句的意思是“跳转到循环的开始”。在循环开始,程序验证while表达式。如果值为真,则程序再次进入循环。因此,当count等于5时,程序不会执行cout << count << endl;语句,而是回到循环开始:5被跳过,不会显示。###2.8.5 使用break和continue的时机
转载地址:http://upwll.baihongyu.com/