1.下面不属于C语言整形常量的是()
A.01 B.0x1 C.08 D.8
2.在Visual C++6.0中,表示单精度的数是()
A. 2004.04 B. 2004.04f C. 2.00404e3 D. 0.200404e4
3.表达式0x14&0x18的值用16进制表示为_______.
4.测试char型变量b左边第5位是否为1的表达式是_______
5.当从键盘输入20 35时,输出的结果是_______
#include<stdio.h>
void main()
{
unsigned char a,b;
scanf("%x %x",&a,&b);
printf("%x",a&b);
}
C
B
0X10
b&10000<<4==1
0x10
解释:第五题,
20,35二进制分别为
1100
&
1011 =
———
1000=0x10
为什么额
第四题答案是b&0x10
第五题怎么分析额20 和35分别转化为010000和110101(32位吗?)然后按位与放入到10000,化为16进制=10 额···无语了
4.我看错了吗?怎么确认称第3位了?
要是要求的是验证第5位的话 你那个答案是可以的
b&0x10的意思就是: b按位与0001 0000 。如果B的第五位是1,那么运算结果就是0001 0000,如果第五位是0,运算结果就是0.
5. %x把 20,35当做16进制数读取,即0x20,0x35。0x20和0x35按位与,即0010 0000 & 0011 0101,结果是0010 0000即0x20, 再以16进制格式输出 就是输出20了。