分类: 嵌入式
2009-12-19 09:09:59
2.3 问答与设计
(209) 按位运算中左移后的低位、右移后的高位是如何填补的?
(210) 什么是"位屏蔽(bit masking)"?
(211) 位域(bit fields)是可移植的吗?
(212) 移位和乘以2这两种方式中哪一种更好?
(213) 请写出sizeof运算符的原型。
(214) 为什么要将常量和表达式置于比较操作的左边?
(215) 指出下面程序的错误
{
z = x+y;
t = z/100;
printf("%f", t);
};
(216) 指出下面程序的错误并改正:
void main(void)
{
int a = 5, b = 6, c= 7, d = 8;
if ((a > b) & (c > d))
{
printf("Good\n");
}
else
{
printf("Bad\n");
}
}
(217) 指出下面程序的错误并改正:
void main(void)
{
unsigned char a;
a = 0x10;
while (a)
{
printf("0x%x left shift 2bit:0x%x\n", a, a>>2);
}
}
(218) 指出下面程序的错误并改正:
void main(void)
{
int a,b;
a = 1;
b = a/++a;
printf("b equals %d\n", b);
}
(219) int a=391,b=1971; 写出 a^b^a的值。
(220) 语句:x++;?++x; x=x+1;?x=l+x; ,执行后都使变量x中的值增1,请写出一条同一功能的赋值语句。