《C++语言入门经典》一3.2 循环语句

简介: 本节书摘来自华章出版社《C++语言入门经典》一书中的第3章,第3.2节,作者 郭鑫 顾彦玲,更多章节内容可以访问云栖社区“华章计算机”公众号查看

3.2 循环语句

在程序中除了可以作出选择判断外,还可以重复执行指令,直到满足某个条件为止。这种
重复称为循环。循环语句包含3种形式,即while语句、do-while语句和for语句。

3.2.1 while循环语句

while循环语句的形式如下:

while(表达式)
{ 
重复执行的内容
}

其中,表达式一般是一个关系表达式或逻辑表达,其值应该是一个逻辑真(true)或假
(false),当表达式的值为真时开始循环执行语句,当表达式的值为假时退出循环,执行循环
外的下一条语句。循环每次都是执行完语句后回到表达式处重新开始判断,重新计算表达式的
值,一旦表达式的值为假,就退出循环,为真就继续执行语句。while循环可以用流程来演示
执行过程,如图3.10所示。
语句可以是复合语句,也就是用花括号括起多条简单语句,花括号及其所包括的语句,被
称为循环体,循环主要指循环执行循环体的内容。
【例3.14】 使用while循环计算从1到10的累加。
实例位置:光盘MR源码第3章3.14
1到10的累加就是计算1+2+…+10,需要有一个变量从1变化到10,将该变量命名为i,
还需要另外一个临时变量不断和该变量进行加法运算,并记录运算结果,将临时变量命名为
sum,变量i每增加1时,就和变量sum进行一次加法运算。变量sum记录的是累加的结果。程
序需要使用循环语句,使用while 循环需要将循环语句的结束条件设置为i<=10,循环流程如
image

程序代码如下:

#include "stdafx.h" 
#include <iostream> 
using namespace std;
void main()
{ 
int sum=0,i=1; 
while(i<=10)
{ 
sum=sum+i; 
i++; 
} 
cout << "数字1-10之和:" << sum << endl; 
}

程序运行结果如图3.12所示。
程序先对变量sum和i进行初始化,while循环语句的表示式是i<=10,所要执行的循环体是
一个复合语句,是由“sum=sum+i;”和“i++;”两条简单语句完成,语句“sum=sum+i;”完
成累加,语句i++;完成由1到10的递增变化。
使用while循环的注意事项:
1)表达式不可以为空,表达式为空不合法。
2)表达式可以用非0代表逻辑值真(true),用0代表逻辑值假(false)。
3)循环体中必须有改变条件表达式值的语句,否则将成为死循环。
例如:

while(1) // 也可以写为while(true)
{ 
…
}

是一个无限循环语句。
例如:

while(0) // 也可以写为while(false)
{ 
…
}

是一个不会进行循环的语句。
image

相关文章
|
3月前
|
C++
C++ 语言异常处理实战:在编程潮流中坚守稳定,开启代码可靠之旅
【8月更文挑战第22天】C++的异常处理机制是确保程序稳定的关键特性。它允许程序在遇到错误时优雅地响应而非直接崩溃。通过`throw`抛出异常,并用`catch`捕获处理,可使程序控制流跳转至错误处理代码。例如,在进行除法运算或文件读取时,若发生除数为零或文件无法打开等错误,则可通过抛出异常并在调用处捕获来妥善处理这些情况。恰当使用异常处理能显著提升程序的健壮性和维护性。
76 2
|
3月前
|
算法 C语言 C++
C++语言学习指南:从新手到高手,一文带你领略系统编程的巅峰技艺!
【8月更文挑战第22天】C++由Bjarne Stroustrup于1985年创立,凭借卓越性能与灵活性,在系统编程、游戏开发等领域占据重要地位。它继承了C语言的高效性,并引入面向对象编程,使代码更模块化易管理。C++支持基本语法如变量声明与控制结构;通过`iostream`库实现输入输出;利用类与对象实现面向对象编程;提供模板增强代码复用性;具备异常处理机制确保程序健壮性;C++11引入现代化特性简化编程;标准模板库(STL)支持高效编程;多线程支持利用多核优势。虽然学习曲线陡峭,但掌握后可开启高性能编程大门。随着新标准如C++20的发展,C++持续演进,提供更多开发可能性。
82 0
|
1月前
|
算法 C++
2022年第十三届蓝桥杯大赛C/C++语言B组省赛题解
2022年第十三届蓝桥杯大赛C/C++语言B组省赛题解
39 5
|
1月前
|
存储 编译器 C语言
深入计算机语言之C++:类与对象(上)
深入计算机语言之C++:类与对象(上)
|
1月前
|
存储 分布式计算 编译器
深入计算机语言之C++:C到C++的过度-2
深入计算机语言之C++:C到C++的过度-2
|
1月前
|
编译器 Linux C语言
深入计算机语言之C++:C到C++的过度-1
深入计算机语言之C++:C到C++的过度-1
|
2月前
|
JavaScript 前端开发 测试技术
一个google Test文件C++语言案例
这篇文章我们来介绍一下真正的C++语言如何用GTest来实现单元测试。
21 0
|
3月前
|
编译器 C++ 容器
C++语言的基本语法
想掌握一门编程语言,第一步就是需要熟悉基本的环境,然后就是最重要的语法知识。 C++ 程序可以定义为对象的集合,这些对象通过调用彼此的方法进行交互。现在让我们简要地看一下什么是类、对象,方法、即时变量。 对象 - 对象具有状态和行为。例如:一只狗的状态 - 颜色、名称、品种,行为 - 摇动、叫唤、吃。对象是类的实例。 类 - 类可以定义为描述对象行为/状态的模板/蓝图。 方法 - 从基本上说,一个方法表示一种行为。一个类可以包含多个方法。可以在方法中写入逻辑、操作数据以及执行所有的动作。 即时变量 - 每个对象都有其独特的即时变量。对象的状态是由这些即时变量的值创建的。 完整关键字
|
4月前
|
前端开发 编译器 程序员
协程问题之为什么 C++20 的协程代码比其他语言的协程 demo 长很多如何解决
协程问题之为什么 C++20 的协程代码比其他语言的协程 demo 长很多如何解决
|
4月前
|
存储 安全 编译器
【C++入门 四】学习C++内联函数 | auto关键字 | 基于范围的for循环(C++11) | 指针空值nullptr(C++11)
【C++入门 四】学习C++内联函数 | auto关键字 | 基于范围的for循环(C++11) | 指针空值nullptr(C++11)