资源描述:
《学习情境八位运算习题.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、学习情境八 位运算习题一、填空题1.位运算是对运算量的_____________位进行运算。2.位运算符只对_______和___________数据类型有效。3.位运算符连线:~按位异或<<按位与&按位取反^左移位4.在六个位运算符中,只有_________是需要一个运算量的运算符。5.按位异或的运算规则是:________________________________________。6.C语言中,位运算符有_____、______、______、____、>>、<< ,共六个。7.以下程序段的输出结果是___________。intx=-1;x=
2、x
3、0377;printf(“%d,%o”,x,x);8.设有一个整数a,b;若要通过a^b运算,使a的高8位翻转,低8位不变,则b的八进制数是:__________________。9.设二进制数a是00101101,若想通过异或运算a^b使a的高4位取反,低4位不变,则二进制数b应是_____________。10.设有一个整数a,b;若要通过a&b运算屏蔽掉a中的其他位,只保留第2和8位,则b的八进制数是:__________________。11.如果想使一个数a的低4位全改为1,需要a与____________进行按位或运算。二、选择题1.
4、以下运算符中优先级最低的是(),运算符中优先级最高的是()。A.&&B.&C.
5、
6、D.
7、 2.表达式0x13&0x17的值是()。A.0x17B.0x13C.0xf8D.0xec 3.若x=2,y=3,则x&y的结果是()。A.0B.2C.3D.5 4.表达式0x13
8、0x17的值是()。A.0x17B.0x13C.0xf8D.0xec5.设inta=4,b;则执行b=a<<2;后,b的结果是:()。A.4B.8C.16D.32 6.若有运算符<<,sizeof,^,&=则他们按优先级由高到低的正确排列次序是()。A.sizeof,&=,<<,^B.si
9、zeof,<<,^,&=C.^,<<,sizeof,&=D.<<,^,&=,sizeof7.设有以下语句,则c的二进制数是();十进制数是:()。chara=3,b=6,c;c=a^b<<2;A.00011011B.00010100C.00011100D.00011000A.27,B.20C.28D.248.以下叙述中不正确的是()。A.表达式a&=b等价于a=a&bB.表达式a
10、=b等价于a=a
11、bC.表达式a!=b等价于a=a!bD.表达式a^=b等价于a=a^b9.以下运算符中,优先级最高的是()。A.~B.
12、C.&&D.*10.在位运算中,运算量
13、每右移动一位,其结果相当于()。A.运算量乘以2B.运算量除以2C.运算量除以4D.运算量乘以411.表达式~0x13的值是()。A.0xFFEcB.0xFF71C.0xFF68D.0xFF1712.请选择以下程序的执行结果:()、()、()。#includemain(){inta=0234;charc=’A’;printf(“%o”,~a);printf(“%o”,a&c);printf(“%o”,a
14、c);A.177543B.177C.175437D.17543A.0B.1C.163D.24A.35B.335C.53D.
15、53313.有以下程序main(){unsignedchara,b,c;a=0x3;b=a
16、0x8;c=b<<1;printf(“%d%d”,b,c);}程序运行后的输出结果是()。A.–11,12B.–6,–13C.12,24D.11,2214.以下程序的输出结果是()。main(){charx=040;printf("%o",x<<1);}A.100B.80C.64D.3215.整型变量x和y的值相等、且为非0值,则以下选项中,结果为零的表达式是()。A.x
17、
18、yB.x
19、yC.x&yD.x^y16.设char型变量x中的值为10100111,
20、则表达式(2+x)^(~3)的值是()。A.10101001B.10101000C.11111101D.01010101三、编程题1.设计一个函数。当给出一个数的原码,能得到该数的补码。2.取一个整数最高端的3个二进制位。3.编写一个函数getbits,从一个16位单元中取出某几位(即该几位保留原值,其余为0),位数由输入者定。