C语言位运算练习题(共6页).doc
精选优质文档-倾情为你奉上C语言位运算练习题一、选择题:(1)以下程序的功能是进行位运算 main() unsigned char a, b; a=73; b= 4 & 3; printf("%d %d ",a,b); 程序运行后的输出结果是A)4 3 B)7 3 C)7 0 D)4 0(2)有以下程序main() int c=35; printf("%d ",c&c);程序运行后的输出结果是 A) 0B) 70C) 35D) 1(3) 设有定义语句:char c1=92,c2=92;,则以下表达式中值为零的是A) c1c2 B) c1&c2 C) c2 D) c1|c2(4) 有以下程序main( ) unsigned char a,b; a=4|3; b=4&3; printf(“%d %d ”,a,b(;执行后输出结果是A) 7 0 B) 0 7 C) 1 1 D) 43 0(5) 有以下程序main() int x=3, y=2,z=1;printf("%d ",x/y&z);程序运行后的输出结果是A) 3 B) 2 C) 1 D) 0(6) 设char型变量x中的值为,则表达式(2+x)(3)的值是A) B) C) D) (7) 有以下程序main() unsigned char a,b,c;a=0x3; b=a|0x8; c=b<<1;printf(“%d%d ”,b,c);程序运行后的输出结果是A) 11 12 B) 6 13 C) 12 24 D) 11 22(8) 以下程序的输出结果是main() char x=040; printf("%0 ",x<<1);A) 100 B) 80 C) 64 D) 32(9) 整型变量x和y的值相等、且为非0值,则以下选项中,结果为零的表达式是A) x | y B) x | y C) x & y D) x y(10) 以下程序的输出结果是A) 0 B) 1 C) 2 D) 3main() int x=0.5; char z=a; printf(“%d ”, (x&1)&&(z<z) ); (11) 设 int b=2;表达式(b>>2)/(b>>1)的值是A) 0 B) 2 C) 4 D) 8(12) 设有如下定义:int x=l,y=-1;,则语句:printf("%d ",(x-&+y);的输出结果是A) 1 B) 0 C) -1 D) 2(13) 语句:printf("%d ",12 &012);的输出结果是A) 12 B) 8 C) 6 D) 012(14) 下面程序的输出是A) 100 B) 160 C) 120 D) 64main() char x=040;printf("%d ",x=x<<1);(15) 执行下面的程序段int x=35;char z=A;int b;b=(x&15)&&(z<a);后,B的值为A) 0 B) 1 C) 2 D) 3(16) 设有以下语句:char a=3,b=6,c;c=ab<<2;则c的二进制值是 【16】 。A) B) C) D) 二、填空题:(1) 设二进制数a是,若想通过异或运算ab使a的高4位取反,低4位不变,则二进制数b应是 【1】 。专心-专注-专业