B57
while 与 do-while:按条件循环
引入
章前总览 第11章学习按条件决定是否继续的循环:while(先判断)和 do-while(先执行再判断)。实际做题几乎只用 while;do-while 了解即可。条件永远为真会变成死循环。
逻辑链条:
- C1:while / do-while 写法
- C2:事先请示 vs 先斩后奏
- C3:死循环怎么识别
1 C1. 两种写法
循环体多条语句要用 {}。
对照
// while:先判断
while (表达式)
循环体;
// do-while:先做一次,再判断(末尾分号不能省)
do
循环体;
while (表达式);
while (...);多写的分号会变成空循环体,初学要小心。- 表达式非 0 为真,为 0 结束循环。
2 C2. 区别:取钱比喻
每月取 800 元、不可透支:
对比
while:先查余额够不够再取——“事先请示”。do-while:先取再查——“先斩后奏”,至少取一次。- 若一开始余额就不足 800,do-while 仍会取第一笔,逻辑往往不对。
- 因此:do-while 至少执行一次循环体;条件一开始就不成立时要特别小心。
3 C3. 永真循环 / 死循环
条件永远为真,循环永不结束。for 也可能死循环,不是 while 独有。
常见原因
- 忘了在循环里修改循环变量(如注释掉
i++)。 - 运行时一直无输出、光标闪烁:可能在等输入,也可能死循环——试着再输入,没反应多半是死了。
- 永真循环可用,但通常要配合
break(第13章),务必谨慎。
小结
选型口诀:
不知道次数、看条件 → while
必须先做一次再判断 → do-while(少用)
循环里记得改条件相关的变量!
✓
里程碑达成:
下一节用 while 重做求幂、奇数和,并统计整数位数。