【题目】
若有定义:int a=7;float x=2.5,y=4.7;则表达式 x+a%3*(int)(x+y)%2 的值是:( )
A. 0.000000
B. 2.750000
C. 2.500000
D. 3.500000
【考点】
运算符的优先顺序。
【解析】
直接带入值进行计算。
\(x+a\%3*(int)(x+y)\%2\)
\(=2.5+(7\%3)\ast\{[int(2.5+4.7)]\%2\}\)
\(=2.5+1\ast\{[int(7.2)]\%2\}\)
\(=2.5+1\ast(7\%2)\)
\(=2.5+1\ast1\)
\(=2.5+1\)
\(=3.5\)
得数值为3.5,但是因为类型是float,所以有效位数为7位,最终输出3.500000
答案选择:D