語言習(xí)題第7章結(jié)構(gòu)體帶答案_第1頁
語言習(xí)題第7章結(jié)構(gòu)體帶答案_第2頁
語言習(xí)題第7章結(jié)構(gòu)體帶答案_第3頁
語言習(xí)題第7章結(jié)構(gòu)體帶答案_第4頁
語言習(xí)題第7章結(jié)構(gòu)體帶答案_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

71、以下關(guān)于結(jié)構(gòu)體的敘述錯(cuò)誤的是 A)結(jié)構(gòu)體類型是一種構(gòu)造數(shù)據(jù)類 B)結(jié)構(gòu)體類型是由系統(tǒng)直接提供C)結(jié)構(gòu)體類型可以嵌套定 D)結(jié)構(gòu)體中的成員可以具有不同的數(shù)據(jù)類2、對(duì)于結(jié)構(gòu)體變量,系統(tǒng)分配給它的內(nèi)存大小是 3、以下關(guān)于結(jié)構(gòu)體的敘述錯(cuò)誤的是 結(jié)構(gòu)體變量可作為一個(gè)整體進(jìn)行輸入、輸 B)結(jié)構(gòu)體類型是一種構(gòu)造數(shù)據(jù)類C)一般是對(duì)結(jié)構(gòu)體變量的成員進(jìn)行賦值操 D)結(jié)構(gòu)體類型可以嵌套定 }A)today為結(jié)構(gòu)體類型 B)structbirthday為結(jié)構(gòu)體變量C)today為結(jié)構(gòu)體變量 D)day為結(jié)構(gòu)體變量 }A) B) C) D) A) B)C) D)7、若有定義如下,且sizeof(int)=4,則變量a在內(nèi)存中需要的字節(jié)數(shù)是( structstudent A) B) C) D)8、以下結(jié)構(gòu)體變量td的定義錯(cuò)誤的是 A) B) C) D) class[10]={“John”,17,“Paul”,19,“Mary”,18,A) B)C) D) struct }a[3]={{"Lucy",19},{"Mary",20},{"Jack",A)printf("%s", B)printf("%s",C)printf("%c", D)printf("%s", }num[2]={{20,5},printf("%d\n",num[0].x/num[0].y*A) B) C) D) structdata }a[2]={1,2,3,printf("%d,%d",a[0].x,A) B) C) D)**********************************結(jié)構(gòu)體指針13以下定義,要使p指向dataa,正確的賦值語句是C) A) B) C) D)14、以下對(duì)結(jié)構(gòu)體變量成員age的是 struct A) B) C)p- D) A)鏈表是一種動(dòng)態(tài)分配結(jié) B)鏈表操作必須利用指針變量才能實(shí)C)鏈表中的元素稱為結(jié) D)鏈表中的結(jié)點(diǎn)在內(nèi)存中是連續(xù)存放16、有關(guān)鏈表的結(jié)點(diǎn)類型以下說法錯(cuò)誤的是 A)結(jié)點(diǎn)類型是結(jié)構(gòu)體類 B)結(jié)點(diǎn)類型的定義是一種遞歸定C)結(jié)點(diǎn)類型中一定有一個(gè)指針成 D)結(jié)點(diǎn)類型中只能有一個(gè)指針成17、設(shè)有以下定義,則下面不能把結(jié)點(diǎn)b連接到結(jié)點(diǎn)a之后的語句是( { structnodeA) B) C)p- D)18、設(shè)鏈表結(jié)點(diǎn)指針定義structnode*p;則開辟一個(gè)新結(jié)點(diǎn)的方法正確的是( A)p=malloc(struct B)p=(structnode*)malloc(sizeof(structC)p=malloc(sizeof(struct D)p=(structnode)malloc(sizeof(struct19、下面程序段的輸出結(jié)果是 )(難度3星 x, printf(“%d,%d\n”,(h[0].p)->x,(h[1].p)-A)1, B)1, C)2, D)20、以下語句的執(zhí)行結(jié)果是 weekday{sun,mon=3,tue,wed,thu,fri,sat}; printf(“%d\n”,A) B) C) D)21、以下定義,則描述錯(cuò)誤的是( x,*p;A)x是int型變 B)程序中int和INTEGER都表示整C)p是int型指針變 D)使用typedef定義后,程序中不能再使用int1、C語言規(guī)定,結(jié)構(gòu)體變量的輸入、輸出都是對(duì)結(jié)構(gòu)體變量的成員2、對(duì)鏈表進(jìn)行操作必須找到表頭結(jié)點(diǎn),因此設(shè)置 頭結(jié) 專門存放其地址3、鏈表的基本操作包括:建立鏈表、輸出鏈表、插入結(jié)點(diǎn) 刪除結(jié)點(diǎn)4、對(duì)鏈表進(jìn)行操作時(shí)必須先找到鏈表 結(jié)點(diǎn)1、運(yùn)行下列程序后,寫出t.x和t.s#include<stdio.h> func(structtreet strcpy(t.s,}voidmain( strcpy(t.s,“ func(t);}結(jié)果: t.s= voidmain( STU STU*p=s;floatsum=0;for(inti=0;i<3;i++) printf("sum=%6.2f\n",sum);} intstructnodevoidmain( p=(structnode*)malloc(sizeof(structnode));q=(structnode*)malloc(sizeof(structnode));r=(structnode*)malloc(sizeof(structnode)); q->num=20; printf("%d\n",p->num+q->next-}運(yùn)行結(jié)果4、寫出函數(shù)fun的功能,若輸入數(shù)據(jù)為:12340↙,請(qǐng)寫出輸出結(jié)果。#include<stdio.h>#include<malloc.h> node node* scanf("%d",&m); p=(structnode*)malloc(sizeof(struct}} if(h!=NULL) p->next=q; scanf("%d",&m);}}voidmain( node*head=NULL,*p;head=fun();printf("\nTheoutputis:\n"); printf("%3d",p->d);}}fun的功能是:表首添加法建立一個(gè)鏈表輸出結(jié)果:4 5、寫出函數(shù)fun1、fun2#include<stdio.h>#include<stdlib.h>structline{intstructline#defineLEN sizeof(structline)structline *fun1(void) line*head=NULL,*p,*q;for(i=1;i<=5;i++) p=(structline*)malloc(LEN);if(head==NULL) }} fun2(structline while(p!=NULL) printf(“%3d”,p- p=p- voidmain(void head=fun1();}fun2的功能是:輸出鏈表運(yùn)行結(jié)果:1 6、寫出函數(shù)f2的功能和程序的運(yùn)行結(jié)果。(5星#include<stdio.h>#include<stdlib.h>#definestructline{intstructline SL*f1(void) for(inti=1;i<=5;i++) p=(SL*)malloc(LEN);if(head==NULL)head=p; }}SL*f2(SL SL*head1,*p1,*p2,*p3;for(inti=1;i<=5;i++) while(p1-{ p1=p1->next;if(i==1) p3=p1; }} f3(SL SL*p=head;while(p!=NULL) printf(“%3d”,p- p=p->next;void SL f3(head); }f1的功能:表尾添加法建立鏈表f2的功能:鏈表進(jìn)行逆序函數(shù)f3的功能:輸出鏈表 7、假設(shè)有一個(gè)有序鏈表:25—>9—>16,畫出執(zhí)行函數(shù)fun(星#include<stdio.h>#include<stdlib.h>structpot{intnumstructpot*next *fun(struct pot*head) *p0,*p1,*p2;p0=(struct pot*)malloc(LEN);if(head==NULL head=p0; p0->next=NULL; while((p0->num>p1->num)&&(p1->next!=NULL) p2=p1; p1=p1->next; if(p0->num<p1->num) if(head==p1) head=p0; p2->next=p0;p0->next=p1} p1->next= p0->next=NULL;}return(head)}鏈表:259121、編程實(shí)現(xiàn)從鍵盤輸入3個(gè)人的信息(包括、和,再將這些信息輸出顯示,2個(gè)函數(shù),并用指向結(jié)構(gòu)體變量的指針實(shí)現(xiàn)。 voidinput(structman*p,int,{struct man*q;,printf("按順序輸入%d個(gè)人的for(;p<q;

