do-while循环先执行后判断,至少运行一次;语法为do{循环体}while(条件);末尾必须加分号;适合需先执行再判断的场景,如密码验证。

do-while 循环先执行后判断,至少运行一次,适合需要“先干活、再看要不要继续”的场景。
do-while 的基本结构和执行逻辑
语法格式为:
do {
// 循环体(至少执行一次)
} while (条件表达式);
注意:while 后面必须带分号,这是与其他循环最明显的区别;条件在循环末尾判断,所以不管条件真假,大括号内的代码一定会执行一遍。
立即学习“C++免费学习笔记(深入)”;
例如输入密码验证,要求用户至少输一次,再决定是否重试:
String pwd;
do {
cout cin >> pwd;
} while (pwd != “123456”);
cout
与 while 和 for 的关键区别
do-while 是唯一“先执行、后检查”的循环,而 while 和 for 都是“先检查、再执行”,可能一次都不运行。
- 当初始条件不满足时,while 和 for 直接跳过;do-while 仍会执行一次循环体
- for 更适合已知循环次数或有明确初始化/更新逻辑的场景
- do-while 更自然地表达“重复操作直到满足某条件”,比如菜单选择、输入校验、游戏回合控制
常见易错点和注意事项
初学者容易忽略几个细节,导致逻辑错误或死循环:
- while 后的分号不能漏,否则编译报错或行为异常
- 循环体内必须有能改变判断条件的语句,否则可能无限循环(比如忘记更新变量或读入新值)
- 条件表达式里慎用浮点数直接比较(如 while (x != 1.0)),建议用误差范围判断
- 如果循环体只有一条语句,仍建议加花括号——避免后续扩展时出错,也提升可读性
实用小技巧:配合 break 实现更灵活控制
do-while 本身只有末尾判断,但可在循环体内用 break 提前退出,组合使用更贴近实际需求。
例如实现“输入数字求和,输入负数就停止”:
int sum = 0, n;
do {
cin >> n;
if (n sum += n;
} while (true); // 条件恒真,靠 break 控制出口
这种写法比硬凑一个初始条件更清晰,也更符合人的思维习惯。
基本上就这些。do-while 不复杂但容易忽略分号和条件更新,用对了能让逻辑更直白、代码更健壮。