2.6 循环结构-while语句
2016-06-11 10:26
441 查看
循环控制语句是三种基本流程控制语句之一,用于重复执行某些操作。
C++提供三种循环语句——while语句、do-while语句和for语句及其嵌套形式来描述循环结构。
本节讲解while语句。
“while语句”也称为“当循环”。语句格式为:
while(表达式)
循环体语句;
其中:
表达式——是C++中任一合法表达式,包括逗号表达式;其值是逻辑型,即1或0。
循环体语句——可以是单一语句,也可以是复合语句。
图2.5 while语句的执行流程
while语句的执行流程示意图如左图所示,描述如下:
(1) 计算表达式的值,若值为真(或非0),则执行循环体;
(2) 计算表达式的值,并重复以上过程;
(3) 当表达式的值为假(或为0),便不再执行循环体,循环语句结束。
【例2.11】计算1+2+3+…+100的值。(查看动画演示)
#include <iostream>
using namespace std;
const int n=100; //用常变量利于修改程序
int main(){
int i=1,sum=0; //循环初始条件
while(i<=n){
sum+=i;
i++; //修改循环条件
}
cout<<"sum="<<sum<<endl;
return 0;
}
通常在循环开始前,要对循环条件进行初始化,如求1—N的和时,和的初值为0等。
在循环体语句中应包含修改循环条件的语句,否则循环将不能终止而陷入死循环。
C++表达方式灵活,循环语句多数时可以被简化,如:
while(i<=n)
{
sum+=i;
i++; //修改循环条件
}
可简化成:
while (i<=n) sum+=i++;
或:
while (sum+=i++, i<=n);
循环的简化往往会降低可读性,因此,程序设计者只需理解循环简化的意义,而设计时主要追求的目标应是可读性。
C++提供三种循环语句——while语句、do-while语句和for语句及其嵌套形式来描述循环结构。
本节讲解while语句。
while语句的基本格式
“while语句”也称为“当循环”。语句格式为:while(表达式)
循环体语句;
其中:
表达式——是C++中任一合法表达式,包括逗号表达式;其值是逻辑型,即1或0。
循环体语句——可以是单一语句,也可以是复合语句。
执行流程
图2.5 while语句的执行流程
while语句的执行流程示意图如左图所示,描述如下:
(1) 计算表达式的值,若值为真(或非0),则执行循环体;
(2) 计算表达式的值,并重复以上过程;
(3) 当表达式的值为假(或为0),便不再执行循环体,循环语句结束。
应用举例
【例2.11】计算1+2+3+…+100的值。(查看动画演示)#include <iostream>
using namespace std;
const int n=100; //用常变量利于修改程序
int main(){
int i=1,sum=0; //循环初始条件
while(i<=n){
sum+=i;
i++; //修改循环条件
}
cout<<"sum="<<sum<<endl;
return 0;
}
重要提示
通常在循环开始前,要对循环条件进行初始化,如求1—N的和时,和的初值为0等。在循环体语句中应包含修改循环条件的语句,否则循环将不能终止而陷入死循环。
C++表达方式灵活,循环语句多数时可以被简化,如:
while(i<=n)
{
sum+=i;
i++; //修改循环条件
}
可简化成:
while (i<=n) sum+=i++;
或:
while (sum+=i++, i<=n);
循环的简化往往会降低可读性,因此,程序设计者只需理解循环简化的意义,而设计时主要追求的目标应是可读性。
相关文章推荐
- 汇编--中断
- 人月神话阅读笔记02
- ERROR 1442 (HY000):because it is already used by statement which invoked this stored function/tr
- 2.5 分支结构-switch语句
- 功率优化器对电池组件遮挡的提升
- 剑指offer(15)-二叉树的镜像
- Photoshop分光分色系统通道
- 2.4 分支结构-条件运算符
- Android面试题(一)
- [jvm解析系列][九]类的加载过程和类的初始化。你的类该怎么执行?为什么需要ClassLoader?
- ubuntu16.04中将python3设置为默认
- 某市医院拿下过程
- 2.3 分支结构-if语句的嵌套
- SHELL编程之执行过程
- 构建之法阅读笔记09
- 面试总结之数据结构
- Quartus II建立工程及其仿真
- java学习笔记之类加载器
- 2.2 分支结构-if语句
- 面向对象中的——static