练习1-5 修改温度转换程序,要求以逆序(即按照从300度到0度的顺序)打印温度转换表。
代码如下:
#include <stdio.h> // 包含标准库的信息。 int main() // 定义名为main的函数,它不接受参数值。 { float fahr; // 华氏度。 float celsius; // 摄氏度。 int lower, upper, step; lower = 0; // 温度表的下限。 upper = 300; // 温度表的上限。 step = 20; // 步长。 // 在顶部打印标题。 printf("%3s %6s ", "c", "f"); // 从温度表的上限开始转换。 for (celsius = upper; celsius >= 0; celsius = celsius - step) { // 转换算法,摄氏度专为华氏度。 fahr = (9.0 / 5.0) * celsius + 32.0; // 摄氏度显示时占至少3个字符宽,并省略小数部分; // 华氏度显示时占至少6个字符宽,并取一位小数; printf("%3.0f %6.1f ", celsius, fahr); } getch(); // 防止控制台一闪而过,需要接受任意字符后在关闭控制台。 return 0; // 向执行环境返回一个整形,0代表执行成功。 }
个人理解:
练习的目的在于掌握for循环的用法。
在实际编程过程中,可以选择while与for中的任意一种循环语句,主要要看使用哪一种更庆喜。
for语句比较适合初始化和增加步长都是单条语句并且逻辑相关的情形,因为它将循环控制语句集中放在一起,且比hile语句更紧凑。