結(jié)構(gòu)體和共用體習題_第1頁
結(jié)構(gòu)體和共用體習題_第2頁
結(jié)構(gòu)體和共用體習題_第3頁
結(jié)構(gòu)體和共用體習題_第4頁
結(jié)構(gòu)體和共用體習題_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

結(jié)構(gòu)體和共用體習題結(jié)構(gòu)體和共用體習題結(jié)構(gòu)體和共用體習題結(jié)構(gòu)體和共用體習題編制僅供參考審核批準生效日期地址:電話:傳真:郵編:習題六1.從下列四個選項中選擇一個正確的填入括號中。(1)在說明一個結(jié)構(gòu)體變量時系統(tǒng)分配給它的存儲空間是(D)。A該結(jié)構(gòu)體中第一個成員所需存儲空間B該結(jié)構(gòu)體中最后一個成員所需存儲空間C該結(jié)構(gòu)體中占用最大存儲空間的成員所需存儲空間D該結(jié)構(gòu)體中所有成員所需存儲空間的總和(2)在說明一個共用體變量時系統(tǒng)分配給它的存儲空間是(D)。A該共用體中第一個成員所需存儲空間B該共用體中最后一個成員所需存儲空間C該共用體中占用最大存儲空間的成員所需存儲空間D該共用體中所有成員所需存儲空間的總和(3)共用體類型在任何給定時刻,(B)。A所有成員一直駐留在內(nèi)存中B只有一個成員駐留在內(nèi)存中C部分成員駐留在內(nèi)存中D沒有成員駐留在內(nèi)存中(4)以下定義結(jié)構(gòu)體類型的變量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;intyear;}birth;};structworkersw;設(shè)變量w中的”生日”應(yīng)是”1993年10月25日”,下列對”生日”的正確賦值方式是(C)。Aday=25;month=10;year=1993;B==10;=1993;C=25;=10;=1993;(6)設(shè)有如下定義:structsk{inta;floatb;}data,*p;若有p=&data;則對data中的a成員的正確引用是(B)。A(*p).B(*p).aCp->D填空(1)若有以下說明和定義且數(shù)組w和變量k已正確賦值,則對w數(shù)組中第k個元素中各成員的正確引用形式是w[k-1].b、w[k-1].c、w[k-1].d。structaa{intb;charc;doubled;};structaaw[10];intk=3;(2)若有以下說明和定義,則對成員的另外兩種引用形式是x->b->和.。structst{inta;structst*b;}*p,x;p=&x;3.閱讀下面程序,寫出運行結(jié)果。(1),ffffffcc#include<>main(){structbyte{intx;chary;};union{inti[2];longj;charm[2];structbyted;}r,*s=&r;s->j=0x;printf("%x,%x\n",s->,s->;}(2)結(jié)果:1,minicomputer#include<>structtree{intx;char*s;}t;func(structtreet){=10;="computer";return(0);}main(){=1;="minicomputer";func(t);printf("%d,%s\n",,;}#include<>..................................................結(jié)果:.0,<null>structtree{intx;char*s;}t;func(structtreet){=10;="computer";return(0);}main(){編寫程序輸入一個學(xué)生記錄,記錄包含學(xué)號、姓名、性別和成績信息,從鍵盤輸入這些數(shù)據(jù),并且顯示出來。#include<>structstudent{ intno; charname[20]; charsex[2];floatscore;}stu1;main(){ printf("*********請輸入該學(xué)生的學(xué)號、姓名、性別和成績:\n"); scanf("%d%s%s%f",&,,,&; printf("學(xué)號:%d\n姓名:%s\n性別:%s\n成績:%f\n",,,,;}/*5.有若干運動員,每個運動員包括編號、姓名、性別、年齡、身高、體重。如果性別為男,參賽項目為長跑和登山;如果性別為女,參賽項目為短跑、跳繩。用一個函數(shù)輸入運動員信息,用另一個函數(shù)輸出運動員的信息,再建立一個函數(shù)求所有參賽運動員每個項目的平均成績。*/#include<>#include<>charitems1[2]={'長跑','登山'};charitems2[2]={'短跑','跳繩'};voidInputAthInfo();voidoutputAthInfo();voiditems_Avg();structathlete{ intnum; charname[10]; charsex; intage;floatheight; floatweight; charitems[2];}ath[2];voidInputAthInfo(){ inti; for(i=0;i<2;i++) { printf("請輸入第%d個運動員的信息:",i);scanf("編號:%d\n姓名:%s\n性別:%c\n年齡:%d\n身高:%f\n體重:%f\n",&ath[i].num,ath[i].name,ath[i].sex,&ath[i].age,&ath[i].height,&ath[i].weight); }}voidoutputAthInfo(){intj; printf("編號\t姓名\t性別\t年齡\t身高\t體重\t項目\n"); for(j=0;j<2;j++) { if(ath[j].sex=='m'||ath[j].sex=='M') strcpy(ath[j].items,items1); elsestrcpy(ath[j].items,items2); um,ath[j].name,ath[j].sex,ath[j].age,ath[j].height,ath[j].weight,ath[j].items[0],ath[j].items[1]); }}voiditems_Avg(){ inti; floatsum1=0,sum2=0,avg1,avg2; for(i=0;i<2;i++) { sum1+=ath[i].items[0]; avg1=sum1/2; sum2+=ath[i].items[1]; avg2=sum2/2; } printf("%-3f%-3f",avg1,avg2);}voidmain(){voidInputAthInfo();voidoutputAthInfo();voiditems_Avg();}6.一個班有30名學(xué)生,每個學(xué)生的數(shù)據(jù)包括學(xué)號、姓名、性別、及2門課的成績,現(xiàn)從鍵盤上輸入這些數(shù)據(jù),并且要求:(1)輸出每個學(xué)生2門課的平均分。(2)輸出每門課的全班平均分。(3)輸出姓名為”zhangliang”的學(xué)生的2門課的成績。/*6.一個班有30名學(xué)生,每個學(xué)生的數(shù)據(jù)包括學(xué)號、姓名、性別、及2門課的成績,現(xiàn)從鍵盤上輸入這些數(shù)據(jù),并且要求:(1)輸出每個學(xué)生2門課的平均分。(2)輸出每門課的全班平均分。(3)輸出姓名為”zhangliang”的學(xué)生的2門課的成績。*/#include<>#include<>#defineN2voidInput_Info();voidscore_avg();voideveryStu_avgScore();voidscore_zhangliang();voidmain(){Input_Info();score_avg();everyStu_avgScore();score_zhangliang();}structstudent{ intno; charname[20]; charsex[2];floatscore1; floatscore2;}stu[N];voidInput_Info(){ inti; printf("*************輸入該班所有人的信息:(學(xué)號、姓名、性別、數(shù)學(xué)成績、英語成績,并用空格隔開)\n");o,stu[i].name,stu[i].sex,&stu[i].score1,&stu[i].score2); }}voideveryStu_avgScore()core1+stu[i].score2)/2; for(i=0;i<N;i++) printf("第%d個學(xué)生的兩門課平均分為%\n",i,oneself_avg[i]);}voidscore_avg()core1; sum2+=stu[i].score2; } avg1=(sum1)/2; avg2=(sum2)/2; printf("該班的數(shù)學(xué)平均成績?yōu)?,英語平均分為%\n",avg1,avg2);}voidscore_zha

溫馨提示

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

評論

0/150

提交評論