文档详情

结构体与联合体习题(含答案).doc

发布:2019-03-20约7.5千字共8页下载文档
文本预览下载声明
PAGE PAGE 8 2013年 结构体与联合体习题 选择题 1、若程序中有以下的说明和定义: struct abc { int x;char y; } 花括号后少了分号。 struct abc s1,s2; 则会发生的情况是______。 A) 编译时错 B) 程序将顺序编译、连接、执行 C) 能顺序通过编译、连接、但不能执行 D) 能顺序通过编译、但连接出错 2、有以下程序段 struct st { int x; int *y;}*pt; int a[]={1,2};b[]={3,4}; struct st c[2]={10,a,20,b}; pt=c; 以下选项中表达式的值为11的是 A) *pt-y B) pt-x C) ++pt-x D) (pt++)-x 3、有以下说明和定义语句 struct student { int age; char num[8];}; struct student stu[3]={{20,200401},{21,200402},{19,200403}}; struct student *p=stu; 以下选项中引用结构体变量成员的表达式错误的是______。 A) (p++)-num B) p-num C) (*p).num D) stu[3].age 4、设有如下枚举类型定义 enum language {Basic=3,Assembly=6,Ada=100,COBOL,Fortran}; 枚举量Fortran的值为______。 A) 4 B) 7 C) 102 D) 103 5、以下叙述中错误的是_________。 A)可以通过typedef增加新的类型 B)可以用typedef将已存在的类型用一个新的名字来代表 C)用typedef定义新的类型名后,原有类型名仍有效 D)用typedef可以为各种类型起别名,但不能为变量起别名 6、有以下程序段 typedef struct NODE { int num; struct NODE *next; } OLD; 以下叙述中正确的是 A)以上的说明形式非法 B) NODE是一个结构体类型 C) OLD是一个结构体类型 D) OLD是一个结构体变量 7、以下选项中不能正确把cl定义成结构体变量的是______。 1.typedef struct {int red; int green; int blue; } COLOR; COLOR cl; 2.struct color cl { int red; int green; int blue; }; 3.struct color { int red; int green; int blue; }cl; 4.struct {int red; int green; int blue; }c1; A) 1 B) 2 C) 3 D) 8、设有以下语句 typedef struct S { int g; char h;} T; 则下面叙述中正确的是______。 A)可用S定义结构体变量 B)可以用T定义结构体变量 C) S是struct类型的变量 D) T是struct S类型的变量 9、设有如下说明 typedef struct ST {long a;int b;char c[2];} NEW; 则下面叙述中正确的是_____。 A)以上的说明形式非法 B) ST是一个结构体类型 C) NEW是一个结构体类型 D) NEW是一个结构体变量 10、以下对结构体类型变量td的定义中,错误的是______。 A) typedef struct aa B) struct aa { int n; { int n; float m; float m; }AA;
显示全部
相似文档