选择题
9.
若有定义“int a=4,b=5; float x=3.4,y=2.1;”,则下列表达式的值为______。
(float)(a+b)/2+(int)x%(int)y;
A、
5.5
B、
55
C、
5.500000
D、
55.00000
【正确答案】
C
【答案解析】
在计算“(float)(a+b)/2”时,由于通过强制类型转换将(a+b)转换成了float型,所以应先将2转换成float型,再进行计算,得4.500000。
在计算“(int)x%(int)y”时,先将x和y通过强制类型转换成int型,再进行求余运算,结果为1。又因为4.500000是float型,所以将1和它相加时,先将1换成。float型,再计算,得到5.500000。
类型转换的一般规则是低级类型从高级类型进行相应的转换。数据类型的级别由低到高的排序表示为:char→int→unsigned→log→float→double。
提交答案
关闭