C语言位运算练习题1

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言位运算练习题

一、选择题:

(1)以下程序的功能是进行位运算

main()

{ unsigned char a, b;

a=7^3; 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)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) 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中的值为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) –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) 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) 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) 64

main()

{ 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=a^b<<2;

则c的二进制值是【16】。

A) 00011011

B)00010100

C)00011100

D)00011000

二、填空题:

(1) 设二进制数a是00101101,若想通过异或运算a^b使a的高4位取反,低4位不变,则二进制数b应是【1】。

11110000

相关文档
最新文档