C++ do-while 循环详解:语法、实战示例与嵌套循环
什么是 do-while 循环?
do-while 循环是一种控制流结构,至少执行一次循环体,随后只要指定条件保持真就持续重复。与标准 while 循环不同,条件在循环体之后评估,保证无论条件初始值如何,循环体至少执行一次。
何时使用 do-while 循环?
适用场景:
- 循环体必须至少执行一次。
- 迭代次数在运行时才能确定。
- 先提示后验证的交互,如读取用户输入直到遇到哨兵值。
语法
do { // code } while (condition);
循环体位于 while 条件之前,因此编译器先执行循环体,再检查条件决定是否继续迭代。
工作原理
流程图步骤:
- 开始循环。
- 执行循环体。
- 评估条件。
- 若为真,回到步骤 2。
- 若为假,退出循环,继续执行后续语句。
示例 1:do-while 计数
#include <iostream>
using namespace std;
int main() {
int x = 1;
do {
cout << "X is: " << x << endl;
++x;
} while (x < 5);
return 0;
}
输出:

循环打印 1 到 4,因为 x < 5 在 x 变为 5 时变假。
示例 2:累加直到输入 0
#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;
}
输出:

此例中循环持续直到用户输入 0,确保至少处理一个数字。
嵌套 do-while 循环
将一个 do-while 循环置于另一个内部,形成嵌套结构,适用于多维迭代,如打印网格或复合计算。
语法
do { // 外层循环体
do { // 内层循环体 } while (inner_condition);
} while (outer_condition);
工作原理
执行顺序:
- 初始化外层变量。
- 进入外层循环体。
- 进入内层循环体。
- 每次内层迭代后,评估
inner_condition决定是否继续内层循环。 - 内层循环结束后,更新外层变量并评估
outer_condition决定是否重复外层循环。
示例
#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);
return 0;
}
输出:

核心要点
- do-while 循环保证循环体至少执行一次。
- 迭代次数运行时才确定时适用。
- 条件在循环体之后检查,而非之前。
- 嵌套循环支持多层迭代,但需注意复杂度与可读性。
C语言
- 用复数演示交流电压叠加:三电源串联案例
- 掌握 C++ for 循环:语法、流程图、范围循环与实战模式
- C++ while 与 do-while 循环:重复控制流完全掌握
- C++ 指针精通:核心概念、代码示例与实战应用
- C++ char 类型完全指南:声明、ASCII 码、输入输出与字符串转换
- C++ 运算符重载实战指南:语法、方法、限制与代码示例
- C++ 结构体详解:定义、初始化、指针、函数参数与局限性
- 掌握 C++ std::list:语法、函数与实战示例
- C++ 函数详解:从声明到调用的实战指南
- C# 集合实战教程:ArrayList、Stack、Queue、Hashtable 等核心类型全解析
- while 与 do-while 循环深度对比:原理、语法与实战案例全解析
- Python str.count() 完全指南:统计字符与子串出现次数实战