结构体和共用体习题

结构体和共用体习题

ID:38590872

大小:50.50 KB

页数:10页

时间:2019-06-15

结构体和共用体习题_第1页
结构体和共用体习题_第2页
结构体和共用体习题_第3页
结构体和共用体习题_第4页
结构体和共用体习题_第5页
资源描述:

《结构体和共用体习题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、习题六1.从下列四个选项中选择一个正确的填入括号中。(1)在说明一个结构体变量时系统分配给它的存储空间是(D)。A该结构体中第一个成员所需存储空间B该结构体中最后一个成员所需存储空间C该结构体中占用最大存储空间的成员所需存储空间D该结构体中所有成员所需存储空间的总和(2)在说明一个共用体变量时系统分配给它的存储空间是(D)。A该共用体中第一个成员所需存储空间B该共用体中最后一个成员所需存储空间C该共用体中占用最大存储空间的成员所需存储空间D该共用体中所有成员所需存储空间的总和(3)共用体类型在任何给定时刻,(B)。A所有成员一直驻留在内存中B只有一个成员驻留在内存中

2、C部分成员驻留在内存中D没有成员驻留在内存中(4)以下定义结构体类型的变量st1,其中不正确的是(A)Atypedefstuctstudent{intnum;intage;}STD;STDst1;Bstructstudent{intnum,age;}st1;Cstruct{intnum;floatage;}st1;Dstructstudent{intnum;intage;};structstudentst1;(5)已知职工记录描述为:structworkers{intno;charname[20];charsex;struct{intday;intmonth;int

3、year;}birth;};structworkersw;设变量w中的”生日”应是”1993年10月25日”,下列对”生日”的正确赋值方式是(C)。Aday=25;month=10;year=1993;Bw.day=25w.month=10;w.year=1993;Cw.birth.day=25;w.birth.month=10;w.birth.year=1993;Dbirth.day=25;birth.month=10;birth.year=1993;(6)设有如下定义:structsk{inta;floatb;}data,*p;若有p=&data;则对data中

4、的a成员的正确引用是(B)。A(*p).data.aB(*p).aCp->data.aDp.data.a2.填空(1)若有以下说明和定义且数组w和变量k已正确赋值,则对w数组中第k个元素中各成员的正确引用形式是w[k-1].b、w[k-1].c、w[k-1].d。structaa{intb;charc;doubled;};structaaw[10];intk=3;(2)若有以下说明和定义,则对x.b成员的另外两种引用形式是x->b->和p.b.。structst{inta;structst*b;}*p,x;p=&x;3.阅读下面程序,写出运行结果。(1)987654

5、32,ffffffcc#includemain(){structbyte{intx;chary;};union{inti[2];longj;charm[2];structbyted;}r,*s=&r;s->j=0x98765432;printf("%x,%x",s->d.x,s->d.y);}(2)结果:1,minicomputer#includestructtree{intx;char*s;}t;func(structtreet){t.x=10;t.s="computer";return(0);}main(){t.x=1;t

6、.s="minicomputer";func(t);printf("%d,%s",t.x,t.s);}#include..................................................结果:.0,structtree{intx;char*s;}t;func(structtreet){t.x=10;t.s="computer";return(0);}main(){//t.x=1;//t.s="minicomputer";func(t);printf("%d,%s",t.x,t.s);}(3)结果:

7、34,12#includemain(){union{chars[2];inti;}a;a.i=0x1234;printf("%x,%x",a.s[0],a.s[1]);}(4)结果:1,2,30#includestructst{intx;int*y;}*p;ints[]={10,20,30,40};structsta[]={1,&s[0],2,&s[1],3,&s[2],4,&s[3]};main(){p=a;printf("%d,",p->x);printf("%d,",(++p)->x);printf("%d,",*(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。