第9章 结构体与共用体

2019-05-26 21:20

第9章 结构体与共用体

一、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上。)

11.1 C语言结构体类型变量在程序运行期间

A)TC环境在内存中仅仅开辟一个存放结构体变量地址的单元 B)所有的成员一直驻留在内存中 C)只有最开始的成员驻留在内存中 D)部分成员驻留在内存中 考生答案: 正确答案: B

11.2 下列各数据类型不属于构造类型的是 A)枚举型 B)共用型 C)结构型 D)数组型 考生答案: 正确答案: A

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

A)各成员所需内存量的总和 B)结构中第一个成员所需内存量

C)成员中占内存量最大者所需的容量 D)结构中最后一个成员所需内存量 考生答案: 正确答案: A 11.4 设有以下说明语句 typedef struct { int n;

char ch[8]; } PER;

则下面叙述中正确的是

A)PER 是结构体变量名 B)PER是结构体类型名

C)typedef struct 是结构体类型 D)struct 是结构体类型名 考生答案: 正确答案: B

11.5 已知有如下定义:struct a{char x; double y;}data,*t;,若有t=&data,则对data中的成员的正确引用是 A)(*t).data.x B)(*t).x C)t->data.x D)t.data.x 考生答案: 正确答案: B

11.6 以下程序的运行结果是 #include \main() { struct date

{ int year,month,day; } today;

printf(\\n\(struct date)); }

A)6 B)8 C)10 D)12 考生答案: 正确答案: A 11.7 设有如下定义: struck sk { int a; float b;

} data; int *p;

若要使P指向data中的a域,正确的赋值语句是 A)p=&a; B)p=data.a; C)p=&data.a; D)*p=data.a; 考生答案: 正确答案: C

11.8 以下对结构体类型变量的定义中,不正确的是 A)typedef struct aa { int n; float m; } AA; AA tdl;

B)#define AA struct aa AA { int n; float m; } tdl; C)struct { int n; float m; } aa;

struct aa tdl; D)struct { int n; float m; } tdl;

考生答案: 正确答案: C

11.9 若有下面的说明和定义 struct test

{ int ml; char m2; float m3;

union uu { char ul[5]; int u2[2];} ua; } myaa;

则sizeof(struct test )的值是 A)12 B)16 C)14 D)9 考生答案: 正确答案: A 11.10 以下程序的输出是 struct st

{ int x; int *y;} *p;

int dt[4]={ 10,20,30,40 };

struct st aa[4]={ 50,&dt[0],60,&dt[0],60,&dt[0],60,&dt[0]}; main() { p=aa;

printf(\\n\(p->x)); }

A)10 B)11 C)51 D)60 考生答案: 正确答案: C 11.11 有以下程序: #include union pw { int i;

char ch[2]; }a;

main()

{ a.ch[0]=13; a.ch[1]=0;

printf(\\n\); }

程序的输出结果是

A)13 B)14 C)208 D)209 考生答案: 正确答案: A

11.12 已知学生记录描述为: struct student { int no;

char name[20],sex; struct

{ int year,month,day; } birth; };

struct student s;

设变量s中的“生日”是“1984年11月12日”,对“birth”正确赋值的程序段是 A)year=1984;month=11;day=12; B)s.year=1984;s.month=11;s.day=12;

C)birth.year=1984;birth.month=11;birth.day=12; D)s.birth.year=1984;s.birth.month=11;s.birth.day=12; 考生答案: 正确答案: D 11.13 有如下定义

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

struct person class[10]={\根据上述定义,能输出字母M的语句是 A)printf(\\n\[3].name); B)printf(\\n\[3].name[1]); C)printf(\\n\[2].name[1]); D)printf(\\n\[2].name[0]); 考生答案: 正确答案: B

11.14 下列程序的输出结果是

struct abc

{ int a, b, c, s; };

main()

{ struct abc s[2]={{1,2,3},{4,5,6}}; int t; t=s[0].a+s[1].b; printf(\\n\); }

A)5 B)6 C)7 D)8 考生答案: 正确答案: B

11.15 若有下面的说明和定义,则sizeof(struct aa)的值是 struct aa

{ int r1; double r2; float r3;

union uu{char u1[5];long u2[2];}ua; } mya;

A)30 B)29 C)24 D)22 考生答案: 正确答案: D

11.16 有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b。则不能把结点b连接到结点a之后的语句是 struct node { char data;

struct node *next; } a,b,*p=&a,*q=&b;

A)a.next=q; B)p.next=&b; C)p->next=&b; D)(*p).next=q; 考生答案: 正确答案: B

11.17 下面程序的输出结果是 struct st { int x; int *y; } *p;

int dt[4]={10,20,30,40};

struct st aa[4]={50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3]}; main() { p=aa;

printf(\\n\); printf(\\n\(++p)->x); printf(\\n\(*p->y)); }

A)10 B)50 C)51 D)60 20 60 60 70 20 21 21 31

考生答案: 正确答案: C

11.18 以下程序的输出结果是 union myun { struct

{ int x, y, z; } u;

int k; } a;

main()

{ a.u.x=4; a.u.y=5; a.u.z=6; a.k=0;

printf(\\n\); }

A)4 B)5 C)6 D)0 考生答案: 正确答案: D 11.19 有以下程序 struct STU

{ char num[10]; float score[3]; };

main()

{ struct STU s[3]={{\ int i; float sum=0; for(i=0;i<3;i++)

sum=sum+p->score[i]; printf(\\n\); }

程序运行后的输出结果是

A)260.00 B)270.00 C)280.00 D)285.00 考生答案: 正确答案: B 11.20 有以下程序 #include struct NODE

{ int num; struct NODE *next; }; main()

{ struct NODE *p,*q,*r;

p=(struct NODE*)malloc(sizeof(struct NODE)); q=(struct NODE*)malloc(sizeof(struct NODE)); r=(struct NODE*)malloc(sizeof(struct NODE)); p->num=10; q->num=20; r->num=30; p->next=q;q->next=r;

printf(\\n \); }

程序运行后的输出结果是 A)10 B)20 C)30 D)40 考生答案: 正确答案: D

11.21 已知函数的原形如下,其中结构体a为已经定义过的结构,且有下列变量定义 struct a *f(int t1,int *t2,strcut a t3,struct a *t4)

struct a p,*p1;int i;

则正确的函数调用语句为


第9章 结构体与共用体.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:宇龙机电控制仿真软件V3.8

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: