




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
(中職)C語言程序設(shè)計案例教程章節(jié)練習題+答案(七)一、填空題。.結(jié)構(gòu)體是構(gòu)造類型數(shù)據(jù),它與數(shù)組的區(qū)別在于其中的成員可以不是同一種數(shù)據(jù)類型。.聲明一個結(jié)構(gòu)體類型的一般形式為:struct結(jié)構(gòu)體名(數(shù)據(jù)類型成員1的名字;數(shù)據(jù)類型成員2的名字;數(shù)據(jù)類型成員3的名字;.假設(shè)有structStuintnum;intnum;charname[20];charsex;intage;floatscore;}stul;變量stul占33intnum;charname[20];charsex;intnum;charname[20];charsex;intage;floatscore;}stul;變量stul占33/*學號為整型*//東姓名為字符串*//*性別為字符型*//*年齡為整型*//*成績?yōu)閷嵭?/個字節(jié)。.假設(shè)定義結(jié)構(gòu)體數(shù)據(jù)Stu類型變量stul的同時,對stul進行初始化為“2018001,〃Peter〃,'M',18,85”;那么該語句寫為structStustul口={2018001,“Peter",'Nf,18,85”}。.引用結(jié)構(gòu)體變量使用—乳!1—運算符(也稱“圓點運算符”),引用結(jié)構(gòu)體變量Stu的成員age的一般形式為Stu.age。.假設(shè)該班有30個學生,那么這30個學生的信息都可以用結(jié)構(gòu)體變量來表示,它們具有相同的數(shù)據(jù)類型,可以用結(jié)構(gòu)體數(shù)組一存儲這30個學生的信息。.假設(shè)定義指向結(jié)構(gòu)體變量的指針變量*stul,可以用stul2age表示stul所指向結(jié)構(gòu)體變量的成員ageo.假設(shè)有“stuctStuSI;”定義結(jié)構(gòu)體變量S1,語句"stuctStu*p=&Sl;”的作用是指針P指向結(jié)構(gòu)體變量S1。.假設(shè)定義了如下的共用體類型變量x和結(jié)構(gòu)類型變量y,unionstulintnum;charname[5];chars;}x;structstu2(intnum;charname[5];chars;}y;那么X和y所占用的內(nèi)存字節(jié)數(shù)分別為5字節(jié)和10字節(jié)。.結(jié)構(gòu)體數(shù)組s[30]的前3個元素進行初始化,其他未被指定初始化的數(shù)值型數(shù)組元素成員被系統(tǒng)初始化為_2_,字符型數(shù)組元素成員被系統(tǒng)初始化為'\0'',指針型數(shù)組元素成員被系統(tǒng)初始化為_NULL_。.將不同類型的數(shù)據(jù)組織在一起共同占用同一段內(nèi)存的構(gòu)造數(shù)據(jù)類型為出皿聲明這種構(gòu)造類型數(shù)據(jù)的關(guān)鍵字union。二、選擇題。1.假設(shè)有structStu(intnum=2018001;charname[20]=,,Peter,z;charsex='M';intage=18;floatscore=85;)S1;以下說法正確的選項是(A)A.錯誤B.以上程序段為結(jié)構(gòu)體變量進行了初始化C.Stu是結(jié)構(gòu)體變量D.以上說法都成立2.假設(shè)有結(jié)構(gòu)體變量S1和S2,以下說法正確的選項是(A)A.結(jié)構(gòu)體變量不能作為整體進行輸入和輸出。B.printf(^%d%s%c%d%dv,SI);輸出S1的值。C.以上說法都不對。D.S2二二S1表示的是S2和S1相等。3.假設(shè)有結(jié)構(gòu)體類型Score和StudentstructScore{floatChinese;floatEnglish;floatmaths;);structStudent{intnum;charname[20];structScorescore;}student;以下說法正確的選項是(B)A.student.English是正確的B.student,score.English是正確的C.score.English是正確的D.以上說法都不對.設(shè)有p是一個指向結(jié)構(gòu)體變量S1的指針,以下語句是給結(jié)構(gòu)體變量S1中的num成員賦值2018001的不是(D)oA.si.num=2018001;B.(*p).num=2018001;C.p->num=2018001;D.以上都不對.以下說法正確的選項是(A)oA.由于成員運算符”比指針運算符“*”優(yōu)先級高,因此,*p必須使用括號括起來。B.成員運算符”和指針運算符一起使用,不用區(qū)分什么C.由于指針運算符比成員運算符”優(yōu)先級高,因此,*p不需要用括號括起來。D.以上都不對.設(shè)有如下定義:structstrul(inta;floatb;)c2,*p;假設(shè)有p=&c2;那么對c中的成員a的正確引用是(B)oA.(*p),c2.aB.(*p).aC.p->c2.aD.p.c2.a.假設(shè)有“stuctStuSI;",定義結(jié)構(gòu)體變量SI?!皊tuctStu*p=&Sl;”的含義是(A)oA.定義指針變量p,指向結(jié)構(gòu)體變量SI.定義指針變量p,將結(jié)構(gòu)體變量S1的值賦給指針變量pC.定義指針變量p,將結(jié)構(gòu)體變量S1的值按位與指針變量pD.以上都不對.假設(shè)有結(jié)構(gòu)體數(shù)組和指向結(jié)構(gòu)體對象的指針變量,可使結(jié)構(gòu)體指針P指向結(jié)構(gòu)體數(shù)組的首地址的是(B)structStu*s[3],p=&s;structStus[3],*p;p=s;structStus[3],p;p=s;structStu*s[3],p=s;.用結(jié)構(gòu)體變量成員作函數(shù)參數(shù)。將實參值傳給形參,這種傳遞方式是(B)。A.值傳遞B.地址傳遞C.混合傳遞D.以上都不是.用指向結(jié)構(gòu)體變量(或數(shù)組元素)的指針作函數(shù)實參,其實質(zhì)是(A)oA.向函數(shù)傳遞結(jié)構(gòu)體的地址B.向函數(shù)傳遞結(jié)構(gòu)體的值C.向函數(shù)傳遞結(jié)構(gòu)體的名稱D.以上都不對.共用體的所有成員共同占用一段內(nèi)存,共用體變量所占內(nèi)存空間大小取決于(C)A.其所有成員占內(nèi)存空間之和B.其成員中占內(nèi)存空間最少的那個成員變量C.其成員中占內(nèi)存空間最多的那個成員變量D.以上都不是.假設(shè)有定義枚舉類型weekday,^enumweekday{sun,mon,tue,wed,thu,fri,sat};'各成員的值依次是(B)A.1234567B.0123456C.135791113D.以上都不對13.假設(shè)有“typedefintInteger;",以下說法正確的選項是(A)int數(shù)據(jù)類型的新名字是IntegerInteger是整型變量typedef不是C語言關(guān)鍵字D.以上都錯誤三、程序填空題。.以下程序的執(zhí)行結(jié)果是平均分為:86為。#include<stdio.h>4include<stdio.h>structStu
intnum;intnum;charname[20];charsex;intage;floatscore;);voidmain()(inti;floatsum=0.0;intnum;charname[20];charsex;intage;floatscore;);intnum;charname[20];charsex;intage;floatscore;);voidmain()(inti;floatsum=0.0;/*性別為字符型*//*年齡為整型*//*成績?yōu)閷嵭?/structStus[30]={{2018001,"Peter",J,18,85},{201702,"Jack",'M',19,91},{201703,〃Lily〃,'F,,18,83}};/*對結(jié)構(gòu)體數(shù)組進行初始化*/for(i=0;i<3;i++)sum=sum+s[i].score;/*計算3位同學的成績總和*/printf(〃平均分為:%5.lf\n〃,sum/3.0);/*輸出平均分*/).以下程序的執(zhí)行結(jié)果是所占內(nèi)存字節(jié)為:土。4include<stdio.h>unionUN{shorts;charc;floatf;);voidmain()(inta;unionUNul二⑵;a=sizeof(ul);printf(〃所占內(nèi)存字節(jié)為:%d\n\a);).以下程序執(zhí)行時從鍵盤輸入0,結(jié)果是一星期日一4include<stdio.h>voidmain()inta;enumweekday{sun=0,mon=l,tue,wed,thu,fri,sat);printf(〃請輸入一個數(shù)字:〃);scanf(〃%d〃,&a);switch(a)(casemon:printf(〃星期一\nz,);break;casetue:printf(〃星期二\n〃);break;casewed:printf(〃星期三\n〃);break;casethu:printf(〃星期四\n〃);break;casefri:printf(〃星期五\n〃);break;casesat:printf(〃星期六\n〃);break;casesun:printf(〃星期日\n〃);break;default:printf(〃錯誤!\n〃);break;})四、編程題。.編寫程序,用結(jié)構(gòu)體類型數(shù)據(jù)存儲下面表格中的數(shù)據(jù),并輸出每一條記錄的值。numnameScorelScore2Score32018001Peter8590842018002Jack8680782018003Lily757270#include<stdio.h>ttinclude<stdio.h>structStu(intnum;charname[20];intscorel;intscore2;intscore3;);voidmain()(inti;floatsum=0.0;structStus[3]={{2018001,"Peter",85,90,84],{2018002,"Jack",86,80,78),{2018003,"Lily",75,72,70}};printf(〃num\tnanie\tScorel\tScore2\tScore3\n〃);for(i=0;i<3;i++)printf(,,%d\t%s\t%d\t%d\t%d\n,z,s[i].num,s[i].name,s[i].scorel,s[i].score2,s[i].score3);).編寫程序,通過指向結(jié)構(gòu)體變量的指針變量輸出結(jié)構(gòu)體變量中成員的信息。學號:2018001姓名:Peter性別:'M'年齡:18成績85#include<stdio.h>4include<stdio.h>structStuintnum;charname[20];charsex;intage;intscore;);voidmain()(structStus□={2018001,“Peter",'M',18,85},*p;P二s;printf(,,%d\t%s\t%c\t%d\t%d\n,/,p->num,p->name,p->sex,p->age,p->score);).編寫程序,在main函數(shù)中定義結(jié)構(gòu)體變量并賦初始值,然后在main函數(shù)中調(diào)用自定義函數(shù)print()將結(jié)構(gòu)體變量的成員逐一輸出,用指針實現(xiàn)。#include<stdio.h>4include<stdio.h>structStu(intnum;charname[20];charsex;intage;intscore;);voidprint(structStu*p,structStus[])(P=s;printf(,,%d\t%s\t%c\t%d\t%d\n,/,p->num,p->name,p->sex,p->age,p->score);)voidmain()(structStus口二{2018001,“Peter','M',18,85},*p;P=s;print(p,s);}.編寫程序,定義枚舉類型數(shù)據(jù)month,從鍵盤輸入1~12之間的整數(shù),輸出每個月的英文表示。ttinclude<stdio.h>voidmainO(inta;enummonth{Jan=l,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec);printf(〃請輸入一個數(shù)字scanf(〃%d〃,&a);switch(a)caseJan:printf(,,Jan\n,");break;caseFeb:printf(,zFeb\nz/);break;caseMar:printf(,zMar\n/z);break;caseApr:printf(,zApr\nz/
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 木聚糖酶產(chǎn)業(yè)分析報告
- 《藥事管理與法規(guī)》課程標準
- 剪發(fā)屬于合同范本
- 勞務(wù)合同范本定制
- 個人原因離職的辭職報告
- 各類模具加工合同范本
- 業(yè)務(wù)印章自查報告
- 接觸網(wǎng)中級工考試模擬題(附答案)
- 二手房房買賣合同范本
- 單位用工合同范本6
- 個人車輛出租合同范本
- 重慶市渝北區(qū)大灣鎮(zhèn)招錄村綜合服務(wù)專干(全考點)模擬卷
- PhotoShop機試試題(帶素材)
- 教務(wù)處教學教案作業(yè)檢查記錄表
- 美甲基礎(chǔ)理論精品專業(yè)課件
- 監(jiān)護人考試試題含答案
- 冀教版四年級下冊英語全冊教學設(shè)計(經(jīng)典,可直接打印使用)
- 新編地圖學教程(第三版)毛贊猷_期末復(fù)習知識點總結(jié)
- 經(jīng)銷商授權(quán)協(xié)議合同書(中英文對照)
- 初三化學公式大全
- 安裝超載限制器方案
評論
0/150
提交評論