大学MOOC C语言程序设计精髓(诸葛木子)(天津职业技术师范大学)1451175176 最新慕课完整章节测试答案
第12周——海陆空齐上阵又来了一堆数据
共用体类型
1、单选题:
下列说法错误的是()。
选项:
A: 编译器只为共用体中最大的成员分配足够的内存空间。共用体的成员在这个空间内是彼此覆盖的,都从同一起始地址开始存储。
B: 与结构体不同的是,共用体在内存中所占空间的字节数取决于占空间最多的那个成员变量。
C: 共用体变量在每一瞬时只能保存一个成员,起作用的成员是最后一次赋值的成员。
D: 共用体和结构体的成员访问方式以及成员的初始化方式都是一样的,都使用成员选择运算符访问成员变量,都可以在定义的时候对所有成员进行初始化。
答案: 【 共用体和结构体的成员访问方式以及成员的初始化方式都是一样的,都使用成员选择运算符访问成员变量,都可以在定义的时候对所有成员进行初始化。】
关键字typedef
1、判断题:
关键字typedef主要用于定义一种新的数据类型。
选项:
A: 正确
B: 错误
答案: 【 错误】
向函数传递结构体
1、单选题:
下列说法错误的是()。
选项:
A: 用结构体变量做函数参数,是将整个结构体的所有成员的内容传给被调函数,因此在被调函数中对结构体内容的修改不影响原结构体变量。
B: 用结构体数组/结构体指针作函数参数的参数传递效率比用结构体变量做函数参数的参数传递效率要高。
C: 用结构体数组/结构体指针作函数参数,是复制结构体的首地址给被调函数,因此在被调函数中可以修改结构体指针所指向的结构体的内容。
D: 数组和结构体变量都不可以用做函数返回值的类型。
答案: 【 数组和结构体变量都不可以用做函数返回值的类型。】
对结构体的操作
1、单选题:
下列说法错误的是()。
选项:
A: 对结构体变量的成员的访问是通过名字并使用成员选择运算符来访问的。
B: 只能在相同类型的结构体变量之间进行赋值。
C: 可以使用==和!=来判定两个结构体相等或不等。
D: 对嵌套的结构体成员,必须以级联的方式来访问。
答案: 【 可以使用==和!=来判定两个结构体相等或不等。】
枚举类型
1、单选题:
下列对枚举类型的使用的代码中错误的是()。
选项:
A: enum {no, yes, none}answer;
if (answer == yes)
{
printf("Yesn");
}
B: enum response{no = -1, yes = 1, none = 0};
enum response answer;
C: answer = yes;
printf("%d", answer);
D: answer = "yes";
printf("%s", answer);
答案: 【 answer = "yes";
printf("%s", answer);】
2、判断题:
和整型、实型、字符型一样,枚举类型也是一种基本数据类型。
选项:
A: 正确
B: 错误
答案: 【 正确】
结构体变量的定义
1、单选题:
下面哪条语句是正确的。
选项:
A: typedef struct student
{
long studentID;
char studentName[10];
char studentSex;
int yearOfBirth;
int score[4];
}STUDENT;
STUDENT stu1 = {100310121, "王刚", 'M', 1991, {72,83,90,82}};
B: typedef struct STUDENT
{
long studentID;
char studentName[10];
char studentSex;
int yearOfBir
