【发布时间】:2017-03-08 23:53:18
【问题描述】:
for 和 while 语句之间有区别吗?只是语法吗?
#include <stdio.h>
void main() {
int cent_temp = 0;
int fah_temp;
while (cent_temp <= 20) {
fah_temp = (9 * cent_temp) / 5 + 32;
printf("%d degrees C = %d degrees F\n", cent_temp, fah_temp);
cent_temp++;
}
}
这对我来说意味着......
当cent_temp 的值小于20 时,计算fah_temp。然后将cent_temp 的值增加1 并检查它是否仍然小于20;然后再循环一次。
关于语法:
printf("%d degrees C = %d degrees F\n", cent_temp, fah_temp);
这表示%d 表示打印到屏幕,用十进制数替换cent_temp 的值,%d 表示用十进制数替换fah_temp 的值。
#include <stdio.h>
void main() {
int cent_temp;
int fah_temp;
for (cent_temp = 0; cent_temp <= 20; cent_temp++) {
fah_temp = (9 * cent_temp) / 5 + 32;
printf("%2d degrees C = %2d degrees F\n", cent_temp, fah_temp);
}
}
我对上面的解释是:
对于cent_temp = 0 重复而cent_temp 小于20 然后在最后执行cent_temp+1。所以cent_temp0 进入循环计算fah_temp 并打印到屏幕上。然后cent_temp 上升一个然后再次循环。在这里,我使用 %2d 而不是 %d 来表示它应该有 2 个空格来表示十进制数(并且在执行时它们会对齐)。如果cent_temp > 20,这两个代码都不会执行。
在do while 循环中类似地重新排列语句具有类似的效果,并且对结果没有真正的影响。
每种类型的循环都有不同的应用吗?
如有错误请指正!
【问题讨论】:
-
你可能想看看一本好的 C 书。他们中的大多数详细说明了不同循环的作用,特别是
for语句的作用(这确实是语法糖)。他们还应该详细说明每个陈述更适合的地方。编写人类可读的代码。注意:do循环确实不同!
标签: c