
一、选择题:
(1)以下程序的功能是进行位运算
main()
{unsigned char a,b;
a=7^3;b=~4&3;
printf("%d%d
}
程序运行后的输出结果是
A)43
B)73
C)70
D)40
(2)有以下程序
main()
{
int c=35;printf("%d
}
程序运行后的输出结果
是
A)0
B)70
C)35
D)1(3)设有定义语句:char c1=92,c2=92;,则以下表达式中值为零的是
A)c1^c2
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)70
B)07
C)11
D)430
(5)有以下程序
main()
{int x=3,y=2,z=1;
printf("%d
}
程序运行后的输出结果是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 char a,b,c;
a=0x3;b=a|0x8;c=b<<1;
printf(“%d%d”,b,c);
}
程序运行后的输出结果是
A)–1112
B)–6–13
C)1224
D)1122
(8)以下程序的输出结果是
main()
{char x=040;printf("%0
}
A)100
B)80
C)
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;char z=’a’;
printf(“%d”,(x&1)&&(z<’z’));}
(11)设int b=2;表达式(b>>2)/(b>>1)的值是
A)0
B)2
C)4D)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)
main()
{char x=040;
printf("%d
(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=a^b<<2;
则c的二进制值是【16】。
A)00011011
B)00010100
C)00011100
D)00011000
二、填空题:
(1)设二进制数a是00101101,若想通过异或运算a^b使a的高4位取反,低4位不变,则二进制数b应是【1】。
11110000
