本章要求
1. 掌握结构体、共用体、枚举类型的定义方法;
2. 掌握结构体、共用体、枚举类型变量的定义和引用方法;
3. 掌握位运算符的使用。
一、 选择题
1. 当定义一个结构体变量时,系统分配给它的内存是( )。
(A) 各成员所需内存量的总和
(B) 结构中第一个成员所需内存量
(C) 成员中占内存量最大者所需的容量
(D) 结构中最后一个成员所需内存量
2. 当定义一个共用体(联合)变量时,系统分配给它的内存是( )。
(A) 共用体中第一个成员所需内存量
(B) 共用体中最后一个成员所需内存量
(C) 成员中占内存量最大者所需的容量
(D) 各成员所需内存量的总和
3. 以下对C语言中共用体类型数据的叙述正确的是( )
(A) 可以对共用体变量名直接赋值
(B) 一个共用体变量中可以同时存放其所有的成员
(C) 一个共用体变量中不能同时存放其所有成员
(D) 共用体类型定义中不能出现结构体类型的成员
4. 若有以下定义和语句
union data
{ int i;
char c;
float f;
}a;
int n;
则以下语句正确的是( )
(A) a=5 (B) a={2, ‘a’, 1.2}
(C) printf(“%d\n”,a); (D) n=a;
6. 使用typedef语句定义一个新类型的正确步骤是( )
(A) 2,4,1,3 (B) 1,3,2,4 (C) 2,1,4,3 (D) 4,2,3,1
1. 把变量名换成新类型名
2. 按定义变量的方法写出定义体
3. 用新类型名定义变量
4. 在最前面加上关键字typedef
7. 设有以下说明语句:
struct stu
{ int a;
float b;
}stutype;
则下面叙述中错误的是( )
(A) struct 是结构体类型的关键字
(B) struct stu是用户定义的结构类型
(C) stutype是用户定义 的结构体类型名
(D) a和b都是结构成员名
8. 下面运算符中优先级最低的是( )
(A) ( ) (B) . (C) -> (D) ++
9.以下对结构体变量stu1中成员age的非法引用是()。