若有定义:float x=3.5; int z=8; 则表达式x+z%3/4的值是()。
A、3.75 B、3.5 C、3 D、4
在C语言中,取模运算符 `%` 和除法运算符 `/` 的优先级高于加法运算符 `+`。
1. 计算 `z % 3`:`8 % 3` 的结果是 `2`,因为 `8` 除以 `3` 的余数是 `2`。
2. 计算 `2 / 4`:在C语言中,当整数进行除法运算时,结果也会是一个整数。因此,`2 / 4` 的结果是 `0`,而不是 `0.5`。
3. 计算 `x + 0`:最后,我们将 `x`(即 `3.5`)与 `2 / 4` 的结果(即 `0`)相加,得到 `3.5 + 0 = 3.5`。
因此,表达式 `x + z % 3 / 4` 的值是 `3.5`。
z%3=2
2/4=0
x+0=3.5
加减乘除从左到右结合,乘除优先级高于加减
根据运算符优先级,先计算取余运算符%,然后再计算除法运算符/。 z % 3 = 8 % 3 = 2 2 / 4 = 0.5(float类型进行除法运算,结果为float类型) x + 0.5 = 3.5 + 0.5 = 4.0 所以表达式 x+z%3/4 的值是 4.0,选项 D。
WhiteWing 回复 LEK: 你看看答案
应该是x+ (z%(3/4))吧
B
用户登录可进行刷题及查看答案
登录后提交答案