2 0 1 3年结构体与联合体习题选择题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) 2C) 3 D) 4 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 是一...