设有定义: int x=1,y=3; 分别单独计算下列表达式后,( )的计算结果可使x的值不等于6。 A. x=y+(int)6.9/2 B. x=y+2,x+y C. x-=-(--y+3) D. x=y%2 ? 2 * y : ++y
时间: 2023-02-06 14:19:05 浏览: 205
A. x=y (int)6.9/2
计算结果:x=3 (int)6.9/2=3
B. x=y 2,x y
计算结果:x=2,y=3
C. x-=-(--y 3)
计算结果:x=4
D. x=y%2 ? 2 * y : y
计算结果:x=3
由于 x=3 在计算结果中不等于 6,所以答案是 D.
相关问题
若有定义:intx=3,y=2;1oat a=2.5,6=3.5;则表达式 (x+y) %2+ (int)a/ (int) b\的值为()
题目中给出的定义是int x=3, y=2; float a=2.5, b=3.5;,其中有一个笔误,将变量 b 写成了 6。
根据 C 语言的运算符优先级,先进行括号内的运算,再进行求余和整除运算,所以表达式的计算顺序为:
1. x + y,即 3 + 2,结果为 5。
2. 将步骤 1 的结果对 2 求余,即 5 % 2,结果为 1。
3. 将 a 和 b 强制转换为 int 类型,即将 2.5 转换为 2,将 3.5 转换为 3。
4. 将步骤 3 中的结果相除,即 2 / 3,结果为 0。
5. 将步骤 2 和步骤 4 的结果相加,即 1 + 0,结果为 1。
所以,表达式的值为 1。
假设有数据定义:int x=5,y=18;请分别给出下面表达式的计算结果。 1)y=x+=5×3 (1) 2)1<=x<=20 (2) 3)x=y,y=x (3) 4)x<y或y<x (4) 5)!x==!y (5)
1) y = x = 5*3 = 15 (结果:x=15, y=15)
2) 1<=x<=20 的结果是 true,因为 x=15 在 1 到 20 的范围内。(结果:true)
3) x=y 的结果是 false,因为 x=15, y=18。(结果:false)
4) x<y 或 y<x 的结果是 true,因为 x=15 比 y=18 小。(结果:true)
5) !x==!y 的结果是 false,因为 !x 的值是 false,!y 的值是 false,所以它俩是相等的。(结果:false)