C语言中的for语句

服务器君一共花费了12.586 ms进行了6次数据库查询,努力地为您提供了提供了这个页面。

对于某个特定任务我们可以采用多种方法来编写程序。下面这段代码也可以实现前面的温度转换程序的功能:

#include <stdio.h>
/*打印华氏温度—摄氏温度对照表*/
main()
{
	int fahr;
	for (fahr = 0; fahr <= 300; fahr = fahr + 20)
		printf("%3d %6.1f\n", fahr, (5.0/9.0)*(fahr-32));
}

这个程序与上节中介绍的程序执行结果相同,但程序本身却有所不同。最主要的改进在于它去掉了大部分变量,而只使用了一个 int 类型的变量 fahr。在新引入的 for 语句中,温度的下限、上限和步长都是常量,而计算摄氏温度的表达式现在变成了 printf 函数的第三个参数,它不再是一个单独的赋值语句。

以上几点改进中的最后一点是 C 语言中一个通用规则的实例:在允许使用某种类型变量值的任何场合,都可以使用该类型的更复杂的表达式。因为 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()
{
	int i;
	int fahr;
	for (fahr = 300; fahr >= 0; fahr = fahr - 20)
		printf("%3d %6.1f\n", fahr, (5.0/9.0)*(fahr-32));

	scanf("%d", &i);
}

Creative Commons License

本文仅供自己学习与收藏之用,请勿转载,请勿用作其它用途(如商业目的等)。 原文链接:http://www.nowamagic.net/librarys/posts/c/154