while / do-while
while 先判断再执行;do-while 先执行一次再判断。关键是要保证能停下来。
1. 完整例子
| 1 | int n = 3; |
| 2 | while (n > 0) { |
| 3 | printf("n=%d\n", n); |
| 4 | n--; |
| 5 | } |
| 6 | |
| 7 | int x = 10; |
| 8 | do { |
| 9 | printf("至少跑一次\n"); |
| 10 | } while (x < 5); // 只打印一次 |
2. 概念:循环三要素
- 起始状态
- 继续条件
- 向结束推进的更新(n-- / i++ / 读新数据)
3. 实际例子:猜数字风格等待
| 1 | int target = 5; |
| 2 | int guess = 0; |
| 3 | while (guess != target) { |
| 4 | /* 这里本应读入 guess;练习时可先写死 */ |
| 5 | break; // 避免死循环的保护 |
| 6 | } |