设有以下语句:int a=3, b=6,c; c=a^b2; 执行后c的低8位二进制值是()。A、00011011B、00010100C、00011100D、00011000

题目

设有以下语句:int a=3, b=6,c; c=a^b<<2; 执行后c的低8位二进制值是()。

  • A、00011011
  • B、00010100
  • C、00011100
  • D、00011000
参考答案和解析
正确答案:A
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

设有:int a=1,b=2,f;, 执行语句 f=(a!=b)?a+b:a-b;后,f的值是( )。

A.-1

B.1

C.2

D.3


参考答案:D

第2题:

设有以下语句 char x=3,y=6,Z; z=x^y<<2; 则z的二进制值是

A.00010100

B.00011011

C.00011100

D.00011000


正确答案:B
解析: 本题考查两个位运算符。
按位异或运算符“^’是双目运算符,其功能是参与运算的两数各对应的二进位相异或,当两对应的二进位相异或时,结果为1。
左移运算符“”是双目运算符,其功能是把“”左边的运算数的各二进位全部左移若于位,由“”右边的数指定移动的位数,高位丢弃,低位补0,并且“”运算符的优先级高于“^’。

第3题:

设有语句“int a=12; a+=a*a;”,则执行结束后, a的值为( )。


正确答案:156

第4题:

设有以下语句char x=3,y=6,z;z=x^y<<2;则z的二进制值是A.00010100 B.00011011 C.00011100 D.00011000


正确答案:B
本题主要考查位运算。“按位异或”运算(^)是双目运算符,其功能是把参与运算的两数各对应的二进制位相异或,它在操作时,两对应位相同结果为0,不同则为1。“左移”运算(<<)的功能是把“<<”左边的运算数的各二进制位全部左移若干位,由“<<”右边的数指定移动的位数,高位丢弃,低位补0。左移时,若左端移出的部分不包含有效二进制数1,则每左移一位,相当于移位对象乘以2。
本题中,有三个字符型的变量x,y,z,其中x和y的值分别为3和6。先转换为二进制数分别为00000011和00000110。本题中需要注意的是逻辑左移运算符的优先级比按位异或运算符的优先级高,因此,先将y进行运算逻辑左移2位操作,得到的结果为00011000,然后进行按位异或运算,得到最后的结果是00011011。本题正确的答案选B。

第5题:

设有以下语句: int a=1,b=2,c; c=a^(b<<2); 执行后,c的值为( )。

A.6

B.7

C.8

D.9


正确答案:D
本题考查两个知识点,按位异或左移把b左移2位化成二进制c=a(b<<2)=a^(000010<<2)=a^001000=0000001^O01000=9,故选择D。

第6题:

设有以下语句:

char x=3,y=6,z;

z=x^y<<2;

则z的二进制值是

A.00010100

B.00011011

C.00011100

D.00011000


正确答案:B

第7题:

设有以下语句: int a=1,b=2,c; c=a^(b<<2); 执行后,C的值为( )。

A.6

B.7

C.8

D.9


正确答案:D
解析:b=2表示的二进制数为00000010,经过移位操作得到00001000,异或操作”a^(00001000)”得到00001001,即十进制数9。

第8题:

设有以下语句int a=1,b=2,c;c=a ^ (b<<2);执行后, C 的值为

A)6

B)7

C)8

D)9


正确答案:D
(28)D) 解析 : ^ 为按位异或运算符 ;<< 为左移运算符 。 b<<2 二进制左移两位 , 后得 8, 与 a 进行或运算后 , 得 9 。

第9题:

设有下列语句 int a=1,b=2,c; c=a^(b《2); 执行后,C的值为( )。

A.6

B.7

C.8

D.9


正确答案:D
解析: 变量b的初值等于2,所以表达式b2表示b的值二进制左移两位,即扩大4倍,所以变量b的等于8。然后与a的值1进行异或运算,得9。

第10题:

设有下列语句int a=1,b=2,c;c=ab(b<<2);执行后,C的值为( )。

A.6

B.7

C.8

D.9


正确答案:D
解析:变量b的初值等于2,所以表达式b2表示b的值二进制左移两位,即扩大4倍,所以变量b的等于8。然后与a的值1进行异或运算,得9。