第十章 结构体和杂类
一. 选择题
1. 如下说明语句,则下面叙述不正确的是( C )。
struct stu { int a ; float b ;} stutype;
A.struct是结构体类型的关键字 B.struct stu是用户定义结构体类型
C. stutype是用户定义的结构体类型名(变量名) D. a和b都是结构体成员名
2. 在16位PC机中,若有定义:struct data { int i ; char ch; double f; } b ; 则结构变量b占用内存的字节数是( D )。
A.1 B.2 C.8 D.11
3. 设有定义语句:enum t1 {a1, a2 = 7, a3, a4 = 15} time;则枚举常量a2和a3的值分别为 ( D )。
A. 1和2 B. 2和3 C. 7和2 D. 7和8
4. 以下程序的输出结果是( D )。
union myun { struct { int x, y, z; } u; int k; } a;
main( )
{ a.u.x=4; a.u.y=5; a.u.z=6; a.k=0; printf(" %d\n",a.u.x); }
A. 4 B. 5 C. 6 D. 0
5. 当定义一个共用体变量时,系统分配给它的内存是( C )。
A.各成员所需内存量的总和 B.结构中第一个成员所需内存量
C.成员中占内存量最大的容量 D.结构中最后一个成员所需内存量
6. 若有以下程序段:
union data { int i ; char c; float f;} a;
int n;
则以下语句正确的是( C )。
A.a=5; B.a={2,’a’,1.2} C.printf(“%d”,a);
D.n=a;
7. 设struct {int a; char b; } Q, *p=&Q;错误的表达式是( d )。
A.Q.a B.(*p).b
C.p->a D.*p.b
9. 以下对C语言中共用体类型数据的叙述正确的是( c )。
A. 可以对共用体变量直接赋值
B.一个共用体变量中可以同时存放其所有成员
C.一个共用体变量中不能同时存放其所有成员
D.共用体类型定义中不能出现结构体类型的成员