通常一个程序会有不同的写法,例如上篇里面华氏度和摄氏度的转换,可以这样写
1 2 3 4 5 6 7 8 9 10 11 |
#include <stdio.h> int main(void) { int fahr; for (fahr = 0; fahr <= 300; fahr = fahr + 20) printf("%3d %6.1f\n", fahr, (5.0 / 9.0) * (fahr - 32)); return 0; } |
这个程序和上一个看起来很不一样,最明显的是它没有了许多变量。用于控制的最小数和最大数还有步长全部在for语句里面。
每个表达式都有值
另一个变化,我们发现本来应该是变量的地方,我们用了
1 |
(5.0 / 9.0) * (fahr - 32)) |
来代替。因为每一个表达式都有值。printf此处需要一个float类型,任何值是float的表达式都可以出现在这里。
for循环
for语句也是一种循环。它的执行过程如下
在最开始,fahr = 0 执行一次。在整个循环中他仅仅执行这一次
然后第二部分 fahr <= 300 是判断部分,如果内容为真,则执行循环体。如果为假,循环结束。
第二句为真且执行循环体后,开始执行第三个语句 fahr = fahr + 20
第三个语句执行完后继续判断第二条语句。
和while类似,循环体也要在{}里面。
for和while的选择
for和while可以互换。通常用于已知循环次数的循环用for 对于不知道循环次数的循环用while