C++ do…while 循环(示例)
什么是 do-while 循环?
do-while 循环会多次迭代 C++ 程序的一个部分。在 do-while 循环中,测试表达式位于循环的底部。循环体在测试表达式之前。这就是为什么即使测试表达式第一次评估为 false,循环体也必须执行一次。
何时使用 do-while 循环?
当迭代次数不固定时,应使用 do-while 循环,并且循环至少必须执行一次。C++ 编译器在评估条件之前先执行循环体。这意味着循环必须返回一个结果。即使在第一次评估时测试条件评估为 false,也是如此。由于循环体已经执行,它必须返回结果。
语法
C++ do-while 循环的基本语法如下:
do{
//code
}while(condition);
条件是测试表达式。循环执行必须为 true。{ 和 } 标记 do-while 循环的循环体。它位于条件之前。因此,它在条件之前执行。
do-while 循环如何工作?

流程图说明
- do-while 循环的开始。
- do-while 循环的循环体。
- 要评估的测试表达式或条件。
- 如果测试表达式为 true,C++ 编译器将执行 do-while 循环的循环体。
- 如果测试表达式为 false,C++ 编译器将执行循环体之后的语句。
- 循环体之后的语句。
示例 1
#include <iostream>
using namespace std;
int main() {
// Local variable
int x = 1;
do {
cout << "X is: " << x << endl;
x = x + 1;
} while (x < 5);
return 0;
}
输出
这是代码的屏幕截图:
代码解释
- 在我们的代码中包含 iostream 头文件。它将允许我们从控制台读取和写入。
- 包含 std 命名空间,以便使用其类和函数而无需调用它们。
- 调用 main() 函数,程序的逻辑应添加到其中。{ 标记 main() 函数体的开始。
- 注释。C++ 编译器将忽略它。
- 声明一个整数变量 x 并为其赋值 1。
- 创建 do-while 循环。{ 标记循环体的开始。
- 在控制台上打印变量 x 的值以及其他文本。endl 是一个 C++ 关键字,表示结束行。
- 每次迭代后将 x 的值增加 1。
- 循环体结束。测试表达式已添加到循环体的末尾。它测试 x 的值是否小于 5。
- 如果程序运行正常,main() 函数应返回值。
- main() 函数体结束。
示例 2
#include <iostream>
using namespace std;
int main()
{
int num, sum = 0;
do {
cout << "Enter a number: ";
cin >> num;
sum += num;
} while (num != 0);
cout << "Sum is " << sum;
return 0;
}
输出
这是代码的屏幕截图:
代码解释
- 在我们的代码中包含 iostream 头文件。它将允许我们从控制台读取和写入。
- 包含 std 命名空间,以便使用其类和函数而无需调用它们。
- 调用 main() 函数,程序的逻辑应添加到其中。
- { 标记 main() 函数体的开始。
- 声明两个整数变量 num 和 sum。变量 sum 已初始化为 0。
- 创建 do-while 循环。{ 标记循环体的开始。
- 在控制台上打印文本“输入一个数字:”。
- 从控制台读取用户输入并将值存储在变量 num 中。cin(控制台输入)是一个读取用户输入的函数。
- 将 num 的值加到 sum 的值中,并将结果存储在变量 sum 中。
- } 标记循环体的结束。测试表达式已添加到循环体的末尾。它测试用户输入的值,以确保它不为 0。!= 是不等于运算符。如果用户输入 0,循环应终止。
- 在控制台上打印变量 sum 的值以及其他文本。
- 如果程序运行正常,main() 函数应返回值。
- main() 函数体结束。
嵌套 do-while 循环
在 C++ 中,我们可以在一个 do-while 循环中创建另一个 do-while 循环。这将产生一个嵌套的 do-while 循环。
语法
do{
statement(s)
do{
statement(s)
}while(condition);
statement(s)
}while(condition);
第一个 do 语句表示外部 do-while 循环的 do 部分。
第二个 do 语句表示内部 do-while 循环的 do 部分。
第一个 while 语句表示内部循环的测试条件。
第二个 while 语句表示外部循环的测试条件。
嵌套 do-while 循环如何工作
嵌套 do-while 循环的工作方式如下:
步骤 1: 初始化首先执行一次。
步骤 2: 语句(do 部分)执行一次。
步骤 3: 由流程控制评估测试表达式。
步骤 4: 如果为 true,则执行内部循环。
步骤 5: 更新语句被更新。
步骤 6: 过程重复运行,直到测试表达式变为 false。
步骤 7: 当测试表达式变为 false 时,退出内部循环,并将控制转移到循环之后的语句。
步骤 8: 再次评估测试条件。
步骤 9: 如果为 true,则执行语句以返回 false。
步骤 10: 循环执行停止,并将控制转移到循环之后的语句。
示例
#include <iostream>
using namespace std;
int main() {
int a = 1;
do {
int b = 1;
do {
cout << a << "\n";
b++;
} while (b <= 3);
a++;
} while (a <= 3);
}
输出
这是代码的屏幕截图:
代码解释
- 在我们的代码中包含 iostream 头文件。它将允许我们从控制台读取和写入。
- 包含 std 命名空间,以便使用其类和函数而无需调用它们。
- 调用 main() 函数,程序的逻辑应添加到其中。{ 标记 main() 函数体的开始。
- 声明一个整数变量 a 并为其赋值 1。
- 创建外部 do-while 循环。{ 标记外部循环体的开始。
- 声明一个整数变量 b 并为其赋值 1。
- 创建内部 do-while 循环。{ 标记内部循环体的开始。
- 在控制台上打印变量 a 的值。“\n”是一个换行符,它会将鼠标光标移到下一行。
- 每次迭代后将 b 的值增加 1。
- 内部循环体结束。测试表达式已添加到循环体的末尾。它测试 b 的值是否小于或等于 5。
- 每次迭代后将 a 的值增加 1。
- 外部循环体结束。测试表达式已添加到循环体的末尾。它测试 a 的值是否小于或等于 3。
- main() 函数体结束。
摘要
- do-while 循环会多次运行一段代码。
- 当迭代次数不固定时,应使用它。
- 在 do-while 循环中,循环体在测试表达式之前。
- 即使测试表达式为 false,循环体也至少执行一次。
- 当迭代次数不固定时,应使用此循环。
- 只要条件为 true,do-while 循环就可以运行任意次数。
- 条件在每次迭代后评估一次。
- 条件评估的结果决定了要采取的操作。
- 如果条件为 true,循环将执行循环体。
- 一旦条件评估为 false,循环执行立即停止。
- 由于 do-while 循环体已执行,它必须返回结果。





