第5章 循环和关系表达式
本章内容包括:
l for循环
l 表达式和语句
l 递增运算符和递减运算符: ++和--
l 组合赋值运算符
l 复合语句(语句块)
l 逗号运算符
l 关系运算符:>、>=、==、<=、<和!=
l while循环
l typedef工具
l do while 循环
l 字符输入方法get()
l 文件尾条件
l 嵌套循环和二维数组
计算机除了存储数据外,还可以做很多其他的工作。可以对数据进行分析、合并、重组、抽取、修改、推断、合成以及其他操作。有时甚至会歪曲和破坏数据,不过我们应当尽量防止这种行为的发生。为了发挥其强大的操控能力,程序需要有执行重复的操作和进行决策的工具。当然,C++提供了这样的工具。事实上,它使用于常规C语言相同的for循环、while循环、do while循环、if语句和switch语句,如果读者熟悉C语言,可粗略地浏览本章和第6章;但建议还是仔细看看。
5.1 for循环
很多情况下都需要程序执行重复的任务,如将数组中的元素累加起来或将歌颂生成的赞歌打印20份,C++中的for循环可以轻松完成这种任务。我们来看看程序5.1中,以了解for循环所做的工作,然后讨论它是如何工作的。
程序5.1 forloop.cpp
#include<iostream>
int main()
{
using namespace std;
int i;
for(i=0;i<5;i++)
cout<<"C++ knows loops.\n";
cout<<"C++ knows when to stop.\n";
return 0;
}
下面是该程序的输出
该循环首先将整数变量i设置为0:
i = 0
这是循环的初始化部分。然后,循环测试部分检查i是否小于5:
i < 5
如果确实小于5,则程序将执行接下来的语句——循环体:
cout<<”C++ knows loops.\n”;
然后,程序使用循环更新部分将i加1:
i++
这里使用了++运算符——递增运算符,它将操作数的值加1。递增运算符并不仅限于用于for循环。例如,在程序中,可以使用i++;来替换语句i=i+1;将i加1后,便结束了循环的第一个周期/
接下来,循环开始了新的周期,将新的i值与5进行比较。由于新值(1)也小于5,因此循环打印另一行,然后再次将i加1,从而结束这一周期。这样又进入了新的一轮测试、执行语句和更新i的值。这一过程将一直进行下去,直到循环将i更新为5为止。这样,接下来的测试失败,程序将接着执行循环后的语句。