回圈是用来进行进行重复性的工作,典型的回圈会进行下列三项基本任务
| 1.控制变数初始设定 | 
| 2. 回圈结束条件测试 | 
| 3. 调整控制变数的值 | 
关键字(keyword) do与while构成C++ 中回圈的一种,常用于后测式的回圈,意思是回圈会先进行第一轮,然后才进行回圈的结束条件测试,形式如下

似while陈述,do-while下方while后的小括号为结束条件测试,小括号后需接分号,另外有关控制变数的初始设定及调整,这都需要放在其它地方。下例计算1到100所有整数的和,示范do-while回圈的简单使用
#include <iostream>
  
int main() {
    int sum = 0;
    int i = 1;
    
    do {
        sum += i;
        i++;
    } while (i <= 100);
    
    std::cout << "1 + ... + 100 = " << sum<< std::endl;
    
    return 0; 
编译后执行,结果如下
$ g++ u0506_1.cpp
$./a.out 复制代码
1 + ... + 100 = 5050
$ 
回圈也可以是巢状的,所谓巢状的回圈是指回圈中包含其他的回圈,由于我们利用程式码缩排的方式,使该段程式码凹陷进去,看似巢的样子,故称巢状。
下例程式印出九九乘法表,就是利用两个do-while回圈,一个do-while回圈之中包含另一个do-while回圈
#include <iostream>
  
int main() {
    int i = 1;
    int j = 1;
    
    do {
        do {
            std::cout << i * j << " ";
            j++;
        } while (j <= 9);
        
        j = 1;
        i++;
        std::cout << std::endl;
    } while (i <= 9);
    
    return 0;
} 
编译后执行,结果如下
$ g++ u0506_2.cpp
$./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
$ 
  
大部分情况下,do-while与while回圈都可互相替代,do-while陈述是在无论如何都需要先做一次的情况下比较方便。

















