3.5 while 循环语句与 for 语句
在这一节中,我们请自行回顾 Chap1 里使用 while 和 for 循环的例子。

上述说明可以看成是一个惯例,下面两个具体使用 while 和 for 的例子证实了这一点。
3.5.1 while 循环
while (条件) {
// 循环体,当条件为真时执行
}
可以回看 1.2 节,温度转换的例子。
#include <stdio.h>
int main()
{
int fahr, cel;
int lower, upper, step;
lower = 0; // 最低温度
upper = 300; // 最高温度
step = 20; // 步长
fahr = lower;
while (fahr <= upper)
{
cel = 5 * (fahr - 32) / 9;
printf("%d\t%d\n", fahr, cel);
fahr = fahr + step;
}
return 0;
}
➜
0 -17
20 -6
40 4
60 15
80 26
100 37
120 48
140 60
160 71
180 82
200 93
220 104
240 115
260 126
280 137
300 148
3.5.2 for 循环
for (初始化; 条件; 更新) {
// 循环体,当条件为真时执行
}
可以回看 1.3 节,温度转换的例子。
#include <stdio.h>
int main()
{
int fahr, cel;
int lower, upper, step;
lower = 0; // 最低温度
upper = 300; // 最高温度
step = 20; // 步长
for (fahr = lower; fahr <= upper; fahr = fahr + step)
{
cel = 5 * (fahr - 32) / 9;
printf("%d\t%d\n", fahr, cel);
}
return 0;
}
使用 for 的惯用法:
for (i=0;i<n;i++)
...
处理数组前 n 个元素
3.5.3 for 和 while 的转化
♻️ 我们可以尝试把一个 for 循环转化成一个 while 循环,也可以倒过来。
3.5.4 for 的几个惯用法 idioms
从 0 向上加到 n-1:
for (i=0;i<n;i++)
从 1 向上加到 n:
for (i=1;i<=n;i++)
从 n-1 向下减到 0:
for (i=n-1;i>=0;i--)
从 n 向下减到 1:
for (i=n;i>0;i--)
Last updated
Was this helpful?