先判断还是先执行
约 10 分钟
两种循环的区别在于"先判断还是先执行":
while (条件) {...}:先判断,条件一开始就为假,就一次都不跑(0 次)。do {...} while (条件);:先执行一次,再判断,所以哪怕条件一开始就为假,也至少跑 1 次。
int x = 10;
while (x < 5) cout << "A"; // 条件为假:一次都不打印
do cout << "B"; while (x < 5); // 先打一个 B 再判断
// 输出:B
给一个开局就是假的条件,while 跑 0 次,do-while 跑 1 次——这是考试里最经典的对比点。
记法:do-while 是"无论如何先做一遍",常用于"至少处理一次、再看要不要继续"的场景,比如先读一个输入再判断是否结束。两个坑:一是 do-while 的 while 后面有个分号 ;,漏了会编译错;二是别把两者混淆,题目问"至少执行几次"时,while 可能是 0、do-while 一定 。for 和 while 一样都是先判断型。
小纸条
条件一开始就是假,两种循环各跑几次?
登录 后可看答案