假定x和y为double型,则表达式x=2,y=x+3/2的值是A.3.500000 B.3 C.2.000000 D.3.000000
- A3.500000
- B3
- C2.000000
- D3.000000
假定x和y为double型,则表达式x=2,y=x+3/2的值是A.3.500000 B.3 C.2.000000 D.3.000000
本题考查C语言中变量类型的转换。C语言中若参与运算的变量的数据类型不同,则先转换成同一类型,然后进行运算。转换数据始终往长度增加的方向进行,以确保精确度,如int和long运算,则将int转换为long再运算,所有的浮点运算都是以双精度(double)进行的。题目中x、y都为double型数据,而表达式3/2为两个整型变量之间的计算,计算结果只保留整数部分,小数部分省略掉。3/2的结果为1。后面变为计算y=x+1,这时都需要变为double型数据,结果为3.000000。