1.2 变量与算数表达式
使用公式℃=(5/9)(℉-32)打印华氏温度与摄氏温度对照表.

1 #include<stdio.h> 2 main() 3 { 4 int fahr, celsius; 5 int lower, upper, step; 6 7 lower = 0; 8 upper = 300; 9 step = 20; 10 fahr = lower; 11 while (fahr<=upper) 12 { 13 celsius = 5 * (fahr - 32) / 9; 14 printf("%d\t%d\n", fahr, celsius); 15 fahr = fahr + step; 16 } 17 }
在C语言中,所有变量必须先声明后使用.声明通常放在函数的其实处,在任何可执行语句之前.声明用于说明变量的属性,它由一个类型名和一个变量表组成.例如:
int fahr, celsius; int lower, upper, step;
int类型通常为16位,取值范围-32767~32768.
float类型通常为32位,至少有6位有效数字取值范围10-38~1038.
celsius = 5 * (fahr - 32) / 9;
之所以将表达式写成先乘5然后再除以9而不是直接写成5/9,其原因是在C语言及许多其他语言中,整数除法操作将执行舍位,结果中的任何小数部分都会被舍弃.5/9的结果为0.
上述程序有两个问题:
1.由于输出不是右对齐的,所以输出结果不是很美观.如果在%d中指明打印宽度,则打印的数字会在打印区域内右对齐.
printf("%3d %6d\n", fahr, celsius);

2. 由于使用整型算数运算,因此经计算得到的摄氏温度不精确,为了得到更精确的结果,应该用覅点算术运算代替整数算数运算.
1 #include<stdio.h> 2 main() 3 { 4 float fahr, celsius; 5 int lower, upper, step; 6 7 lower = 0; 8 upper = 300; 9 step = 20; 10 fahr = lower; 11 while (fahr<=upper) 12 { 13 celsius = (5.0 / 9.0)* (fahr - 32.0 ); 14 printf("%3.0f %6.1f\n", fahr, celsius); 15 fahr = fahr + step; 16 } 17 }

%3.0f表明浮点数至少占3个字符宽,且不带小数点和小数部分.%6.1f表明浮点数至少占6个字符宽,且小数点后面有1位数字.

浙公网安备 33010602011771号