资源描述:
《14第14章结构体与共用体14结构体与共用体习题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第一十四章、结构体与共同体14.1有以下定义:Structperson{charname[9];intage;};Structpersonclass[10]={“Johu”,17,“Paul”,19,“Mary”,18,“Adam”,16};则下面能输出字母M的语句时A)printf(“%c”,class[3].name);B)printf(“%c”,class[3].name[1]);C)printf(“%c”,class[2].name[1]);D)printf(“%c”,class[2].name[0]);14.2有以下程序:#includ
2、eMain(){structcmplx{intx;inty;}cnum[2]={1,3,2,7};Printf(“%d”,(cnum[0].y/cnum[0].x)*cnum[1].x);}程序的运行结果是A)0B)1C)3D)614.2有以下定义语句:Structst{intn;Structst*next};Structsta[3],*p;a[0].n=5;a[0].next=&a[1];a[1].n=7;a[1].next=&a[2];a[2].n=9;a[2].next=’ ’;P=&a[0];则以下值为6的表达式是A)(p++)-
3、>nB)p->(n++)C)++(*p).nD)++p->n14.4有以下程序#includeMain(){union{shorti[2];Longk;Charc[4];}r,*s=&r;s->i[0]=0x39;s->i[1]=0x38;printf(“%x”,s->c[0]);}已知字符0的ASCH码值的十进制数是48,且数组的第0个元素在低位。以上程序的运行结果是A)39A)9B)38C)814.5有以下程序(若long型和int型数据占四个字节):#includeTypedfunion{longx[2];inty[
4、4];charz[8];}MYTYPE;MYTYPEthem;Main(){printf(“%d”,sizeof(them));}程序的运行结果是A)32B)16B)8C)2414.6有以下程序:#includeStructst{intx;Int*y;}*p;intdt[4]={10,20,30,40};Structstaa[4]={50,&dt[0],60,&dt[0],60,&dt[0],60,&dt[0]};Main(){p=aa;printf(“%d”,++p->x);Printf(“%d”,(++p)->x);printf
5、(“%d”,++(*p->y));}程序的运行结果是A)10B)50C)51D)60206060702021113114.7若已建立如图14.11所示的链表结构,指针p、s分别指向图中所示节点:则以下不能将所指的节点插入到链表末尾的语句组是A)s->next=NULL;p=p->next;p->next=s;B)p=p->next;s->next=p->next;p->next=s;C)p=p->next;s->next=p;p->next=s;D)p=(*p).next;(*s).next=(*p).next;(*p).next=s;14.8设有以下定义和
6、语句;StructSTD{cahrname[10];intage;intsex;}s[5],*ps;ps=&s[0];下面scanf函数调用语句中对结构体变量成员引用错误的是A)scanf(“%s”,s[0].name);B)scanf(“%d”,&s[0].age);C)scanf(“%d,”&(ps->sex));D)scanf(“%d”,ps->age);二、填空题14.9为了建立如图所示的储存结构(即每个结点含两个域,data是数据域,next是指向结点的指针域),请填空。图略Structink{chardata;Structink*next;}node
7、;14.10以下mymin函数的功能是:在如图14.13所示的带有头结点的单向链表中,查找结点数据域的最小值作为函数值返回。请填空。图略#includeStructnode{intdata;Structnode*next;};intmymin(structnode*first){structnode*p;intm;p=first->next;m=p->data;for(p=p->next;p!=’’;p=p->next)If(m>p->data)m=p->data;Returnm;}14.11以下函数creat用来建立一个带头结点的单向链表
8、,新产生的结点总是插在链