内容正文:
原创精品资源学科网独家享有版权,侵权必究!
《编程语言基础——C语言》高等教育出版社(第5版)
第七章 结构体和共用体 章节过关卷
考试时间90分钟 满分100分
班级 姓名 成绩
1、 单项选择题(本题15小题,每小题2分,满分30分)
1. 共用体也称为( ).
A.结构体 B.联合体 C.变量体 D.共和体
2. 定义结构体类型时,应使用关键字( ).
A.struct B.num C.name D.Word
3. 结构体变量中的成员的引用一般形式( ).
A.结构变量名.成员名 B.结构变量名,成员名
C.结构变量名;成员名 D.结构变量名、成员名
4. 结构体变量赋值( ).
A.变量没有内存不能整体赋值 B.只能使用scanf赋值
C.可以不赋值就引用 D.变量有空间,可以赋值或引用
5. 当定义一个结构体变量时,系统分配给它的内存是( ).
A.各成员所需内存量的总和 B.成员中占内存量最大者所需的容量
C.结构中第一个成员所需的内存量 D.结构中最后一个成员所需的内存量
6. 用结构体变量成员作函数参数。将实参值传给形参,这种传递方式是( ).
A.值传递 B.地址传递 C. 混合传递 D.以上都不是
7. 用指向结构体变量(或数组元素)的指针作函数实参,其实质是( ).
A.向函数传递结构体的地址 B.向函数传递结构体的值
C.向函数传递结构体的名称 D.以上都不对
8. 定义结构类型时,下列叙述正确的是( ).
A.系统会按成员大小分配每个空间 B.系统会按最大成员大小分配空间
C.系统不会分配空间 D.以上说法均不正确
9. C语言结构体类型变量在程序执行期间( ).
A.所有成员一直驻留在内存中
B.只有一个成员驻留在内存中
C.部分成员驻留在内存中
D.没有成员驻留在内存中
10. 以下对C语言中共用体类型数据的叙述正确的是( ).
A.可以对共用体变量名直接赋值 B.一个共用体变量中可以同时存放其所有成员
C.一个共用体变量中不可能同时存放其所有成员
D.共用体类型定义中不能出现结构体类型的成员
11. 若程序中有下面的说明和定义:
struct abc
{
int a;
char b;
}
struct abc s1,s2;
则会发生的情况是( ).
A.编译出错 B.能顺利编译、连接
C.能顺利编译、连接,但不能执行 D.能顺利通过编译,但出现连接错误
12. 以下定义结构体类型变量ss的语句中,不正确的是( ).
A.typedef struct student
{ char num[8];
int age;
}STU;
STU ss;
B.struct student
{ float num,age;
}ss;
C.struct
{ char num[8];
int age;
}ss;
D.struct student
{ char num[8];
int age;
}
struct student ss;
13. 在下面共用体定义中,正确的叙述是( ).
union data{int a; char ch; double f;}ua;
A.ua所占存储空间等于f的长度
B.ua的地址和它各成员的地址不同
C.ua可以作为函数参数
D.不能对ua赋值,但可以在定义时对它进行初始化
14. 当说明一个结构体变量时系统分配给它的内存是( ).
A.各成员所需内存量的总和 B.结构中第一个成员所需内存量
C.成员中占内存量最大者所需的容量 D.结构中最后一个成员所需内存量
15. 设有以下说明语句
struct stu
{
int a;
float b;
}stutype;
则下面的叙述不正确的是( ).
A.struct是结构体类型的关键字
B.struct stu是用户定义的结构体类型
C.stutype是用户定义的结构体类型名
D.a和b都是结构体成员名
二、判断题(本题15小题,每小题2分,满分30分)
1. 定义了共用体变量,