快速学习C语言中for循环语句的基本使用方法
对于某个特定任务我们可以采用多种方法来编写程序。下面这段代码也可以实现前面的温度转换程序的功能:#include
<stdio.h> /*打印华氏温度—摄氏温度对照表*/ main() { intfahr; for(fahr=0;fahr<=300;fahr=fahr+20) printf("%3d%6.1f\n",fahr,(5.0/9.0)*(fahr-32)); }
温度的下限、上限和步长都是常量, printf函数的第三个参数必须是与%6.1f匹配的浮点值,所以可以在此处使用任何浮点表达式。
for语句是一种循环语句,它是对while语句的推广。如果将for语句与前面介绍的while语句比较,就会发现for语句的操作更直观一些。圆括号中共包含3个部分,各部分之间用分号隔开。第一部分fahr=0是初始化部分,仅在进入循环前执行一次。第二部分fahr<=300是控制循环的测试或条件部分。循环控制将对该条件求值,如果结果值为真(true),则执行循环体(本例中的循环体仅包含一个printf函数调用语句)。此后将执行第三部分fahr=fahr+20以将循环变量fahr增加一个步长,并再次对条件求值。如果计算得到的条件值为假(faise),循环将终止执行。与while语句一样,for循环语句的循环体可以只有一条语句,也可以是用花括号括起来的一组语句。初始化部分(第一部分)、条件部分(第二部分)与增加步长部分(第三部分)都可以是任何表达式。
在实际编程过程中,可以选择whi1e与for中的任意一种循环语句,主要要看使用哪一种更清晰。for语句比较适合初始化和增加步长都是单条语句并且逻辑相关的情形,因为它将循环控制语句集中放在一起,且比while语句更紧凑。
练习:修改温度转换程序,要求以逆序(即按照从300度到0度的顺序)打印温度转换表。
#include<stdio.h> /*打印华氏温度—摄氏温度对照表*/ main() { inti; intfahr; for(fahr=300;fahr>=0;fahr=fahr-20) printf("%3d%6.1f\n",fahr,(5.0/9.0)*(fahr-32)); scanf("%d",&i); }