共用体结构体C语言例题,2016C语言习题全集及答案:结构体和共用体01.doc

2016C语言习题全集及答案:结构体和共用体01

第八单元 结构体和共用体

选择题

1、说明一个结构体变量时系统分配给它的内存是 。

A. 各成员所需要内存量的总和

B. 结构体中第一个成员所需内存量

C. 成员中占内存量最大者所需的容量

D. 结构中最后一个成员所需内存量

2、C 语言结构体类型变量在程序执行期间 。

A. 所有成员一直驻留在内存中

B. 只有一个成员驻留在内存中

C. 部分成员驻留在在内存中

D. 没有成员驻留在内存中

3、设有以下说明语句

struct stu { int a ; float b ; } stutype ;

则下面的叙述不正确的是 。

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

B. struct stu 是用户定义的结构体类型

C. stutype 是用户定义的结构体类型名

D. a 和b 都是结构体成员名

4、程序中有下面的说明和定义

struct abc { int x;char y;}

struct abc s1,s2;

则会发生的情况是 。

A. 编译出错

B. 程序将顺利编译、连接、执行

C. 能顺利通过编译、连接、但不能执行

D. 能顺利通过编译、但连接出错

5、有如下定义

struct person { char name[9]; int age;};

struct person class[10]={ " Johu", 17,"Paul", 19,"Mary", 18,"Adam",

16};

根据上述定义,能输出字母M 的语句是 。

A. prinft(" %c\n",class[3].name);

B. printf(" %c\n",class[3].name[1]);

C. prinft(" %c\n",class[2].name[1]);

D. printf(" %c\n",class[2].name[0]);

6、下面程序的输出是 。

A. 0 B. 1 C. 3 D. 6

main()

{ struct cmplx { int x; int y;} cnum[2]={1,3,2,7};

printf("%d\n",cnum[0].y/cnum[0].x*cnum[1].x);}

7、设有如下定义:

struct sk {int a ;float b ;}data ,*p ;

若有p=&data ; ,则对data 中的a 域的正确引用是 。

A.(*p).data.a B.(*p).a C.p->data.a D.p.data.a

8、当说明一个共用体变量时系统分配给它的内存是 。

A. 各成员所需要内存量的总和

B. 共用体中第一个成员所需内存量

C. 成员中占内存量最大者所需的容量

D. 共用体中最后一个成员所需内存量

9、以下对C 语言中共用体类型数据的叙述正确的是 。

A. 可以对共用体变量名直接赋值

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

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

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

10、C 语言共用体类型变量在程序运行期间 。

A. 所有成员一直驻留在内存中

B. 只有一个成员驻留在内存中

C. 部分成员驻留在在内存中

D. 没有成员驻留在内存中

11、以下对枚举类型名的定义中正确的是 。

A. enum a={one ,two ,three} ;

B. enum a {one=9 ,two=-1 ,three} ;

C. enum a={"one" ,"two" ,"three"} ;

D. enum a {"one" ,"two" ,"three"} ;

12、设有如下枚举类型定义:

enum language { Basic=3 ,Assembly ,Ada=100 ,COBOL ,Fortran} ;

枚举量Fortran 的值为 。

A. 4 B. 7 C. 102 D. 103

13、下面对的叙述中不正确的是 。

A. 用typedef 可以定义各种类型名,但不能用来定义变量

B. 用typedef 可以增加新类型

C. 用typedef 只是将已存在的类型用一个新的标识符来代表

D. 使用typedef 有利于程序的通用和移

你可能感兴趣的:(共用体结构体C语言例题)