C语言位运算练习题一、选择题:(1)以下程序的功能是进行位运算main(){unsignedchara,b;a=7^3;b=~4&3;printf(%d%d,a,b);}程序运行后的输出结果是A)43B)73C)70D)40(2)有以下程序main(){intc=35;printf(%d,c&c);}程序运行后的输出结果是A)0B)70C)35D)1(3)设有定义语句:charc1=92,c2=92;,则以下表达式中值为零的是A)c1^c2B)c1&c2C)~c2D)c1|c2(4)有以下程序main(){unsignedchara,b;a=4|3;b=4&3;printf(“%d%d”,a,b(;}执行后输出结果是A)70B)07C)11D)430(5)有以下程序main(){intx=3,y=2,z=1;printf(%d,x/y&~z);}程序运行后的输出结果是A)3B)2C)1D)0(6)设char型变量x中的值为10100111,则表达式(2+x)^(~3)的值是A)10101001B)10101000C)11111101D)01010101(7)有以下程序main(){unsignedchara,b,c;a=0x3;b=a|0x8;c=b1;printf(“%d%d”,b,c);}程序运行后的输出结果是A)–1112B)–6–13C)1224D)1122(8)以下程序的输出结果是main(){charx=040;printf(%0,x1);}A)100B)80C)64D)32(9)整型变量x和y的值相等、且为非0值,则以下选项中,结果为零的表达式是A)x||yB)x|yC)x&yD)x^y(10)以下程序的输出结果是A)0B)1C)2D)3main(){intx=0.5;charz=’a’;printf(“%d”,(x&1)&&(z’z’));}(11)设intb=2;表达式(b2)/(b1)的值是A)0B)2C)4D)8(12)设有如下定义:intx=l,y=-1;,则语句:printf(%d,(x--&++y));的输出结果是A)1B)0C)-1D)2(13)语句:printf(%d,12&012);的输出结果是A)12B)8C)6D)012(14)下面程序的输出是A)100B)160C)120D)64main(){charx=040;printf(%d,x=x1);}(15)执行下面的程序段intx=35;charz=‘A‘;intb;b=((x&15)&&(z’a’));后,B的值为A)0B)1C)2D)3(16)设有以下语句:chara=3,b=6,c;c=a^b2;则c的二进制值是【16】。A)00011011B)00010100C)00011100D)00011000二、填空题:(1)设二进制数a是00101101,若想通过异或运算a^b使a的高4位取反,低4位不变,则二进制数b应是【1】。11110000