《C语言模拟题14-位运算.doc》由会员分享,可在线阅读,更多相关《C语言模拟题14-位运算.doc(4页珍藏版)》请在金锄头文库上搜索。
1、第十五部分:位运算 一、选择题: (1)以下程序的功能是进行位运算 main() unsigned char a, b; a=73; b= 4 & 3; printf(%d %dn,a,b); 程序运行后的输出结果是 A)4 3 B)7 3 C)7 0 D)4 0 (2)有以下程序 main() int c=35; printf(%dn,c&c); 程序运行后的输出结果是 A) 0 B) 70 C) 35 D) 1 (3) 设有定义语句:char c1=92,c2=92;,则以下表达式中值为零的是 A) c1c2 B) c1&c2 C) c2 D) c1|c2 (4) 有以下程序 main(
2、) unsigned char a,b; a=4|3; b=4&3; printf(“%d %dn”,a,b(; 执行后输出结果是 A) 7 0 B) 0 7 C) 1 1 D) 43 0 (5) 有以下程序 main() int x=3, y=2,z=1; printf(%dn,x/y&z); 程序运行后的输出结果是 A) 3 B) 2 C) 1 D) 0 (6) 设char型变量x中的值为10100111,则表达式(2+x)(3)的值是 A) 10101001 B) 10101000 C) 11111101 D) 01010101 (7) 有以下程序 main() unsigned cha
3、r a,b,c; a=0x3; b=a|0x8; c=b1; printf(“%d%dn”,b,c); 程序运行后的输出结果是 A) 11 12 B) 6 13 C) 12 24 D) 11 22 (8) 以下程序的输出结果是 main() char x=040; printf(%0n,x1); 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) 3 main() int x=0.5;
4、 char z=a; printf(“%dn”, (x&1)&(z2)/(b1)的值是 A) 0 B) 2 C) 4 D) 8 (12) 设有如下定义:int x=l,y=-1;,则语句:printf(%dn,(x-&+y);的输出结果是 A) 1 B) 0 C) -1 D) 2 (13) 语句:printf(%d n,12 &012);的输出结果是 A) 12 B) 8 C) 6 D) 012 (14) 下面程序的输出是 A) 100 B) 160 C) 120 D) 64 main() char x=040; printf(%dn,x=x1); (15) 执行下面的程序段 int x=35
5、; char z=A; int b; B=(x&15)&(za); 后,B的值为 A) 0 B) 1 C) 2 D) 3 (16) 设有以下语句: char a=3,b=6,c; c=ab2; 则c的二进制值是 【16】 。 A) 00011011 B)00010100 C)00011100 D)00011000 二、填空题: (1) 设二进制数a是00101101,若想通过异或运算ab使a的高4位取反,低4位不变,则二进制数b应是 【1】 。 答案: 一、选择题: 01) A 02) C 03) A 04) A 05) D 06) B 07) D 08) A 09) D 10) B 11) D 12) B 13) B 14) D 15) B 16) A