2011年计算机等级二级C语言章节习题及答案(12)
第12章 位运算
一、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上。)
12.1 表达式0x13^0x17的值是
A)0x04
B)0x13
C)0xE8
D)0x17
正确答案: A
12.2 设有以下语句:
char x=3,y=6,z;
z=x^y<<2;
则z的二进制值是
A)00010100
B)00011011
C)00011100
D)00011000
正确答案: B
12.3 在位运算中,操作数左移一位,其结果相当于
A)操作数乘以2
B)操作数除以2
C)操作数除以4
D)操作数乘以4
正确答案: A
12.4 在位运算中,操作数右移一位,其结果相当于
A)操作数乘以2
B)操作数除以2
C)操作数乘以4
D)操作数除以4
正确答案: B
12.5 以下程序的输出结果是
main()
{ char x=040;
printf("%o\n",x<<1);
}
A)100
B)80
C)64
D)32
正确答案: A
12.6 已知 int a=1,b=3则a^b的值为
A)3
B)1
C)2
D)4
正确答案: C
12.7 下面程序段的输出为
#include "stdio.h"
main()
{ printf("%d\n",12<<2);}
A)0
B)47
C)48
D)24
正确答案: C
12.8 下面程序段的输出为
#include "stdio.h"
main()
{ int a=8,b;
b=a|1;
b>>=1;
printf("%d,%d\n",a,b);
}
A)4,4
B)4,0
C)8,4
D)8,0
正确答案: C
二、填空题(请将每一个空的正确答案写在答题卡相应序号后。)
12.9 设二进制数A是00101101,若想通过异或运算A^B使A的高4位取反,低4位不变,则二进制数B应是【1】 。
正确答案: 11110000
12.10 若已知a=10,b=20,则表达式!a