:",scanf("%s%d%s",p->name,&p->age,p- }voidoutput(structman*p,int man*q;for(;p<q; %s\n",p->name,p->age,p- }voidmain( structman ,3); ,}2、設(shè)一個(gè)單位有30名員工,每個(gè)員工的信息包括:?jiǎn)T工編號(hào)、、工資,請(qǐng)編程完成以下功能:(1)定義員工結(jié)構(gòu)體類型;(2)輸入每個(gè)員工的信息;(3)計(jì)算該單位員工的平均工資是多少;(4)輸出那些工資高于平均工資的員工的。#include<stdio.h>#defineN30 intcharname[10];intpay;voidmain( for(i=0;i<N;i++)scanf("%d%s%d",&emp[i].num,emp[i].name,&emp[i].pay);for(i=0;i<N;i++)ave=ave+emp[i].pay;ave=ave/N;for(i=0;i<N;if(emp[i].pay> printf("%s\n",}3、設(shè)有40名學(xué)生,每個(gè)學(xué)生的信息包括:學(xué)號(hào)、、三門課成績(jī)和平均分,請(qǐng)定義學(xué)生2個(gè)函數(shù)實(shí)現(xiàn)以下功能:輸入5名學(xué)生的信息,計(jì)算平均分并輸出每個(gè)學(xué)生的學(xué)號(hào)、和平均分#include<stdio.h>#defineN40struct // voidfun1(struct // i,j; for scanf("%d%s",&a[i].num,a[i].name);for(j=0;j<3; scanf("%f",&a[i].score[j]);}}for printf("%d%s%f\n",a[i].num,a[i].name,}voidfun2(struct inti,for(i=0;i<5;i++)if printf("%d,%s,",for(j=0;j<3;j++) printf("%f,",a[i].score[j]);printf("%f\n",a[i].ave);}}void structstudentstu[N];}4、設(shè)一個(gè)單位有300名員工,每個(gè)員工的信息包括:?jiǎn)T工編號(hào)、、工資,請(qǐng)定義員工2個(gè)函數(shù)完成以下功能:按職工工資從高到低進(jìn)行排序,并在main#include<stdio.h>#defineN300structwork wage;} input(struct intfloatave,sum=0;for(i=0;i<N;i++) scanf("%d%s%f",&a[i].num,a[i].name,&a[i].wage);}printf("平均工資=%f\n",} sort(struct // i,structworktemp;for(i=0;i<N-1;i++)for(j=0;j<N-i-1;j++) }voidmain({structwork for(intprintf("%d,%s,%f\n",w[i].num,w[i].name,}510個(gè)數(shù)據(jù),要求將它們由小到大排序,然后輸出排序后的數(shù)據(jù)并且輸出每個(gè)數(shù)據(jù)原#defineN10structnumber voidmain( struct a[N], i,for(i=0;i<N; scanf("%d",&a[i].num);}for(i=0;i<N-1;for(j=0;j<N-1-i;if(a[j].num>a[j+1].num for(i=0;i<N;i++)printf("%3d%3d\n",a[i].num,a[i].order}3個(gè)函數(shù)實(shí)現(xiàn)。#defineN30typedefstruct{chardm[5];charma[12];floatdj;intnum;floatprice;voidinput(SELLa[],int{intprintf("請(qǐng)按產(chǎn)品代碼(4位),產(chǎn)品名稱(10位),單價(jià),銷售數(shù)量的順序依次輸入\n");for(i=0;i<n;i++) }}voidsort(SELLa[],int inti,j;if(strcmp(a[j].dm,a[i].dm)>0||(strcmp(a[j].dm,a[i].dm)==0&&a[j].price>a[i].price) SELL a[j]=temp;}voidoutput(SELLa[],int for(inti=0;i<n;printf("%4s,%10s,%.2f,%4d,}void SELLintscanf("%d",&n);input(s,sort(s,output(s,n);}70時(shí)結(jié)束,再將這些數(shù)按與輸入相反的structnode{intstructnodevoid num,n=0; structnode printf("0時(shí)結(jié)束。\n");scanf("%d",&num); p=(structnode*)malloc(sizeof(structnode)); scanf("%d",} printf("%d\t",p->x); }}8、假設(shè)已有一個(gè)有序鏈表:1—>4—>6—>9,現(xiàn)輸入一個(gè)整數(shù)n,如果n的值和鏈表中某 struct structnode *p,*q=NULL printf(“inputn:”); scanf(“%d”,&n);p=head;while((n!=p->num)&&(p->next!=NULL) if(n==p->num) if(p==head) (pprintf(“已刪除該結(jié)點(diǎn)!} printf沒有可刪除的結(jié)點(diǎn)!\n”);return(head);}typedefstruct numstructnode*next sizeof(SD) SD *p1,*p2,*head=NULL; p1=(SD*)malloc(LEN);scanf("%d",&p1->num); if(i==1) p2->next=p1;p1=(SD*)malloc(LEN);scanf("%d",&p1-}p2->next=p1;return(head);} list(SD*head *p=head;while(p!=NULL) printf("%d\n",p- p=p->next } min(SD*head *p=head;intmin=p->num;while(p!=NULL p=p->next;}printf("theminnumberis%d\n",} main( h=creat();list(h);}10、設(shè)有一個(gè)有序鏈表(按成員a的值從小到大排序x,按其大小將它(3星)struct struct struct *insert(struct *head structpoint *p0,*p1,*p2; printf("inputx:");scanf("%d",&x)p0=(structpoint*)malloc(LEN);p0->a=x;if head=p0; p0->next=NULL

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論