问题 填空题

设有如下的变量定义:
double x=4.700000;float y=2.5f;int z=7;
则执行表达式“y+z%3* (int) (x+y)%2/4”后的值是 【11】

答案

参考答案:E

解析: 根据算术运算的优先级规则,应先执行z%3* (int) (x+y)%2/4之后,再用其值与 y作加法运算。z%3*(int) (x+y)%2/4的执行顺序为先计算z%3,得值为1,再计算x+y并取整,其值为7,用z%3的值1.与(int) (x+y)的值7相乘得7,再计算7%2得值为1,再计算1/4,由于两个整数相除,其结果为商的整数部分,所以1/4的值为0。最后执行y+0,其结果为2.5。

多项选择题
问答题