若有定义:“int a=4,b=5;float x=3.4,y=2,1;”,则下列表达式的值为( )。 (float)(a+b)/2+(int)x%(int)y;

admin2013-02-23  45

问题 若有定义:“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+h)/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。
转载请注明原文地址:https://jikaoti.com/ti/3Nn0FFFM
0

最新回复(0)