一、选择题
1、 以下程序的输出结果是
A) 100 B) 160 C) 120 D) 64
main()
{char x=040;
printf("%d\n",x=x<<1);
}
2、以下程序中C的二进制值是
A) 00011011 B) 00010100 C) 00011100 D) 00011000
char a=3,b=6,c;
c=a^b<<2;
3、以下程序的输出结果是
A) 0 B) 1 C) 2 D) 3
main()
{ int x=35; char z=’A’;
printf(“%d\n”,(x&15)&&(z<’a’));
}
4、以下程序的输出结果是
A) 0 B) 1 C) 2 D) 3
main()
{ int a=5,b=6,c=7,d=8,m=2,n=2;
printf(“%d\n”,(m=a>b)&(n=c>d));
}
二、填空题
1、变量a的二进制数是00101101,若想通过运算a^b使a 的高四位取反低四位不变,变量b的二进制数是 。
2、a是任意整数.能将变量a清零的表达式是 。
3、 a是任意整数.能将变量a中各二进制均置1的表达式是 。
4、 能将两字节变量x的高8位均置1,低字节不变的表达式是 。
5、运用位运算,能将八进制数012500除以4.然后,赋给变量a的表达式是_______。
6、运用位运算,能将变量ch中的大写字母转换成小写字母的表达式是________。