回圈是用来进行进行重复性的工作,典型的回圈会进行下列三项基本任务
1. 控制变数初始设定 |
2. 回圈结束条件测试 |
3. 调整控制变数的值 |
关键字 while构成C++ 中回圈的一种,常用于没有确定重复次数的回圈,同时while后面接着小括弧为回圈结束的条件测试,通常为运算式,就是在回圈开始前,先进行回圈结束条件的测试,形式如下
由于while陈述仅需回圈的结束条件测试,所以有关控制变数的初始设定及调整,这都需要放在其它地方。
下例计算1到100所有整数的和,示范while回圈的简单使用
#include <iostream>
int main() {
int sum = 0;
int i = 1;
while (i <= 100) {
sum += i;
i++;
}
std::cout << "1 + ... + 100 = " << sum << std::endl;
return 0;
}
编译后执行,结果如下
$ g++ u0505_1.cpp
$./a.out 复制代码
1 + ... + 100 = 5050
$
回圈也可以是巢状的,所谓巢状的回圈是指回圈中包含其他的回圈,由于我们利用程式码缩排的方式,使该段程式码凹陷进去,看似巢的样子,故称巢状。
下例程式印出九九乘法表,就是利用两个while回圈,一个while回圈之中包含另一个while回圈
#include <iostream>
int main() {
int i = 1;
int j = 1;
while (i <= 9) {
while (j <= 9) {
std::cout << i * j << " ";
j++;
}
j = 1;
i++;
std::cout << std::endl;
}
return 0;
}
编译后执行,结果如下
示例代码:
$./a.out 复制代码
1 2 3 4 5 6 7 8 9
2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81
$
while回圈也可利用for回圈来取代,反之亦然。