两个整数的运算的结果只能是整数
10/3*3=>?
10和10.0在C中是完全不同的数
10.0是浮点数
浮点数带小数点的数值。
浮点这个词的本意就是指小数点是浮动的,是计算机内部表达非整数(包含分数和无理数)的一种方式。
另一种方式叫做定点数(小数点位置固定不变,比如说小数点永远只出现在第4位),不过在C语言中不会遇到定点数。
人们借用浮点数这个词来表达所有带小数点的数。
改进:
方法1:
(
f
o
o
t
+
i
n
c
h
/
12
)
∗
0.3048
;
⟹
(
f
o
o
t
+
i
n
c
h
/
12.0
)
∗
0.3048
;
(foot + inch / 12) * 0.3048; Longrightarrow (foot + inch / 12.0) * 0.3048;
(foot+inch/12)∗0.3048;⟹(foot+inch/12.0)∗0.3048;
当浮点数和整数放到一起运算时,C会将整数转换成浮点数,然后进行浮点数的运算。
方法2:
doubleinch是定义为int类型的变量,如果把int改成double,既可以把它改为double类型的浮点数变量了。double的意思是“双”,它本来是“双精度浮点数”的第一个单词,人们用来表示浮点数类型。除了double,还有float(意思就是浮点)表示单精度浮点数。
#includeint main() { printf("请分别输入身高的英尺和英寸," "如输入"5 7"表示5英尺7英寸:"); double foot; double inch; scanf("%lf %lf", &foot, &inch); printf("身高是%f米。n", ((foot+inch/12)*0.3048)); return 0; }
注意:用int的时候输出整数时用**%d**,用double的时候输出整数时用**%lf**



