1.1 入门-1.2 变量表达式
1.1入门
练习 1-1
练习1-2
#include<stdio.h> int main(void) { printf("Hello, "); printf("world"); printf("\c"); return 0; }
出现一个warning:unknown escape sequence:'\c'.编译器不认识'\c'。程序可以执行,输出“Hello,worldc"
1.2变量与算术表达式
使用公式 C = (5/9) (F - 32)打印华氏温度和摄氏温度对照表
1 #include<stdio.h> 2 3 int main(void) 4 { 5 int fahr, celsius; 6 int lower, upper, step; 7 8 lower = 0; /*温度表的下限*/ 9 upper = 300; /*温度表的上限*/ 10 step = 20; /*步长*/ 11 12 fahr = lower; 13 while (fahr <= upper) { 14 celsius = 5 * (fahr - 32) / 9; 15 printf("%d\t%d\n", fahr, celsius); 16 fahr = fahr + step; 17 } 18 19 return 0; 20 }
运行结果:
0 -17
20 -6
40 4
60 15
80 26
100 37
120 48
140 60
160 71
180 82
200 93
220 104
240 115
260 126
280 137
300 148
1.int通常是16位,取值范围是 -32768~32767之间,也有32位的。float一般是32位,取值范围一般在10e-38~10e38之间。
2.程序不写成celsius = (5/9)*(fahr-32)是因为5/9,会执行舍位,结果的小数部分会被舍去。
3.程序运行的修改
1)结果不是右对齐,不是很美观。修改: 在输出的时候printf("%3.0f %6.1f\n", fahr, celsius);
2)都是整型数值运算,会执行舍位,结果不太精确。修改:将fahr和celsius定义为float,公式改为(5.0/9.0)*(fahr - 32.0)
注意: 1)两操作数都是整型,会以整型舍入,并不会因为整个式子为浮点型而改变。故公式要写成(5.0/9.0)而不能写成(5/9)。
2)%3.0f不可以写成%3f,那样会默认显示6位小数。
练习1-3 修改温度转换程序,使之能在转换表的顶部打印一个标题。
练习1-4 编写一个程序打印摄氏温度转换为相应的华氏温度的转换表。