若有定义:int a=7;float x=2.5,y=4.7;则表达式 x+a%3*(int)(x+y)%2 的值是

2021年9月6日 | 分类: 【编程】

【题目】

若有定义: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