第6章-结构体与共用体

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、判断题

1. 结构体的定义不为它分配具体的内存空间。

答案:T

2. C++语言结构体类型变量在程序执行期间,所有成员驻留在内存中。

答案:T

3. 一个共用体变量中可以同时存放其所有成员。

答案:F

4. 若有定义union dt{int a; char b; double c;}data;,变量data所占的内存字节数与成员c所占字节数相等。

答案:F

5. 用typedef可以增加新类型。

答案:F

6. 共用体类型数据中所有成员的首地址都是同一地址。

答案:T

7. 可以用已定义的共用体类型来定义数组或指针变量的类型。

答案:T

8. 共用体类型数据中的成员可以是结构体类型,但不可以是共用体类型。

答案:F

9. 可以对共用体变量直接赋值。

答案:F

二、选择题

1. 下面关于结构体概念的叙述中,正确的说法是()。

A. 相同类型数据的集合称为结构体

B. 不同类型数据的集合称为结构体

C. 数据的集合称为结构体

D. 整数的集合称为结构体

答案:C

2. 设有以下说明语句:

struct abc

{

int m;

float n;

}stype;

则下面错误的叙述是()。

A. struct是定义结构体类型的关键字

B. stype是结构体类型名

C. m和n都是结构体成员名

D. stype是结构体变量名

答案:B

3. 以下对枚举类型ee的定义中,正确的定义是()。

A. enum ee {A, B, C, D};

B. enum ee {'A', 'B', 'C', 'D' };

C. enum ee = {A, B, C, D};

D. enum ee = {'A', 'B', 'C', 'D' };

答案:A

4. 以下关于同类型结构体与同类型共用体赋值的叙述中,正确的说法是()。

A. 共用体变量之间可以直接赋值,结构体变量之间也可以直接赋值

B. 共用体变量之间可以直接赋值,结构体变量之间不可以直接赋值

C. 共用体变量之间不可以直接赋值,结构体变量之间可以直接赋值

D. 共用体变量之间不可以直接赋值,结构体变量之间也不可以直接赋值

答案:A

5. 设有如下定义:

struct data

{

int i;

union test

{

char ch;

double q;

}t;

double f;

}b;

若字符型变量占1个字节,整型变量占4个字节,双精度变量占8个字节,则结构体变量b占用内存的字节数是()。

A. 8

B. 9

C. 18

D. 20

答案:D

6. 以下关于数据类型int的别名定义中,正确的定义是()。

A. typedef int Integer;

B. typedef int = Integer;

C. typedef Integer int;

D. typedef Integer = int;

答案:A

7. 设有枚举类型定义:

enum color { red = 3, yellow, blue = 10, white, black };

则枚举常量black的序号值是()。

A. 4

B. 5

C. 7

D. 12

答案:D

8. 一个结构体变量所占的内存字节数是()。

A. 结构体中第一个成员所需的内存字节数

B. 结构体中最后一个成员所需的内存字节数

C. 结构体中占用内存最大的成员所需的字节数

D. 结构体中各成员所需的内存字节数之和

答案:D

9. 当定义一个共用体变量时系统分配给它的内存字节数是()。

A. 共用体中第一个成员所需的内存字节数

B. 共用体中最后一个成员所需的内存字节数

C. 共用体中占用内存最大的成员所需的字节数

D. 共用体中各成员所需的内存字节数之和

答案:C

10.以下关于结构体与共用体数据成员定义的叙述中,正确的说法是()。

A. 结构体类型定义中不能出现共用体类型的成员,共用体类型定义中也不能出现结构体

类型的成员

B. 结构体类型定义中不能出现共用体类型的成员,共用体类型定义可以出现结构体类型

的成员

C. 结构体类型定义中可以出现共用体类型的成员,共用体类型定义中不能出现结构体类

型的成员

D. 结构体类型定义中可以出现共用体类型的成员,共用体类型定义中也可以出现结构体

类型的成员

答案:D

11.在说明一个结构体变量时系统分配给它的存储空间是()。

A. 该结构体中第一个成员所需存储空间

B. 该结构体中最后一个成员所需存储空间

C. 该结构体中占用最大存储空间的成员所需存储空间

D. 该结构体中所有成员所需存储空间的总和

答案:D

12.若有以下说明和语句:

struct worker

{ int no; char ﹡name; }work, ﹡p=&work;

则以下引用方式不正确的是()。

A. work.No

B. (﹡p).no

C. p->no

D. work->no

答案:D

13.有如下定义:

struct date { int year, month, day; };

struct worklist { char name[20]; char sex;

struct date birthday; }person;

对结构体变量person的出生年份进行赋值时,下面正确的赋值语句是()。

A. year=1958

B. birthday.year=1958

C. person.birthday.year=1958

D. person.year=1958

答案:C

14.以下对结构体类型变量的定义中不正确的是()。

A. #define STUDENT struct student

STUDENT

{ int num;

float age;

}std1;

B. struct student

{ int num;

float age;

}std1;

C. struct

{ int num;

float age;

}std1;

D. struct

{ int num;

float age;

} student;

struct student std1;

答案:D

15.设有以下说明语句

struct stu

{ int a; float b; }stutype;

相关文档
最新文档