结构体与共用体过关题
?/p>
4
?/p>
?/p>
1
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
?/p>
?/p>
?/p>
_
_
_
_
_
_
_
_
_
_
_
_
_
_
?/p>
?/p>
?/p>
_
_
_
_
_
_
_
_
_
_
_
_
_
_
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
沅江市职业中专计算机专业?/p>
C
语言》试?/p>
结构体与共用体过关题
考生注意:本试卷?/p>
5
大题,总分
150
分,考试时间
90
分钟?/p>
一、程序写结果题:本题?/p>
6
题,每题
5
分,?/p>
30
分?/p>
1
?/p>
下面程序的输出是
_______
?/p>
main()
{ enum em{em1=3,em2=1,em3}x
?/p>
char *aa[]={"AA","BB","CC","DD"};
x=em2;
printf("%s%s%s\n",aa[em1],aa[x],aa[em3]);}
2.
下面程序的输出结果是
________
?/p>
struct ks
{ int a; int *b;}
?/p>
main()
{ struct ks s[5],*p;
int n=1,i;
for(i=0;i<5;i++)
{ s[i].a=n;
s[i].b=&s[i].a;
n=n+3;
}
p=&s[1];
printf("%d,%d\n",++(*p->b),*(s+2)->b);}
3
.下面程序的输出?/p>
Struct ab{int a[2];char b;float c;};
typedef union {
long x[2];
int y[7];
char z[8];
struct ab b[4];
} MY;
main()
{ MY them[10];
printf("%d\n",sizeof(them));}
4
?/p>
字符ˊ
0
ˊ?/p>
ASCII
码的十进制数?/p>
48
,且数组的第
0
个元素在低位,则
以下程序的输出结果是
?/p>
main()
{ union
{ int b[4]
?/p>
long k
?/p>
char c[4]
?/p>
} a,*s=&a
?/p>
s->b[0]=0x3738
?/p>
s->b[1]=0x3635
?/p>
printf(
?/p>
%c\n
?/p>
,s->c[1])
?/p>
}
5
.有以下程序输出结果?/p>
struct stu
{int num;char name[10];int age; };
void fun(struct stu *p)
{ p++;
p->age=45;
strcpy(p->name,
?/p>
liming
?/p>
);
}
main()
{struct stu ss[3]={{01,"zhang",20},{02,"Wang",19},{03,"zhao",18}};
fun(ss+1);
printf(
?/p>
%d,%s,%d\n
?/p>
,ss[2].num,ss[2].name,ss[2].age);}
6
.设位段的空间分配由右到左,则以下程序的运行结果?/p>
?/p>
struct as
{ unsigned a : 2 ;
unsigned b : 3 ;
unsigned c : 4 ;
} data ;
main ( )
{ unsigned char x=45;
data.a=7 ;
data.b=2 ;
data.c=23;
data.i=68;
data.a=data.a&x;
data.c=data.b^x;
printf(
?/p>
%d\n
?/p>
,data.a+data.b+data.c) ;
}
二、程序填空题:本题共
3
题,每题
10
分,?/p>
30
分?/p>