一、選擇題:
(1)以下程序的功能是進(jìn)行位運(yùn)算
main()
{ unsigned char a, b;
a=7^3; b= ~4 & 3;
printf("%d %d\n",a,b);
}
程序運(yùn)行后的輸出結(jié)果是
A)4 3 B)7 3 C)7 0 D)4 0
(2)有以下程序
main()
{
int c=35; printf("%d\n",c&c);
}
程序運(yùn)行后的輸出結(jié)果是
A) 0
B) 70
C) 35
D) 1
(3) 設(shè)有定義語(yǔ)句:char c1=92,c2=92;,則以下表達(dá)式中值為零的是
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\n”,a,b(;
}
執(zhí)行后輸出結(jié)果是
A) 7 0 B) 0 7 C) 1 1 D) 43 0
(5) 有以下程序
main()
{ int x=3, y=2,z=1;
printf("%d\n",x/y&~z);
}
程序運(yùn)行后的輸出結(jié)果是
A) 3 B) 2 C) 1 D) 0
(6) 設(shè)char型變量x中的值為10100111,則表達(dá)式(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\n”,b,c);
}
程序運(yùn)行后的輸出結(jié)果是
A) –11 12 B) –6 –13 C) 12 24 D) 11 22
(8) 以下程序的輸出結(jié)果是
main()
{ char x=040;
printf("%0\n",x<<1);
}
A) 100 B) 80 C) 64 D) 32
(9) 整型變量x和y的值相等、且為非0值,則以下選項(xiàng)中,結(jié)果為零的表達(dá)式是
A) x || y B) x | y C) x & y D) x ^ y
(10) 以下程序的輸出結(jié)果是
A) 0 B) 1 C) 2 D) 3
main()
{ int x=0.5; char z=’a’;
printf(“%d\n”, (x&1)&&(z<’z’) ); }
(11) 設(shè) int b=2;表達(dá)式(b>>2)/(b>>1)的值是
A) 0 B) 2 C) 4 D) 8
(12) 設(shè)有如下定義:int x=l,y=-1;,則語(yǔ)句:printf("%d\n",(x--&++y));的輸出結(jié)果是
A) 1 B) 0 C) -1 D) 2
(13) 語(yǔ)句:printf("%d \n",12 &012);的輸出結(jié)果是
A) 12 B) 8 C) 6 D) 012
(14) 下面程序的輸出是
A) 100 B) 160 C) 120 D) 64
main()
{ char x=040;
printf("%d\n",x=x<<1);}
(15) 執(zhí)行下面的程序段
int x=35;
char z='A';
int b;
B=((x&15)&&(z<'a'));
后,B的值為
A) 0 B) 1 C) 2 D) 3
(16) 設(shè)有以下語(yǔ)句:
char a=3,b=6,c;
c=a^b<<2;
則c的二進(jìn)制值是 【16】 。
A) 00011011 B)00010100 C)00011100 D)00011000
二、填空題:
(1) 設(shè)二進(jìn)制數(shù)a是00101101,若想通過(guò)異或運(yùn)算a^b使a的高4位取反,低4位不變,則二進(jìn)制數(shù)b應(yīng)是 【1】 。
答案:
一、選擇題:
1) A 2) C 3) A 4) A 5) D 6) B 7) D 8) A 9) D 10) B
11) D 12) B 13) B 14) D 15) B 16) A 17) 18) 19) 20)
二、填空題:
(1) 11110000
(1)以下程序的功能是進(jìn)行位運(yùn)算
main()
{ unsigned char a, b;
a=7^3; b= ~4 & 3;
printf("%d %d\n",a,b);
}
程序運(yùn)行后的輸出結(jié)果是
A)4 3 B)7 3 C)7 0 D)4 0
(2)有以下程序
main()
{
int c=35; printf("%d\n",c&c);
}
程序運(yùn)行后的輸出結(jié)果是
A) 0
B) 70
C) 35
D) 1
(3) 設(shè)有定義語(yǔ)句:char c1=92,c2=92;,則以下表達(dá)式中值為零的是
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\n”,a,b(;
}
執(zhí)行后輸出結(jié)果是
A) 7 0 B) 0 7 C) 1 1 D) 43 0
(5) 有以下程序
main()
{ int x=3, y=2,z=1;
printf("%d\n",x/y&~z);
}
程序運(yùn)行后的輸出結(jié)果是
A) 3 B) 2 C) 1 D) 0
(6) 設(shè)char型變量x中的值為10100111,則表達(dá)式(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\n”,b,c);
}
程序運(yùn)行后的輸出結(jié)果是
A) –11 12 B) –6 –13 C) 12 24 D) 11 22
(8) 以下程序的輸出結(jié)果是
main()
{ char x=040;
printf("%0\n",x<<1);
}
A) 100 B) 80 C) 64 D) 32
(9) 整型變量x和y的值相等、且為非0值,則以下選項(xiàng)中,結(jié)果為零的表達(dá)式是
A) x || y B) x | y C) x & y D) x ^ y
(10) 以下程序的輸出結(jié)果是
A) 0 B) 1 C) 2 D) 3
main()
{ int x=0.5; char z=’a’;
printf(“%d\n”, (x&1)&&(z<’z’) ); }
(11) 設(shè) int b=2;表達(dá)式(b>>2)/(b>>1)的值是
A) 0 B) 2 C) 4 D) 8
(12) 設(shè)有如下定義:int x=l,y=-1;,則語(yǔ)句:printf("%d\n",(x--&++y));的輸出結(jié)果是
A) 1 B) 0 C) -1 D) 2
(13) 語(yǔ)句:printf("%d \n",12 &012);的輸出結(jié)果是
A) 12 B) 8 C) 6 D) 012
(14) 下面程序的輸出是
A) 100 B) 160 C) 120 D) 64
main()
{ char x=040;
printf("%d\n",x=x<<1);}
(15) 執(zhí)行下面的程序段
int x=35;
char z='A';
int b;
B=((x&15)&&(z<'a'));
后,B的值為
A) 0 B) 1 C) 2 D) 3
(16) 設(shè)有以下語(yǔ)句:
char a=3,b=6,c;
c=a^b<<2;
則c的二進(jìn)制值是 【16】 。
A) 00011011 B)00010100 C)00011100 D)00011000
二、填空題:
(1) 設(shè)二進(jìn)制數(shù)a是00101101,若想通過(guò)異或運(yùn)算a^b使a的高4位取反,低4位不變,則二進(jìn)制數(shù)b應(yīng)是 【1】 。
答案:
一、選擇題:
1) A 2) C 3) A 4) A 5) D 6) B 7) D 8) A 9) D 10) B
11) D 12) B 13) B 14) D 15) B 16) A 17) 18) 19) 20)
二、填空題:
(1) 11110000

