笔试题
一、 填空题(每个空 4 分, 共 28 分)
1) struct tagABC
{
char name[10];
char sex;
l ong sno;
fl oat score[4];
} *pAbc;(四字节对齐)
pAbc=NULL;
那么, 执行 pAbc+=2; 之后 pAbc 的值为( 64 )
2) 如下代码, 最终 val ue 的值是( 8 )
int *p1 , *p2;
int val ue;
p1 =(int*) 0×400;
p2=(int*) 0×408;
val ue = p2-p1 ;
3) 如下代码, printf 的结果为( 2 )
#incl ude〈stdio. h〉
#incl ude〈string. h〉
void main(void)
{
char acNew[20] = “\\0\0” ;
printf(“%d\n” , strl en(acNew) ) ;
}
4) 有如下程序段, 运行该程序的输出结果是( 33 )
main ()
{
int y=3, x=3, z=1 ;
printf(“%d%d\n” , (++x, y++) , z+2) ;
}
5) 设有: int a=1 , b=2, c=3, d=4, m=2, n=2; 执行(m=a>b) &&(n=c>d) 后, n 的值为( 2 )
6) struct tagAAA
{
Unsigned char ucI d: 1 ;
Unsigned char ucPara0: 2;
Unsigned char ucState: 6;
Unsigned char ucTail : 4;
Unsigned char ucAvail ;
Unsigned char unTail 2: 4;
Unsigned l ong ul Data;
} AAA_S
问: AAA_S 在字节对齐分别为 1, 4 情况下, 占用的空间大小分别是多少? ( 9 )( 1 2 )