《C++游戏编程入门(第4版)》——2.8 使用break和continue语句

简介:

本节书摘来自异步社区出版社《C++游戏编程入门(第4版)》一书中的第2章,第2.8节,作者:【美】Michael Dawson(道森),更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.8 使用break和continue语句

C++游戏编程入门(第4版)
循环的行为是能够改变的,比如使用break语句立即退出循环,或者使用continue语句直接跳转到循环开始。尽管应当少用这些语句,但它们有时确实很有用。

2.8.1 Finicky Counter程序简介

Finicky Counter程序通过while循环从1数到10。但是该程序很挑剔,不喜欢5这个数字,所以跳过了它。该程序的运行示例如图2.8所示。
image

图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的时机
相关文章
|
11天前
|
C++ 存储
|
11天前
|
C++ 存储 编译器
|
1天前
|
存储 IDE 编译器
从零开始学C++:编程新手的入门指南
这篇文稿是C++入门指南,适合编程新手。内容涵盖了C++的基础知识,包括C++的概述(一种面向对象、高效且灵活的编程语言),编程环境的搭建(推荐使用IDE如Visual Studio或Code::Blocks),基础语法(变量、数据类型、控制结构和函数)以及面向对象编程基础(类、对象、继承和多态)。通过学习,初学者可逐步掌握C++编程技能,并鼓励进一步探索C++的高级特性。
|
4天前
|
存储 安全 编译器
【C++】C++入门(下)
【C++】C++入门(下)
|
4天前
|
编译器 Linux C语言
【C++】C++入门(上)
【C++】C++入门(上)
|
5天前
|
编译器 C语言 C++
从C语言到C++③(第一章_C++入门_下篇)内联函数+auto关键字(C++11)+范围for+nullptr(下)
从C语言到C++③(第一章_C++入门_下篇)内联函数+auto关键字(C++11)+范围for+nullptr
11 0
|
5天前
|
存储 安全 编译器
从C语言到C++③(第一章_C++入门_下篇)内联函数+auto关键字(C++11)+范围for+nullptr(上)
从C语言到C++③(第一章_C++入门_下篇)内联函数+auto关键字(C++11)+范围for+nullptr
10 0
|
5天前
|
存储 安全 编译器
从C语言到C++②(第一章_C++入门_中篇)缺省参数+函数重载+引用(下)
从C语言到C++②(第一章_C++入门_中篇)缺省参数+函数重载+引用
10 0
|
5天前
|
存储 编译器 C语言
从C语言到C++②(第一章_C++入门_中篇)缺省参数+函数重载+引用(中)
从C语言到C++②(第一章_C++入门_中篇)缺省参数+函数重载+引用
9 0
|
5天前
|
自然语言处理 编译器 C语言
从C语言到C++②(第一章_C++入门_中篇)缺省参数+函数重载+引用(上)
从C语言到C++②(第一章_C++入门_中篇)缺省参数+函数重载+引用
13 0