文档详情

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

发布:2017-06-30约2.5千字共3页下载文档
文本预览下载声明
第八单元 结构体和共用体 选择题 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 有利于程序的通用和移植 14、以下各选项企图说明一种新的类型名,其中正确的是
显示全部
相似文档