1.2 变量与算数表达式

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

1.2 变量与算数表达式_第1张图片

 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位数字.

 

你可能感兴趣的:(1.2 变量与算数表达式)