设有声明int x=1,y=2,z=3;下面表达式的值为0的有()A.x<<z B.z>>2 C.y^y D.x&yE.z&y&x为什么

是多选题来的~

- -完整的是BCDE
B 右移2位,相当于除以4, 3/4 因为是int类型的,所以等于0
C 异或操作 y ^ y 相同等于0
D 1&2 等于0 10
& 01
00

E 1&2&3 等于0 00
&11
00追问

好的,谢谢~

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-01-14
应该是D、E

A左移2,相对于 1 * 2,B右移2,相对于3/2,C异或时还是y=2,追问

异或不是等于0吗

追答

0^1 =1,0^0=0,1^1=1

...x=1,y=2,z=3;下面表达式的值为0的有()A.x<<z B.z>>2 C.y^y D.x...
B 右移2位,相当于除以4, 3\/4 因为是int类型的,所以等于0 C 异或操作 y ^ y 相同等于0 D 1&2 等于0 10 & 01 00 E 1&2&3 等于0 00 &11 00

...下面表达式的值为0的有( ) A.x&y&z B.x¦y¦z C.x^x+y^y D.z>>...
答案: ACDE 1是 0x0001,2是0x0010,3是0x0011。x & y = 0, x & y & z = 0。 所以A对。x | y = 3, x | y | z = 3。 所以B错。自己 ^ 自己 = 0, 所以 C对。D 3 >> 2 向右移2位,结果是0。 所以D对。E x & 0xff00 = 0. 所以E对。

设x=1,y=2,z=3;则执行表达式 a = ++x || ++y && ++z 后a的值为: x的...
答案是x = 2 y=2 z=3 因为第一个运算符是|| 而一旦||左边的值为真,则其余部分将不被计算,因为不会影响最终的结果

int x=1,y=2,z=3; x+=y+=z; 的表达式结果是什么?怎么分步计算? (z>=y...
首先,是表达式y+=z,计算后y=5,z=3,表达式y+=z的值为5 最后,是表达式x+=(y+=z);因为y+=z;这个表达式已经为5了,所以x+=y+=z;可以等价为x+=5,所以最后的结果就6 这个问题主要是需要理解表达式的概念,你可以上网搜一下 第二个问题 (z>=y==z)中>=的优先级高于==,并且是左到...

若有x=1,y=2,z=3,则表达式(x<y?x:y)==z++的值是_
(x<y?x:y)==z++的值是:x<y?x:y 是三元运算 ,值为:1;而z==3;所以1!=3;所以结果为false!!!

int x=1,y=2,z=3;则表达式z+=x>y?++x:++y的值是?
【执行过程】表达式z+=x>y?++x:++y等价于z=z+(x>y?++x:++y).变量赋值后即为z=3+(1>2?++1:++2),1)由于1>2为假(即表达式结果为0),因此返回表达式++y;2)执行++y.++y是先对y变量执行自加,在返回自加后结果,即为3(即为(x>y?++x:++y)的结果).3)执行z+=.将(x>y?++x:...

...x=1、y=2、z=3,则执行以下if语句后,x、y、z中的值分别是?
继续执行z=y,这里的y=1,就有x=3,y=z=1.所以,如果条件成立,x=3,y=z=1.但是你的条件明显不成立,如果没有else语句另外赋值,那么它们还都是原来的值,即x=1,y=2,z=3.———以上仅供参考,结果有误———残荷影 提供的为正确结果。

若有x = 1,y = 2,z = 3,则表达式(x < y x :y)= = z++的值是多少
答案为0 这是逻辑运算 x=表达式1?表达式2:表达式3 其意义是:先求解表达式1,若为非0(真),则求解表达式2,将表达式2的值赋给x.若表达式1的值为0(假),则求解表达式3,将表达式3的值赋给x 顺序由右到左的逻辑运算 所以 X

设int x=3,y=4,z=5;下列表达式中值为0的是( ) A.x&&y B.x
选D 分析:这是个逻辑关系运算,结果只有0或1.A.x&&y=3 &&4=1;B.x

设x=1,y=2,z=3,u=false,表达式u=y>z^x!=z的结果为___.
这个题目考的是运算符优先级的问题 赋值运算符的优先级最低,比较运算符的优先级比异或运算符的优先级高,因此,上面的表达式加上括号后为:u = ((y>z)^(x!=z)),这样的话,u=((2>3)^(1!=3)) ==〉u=(false^true) ==> u = true;因此,最终结果为true.

相似回答