




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
《程序設(shè)計基礎(chǔ)》習(xí)題參考答案與部分解析第1章C語言概述一、填空a)C源程序的基本單位是函數(shù)。b)一個C程序中至少應(yīng)包括一個main函數(shù)。c)在C語言中,輸出操作是有庫函數(shù)printf()函數(shù)完成。二、單選題1、A2、C3、B解析:第1題答案:A。因為一個C程序總是從main函數(shù)開始執(zhí)行的,而不論main函數(shù)在程序中的位置。且到main函數(shù)結(jié)束。第2題答案:C。因為main函數(shù)沒有限制必須位于程序的最前面。C程序書寫自由,一行內(nèi)可寫幾個語句。在對一個C程序進(jìn)行編譯的過程中,無法檢查注釋當(dāng)中的拼寫錯誤。不過C語言本身并沒有輸入輸出語句,輸入輸出是由函數(shù)完成的。第3題答案:B。因為一個C語言程序是由若干個函數(shù)組成的。但至少包含一個main函數(shù),且main函數(shù)的位置不限。三、編程題1、編寫一個輸出“WelcometoC!”信息的小程序。解:程序如下#include“stdio.h”main(){printf(“WelcometoC!”);}2、已知三角形的三邊長分別為3,4,5,試用海輪公式編程求其面積。海倫公式為:S△=,其中s=(a+b+s)/2;解:程序如下#include“math.h”#include“stdio.h”main(){inta,b,c;/*a,b,c3個整型變量表示三角形的3條邊。*/floats,s1;/*s1作為面積變量,s作為中間變量是都應(yīng)該是實形*/a=3;b=4;c=5;s=(a+b+c)/2.0;s1=sqrt(s*(s-a)*(s-b)*(s-c));/*sqrt函數(shù)完成開平方根功能。*/printf(“area=%f\n”,s1);}第2章程序設(shè)計基礎(chǔ)知識一、單選題1、C2、A3、C4、A5、C6、C7、D8、C9、D10、A11、D12、A13、C14、C15、BA16、B17D解析:1.答案:C。這里考察的是用戶標(biāo)識符的定義。用戶標(biāo)識符由字母、數(shù)字、下劃線組成。且必須以字母或下劃線開頭,區(qū)分大小寫,且不能與C語言已有的32個關(guān)鍵字同名。由于選擇不合法的用戶標(biāo)識符,A項的A、P_0、Do都是合法的用戶標(biāo)識符;B項的_A是合法的;D項的_123、temp、INT也都是合法的。只有C選項的標(biāo)識符都是錯誤的用戶標(biāo)識符。2.答案:A。這里考察的是整型常量的概念。B項當(dāng)中01a不正確,C項當(dāng)中的0668不是正確的八進(jìn)制常量,D項當(dāng)中的2e5是float型常量。3.答案:C。這里考察的是字符常量的定義。字符常量是用單撇號括起來的單個字符或轉(zhuǎn)義字符。所以答案是C。4.答案:A。字符變量只能包含一個字符。5.答案:C。這里考察的是轉(zhuǎn)義字符的正確表示。C項的’074’是錯誤的轉(zhuǎn)義字符,正確表示方法是’\074’。6.答案:C。字符變量只能包含一個字符,而C項的c=’yes’是錯誤的。7.答案:D。這里考察的是輸入格式的控制。輸入格式要與scanf語句中字符串格式相對應(yīng)。8.答案:C。這里考察的是輸出格式和字符對應(yīng)的ASCII碼值?!疉’的ASCII碼值是65,’Y’字符的ASCII碼值是89。9.答案:D。這里考察輸入格式和輸出結(jié)果形式。由于輸入格式不正確,所以輸出的是不確定值。10.答案:A。這里考察的是標(biāo)識符的特點區(qū)分大小寫,變量sum和變量sUM是兩個不同的變量,sum并沒有參加運算,所以它的值不邊仍然是7。11.答案:D。%運算符要求兩邊的運算數(shù)必須是整型。12.答案:A。這里考察的是復(fù)合賦值運算。a%=b+1;等價與a=a%(b+1);由于a=10,b=4;所以運算后a的值是0。13.答案:C。這里考察的是在變量定義類型是進(jìn)行賦值操作。要求a,b,c都賦值為5,且為int類型。只有C正確。14.答案:C。這里考察的是類型的自動轉(zhuǎn)換,只要有單精度類型或雙精度類型參加運算,結(jié)果都是double(雙精度)類型。15.答案:B,A。這里考察的是邏輯表達(dá)式的運算過程。表達(dá)式1&表達(dá)式2,若表達(dá)式1的值是0的話,結(jié)果就是0,表達(dá)式2就不參加運算。要注意:賦值表達(dá)式的值是左邊賦值變量的值。所以答案為B,A。16.答案:B。這里考察的是逗號表達(dá)式運算過程是從第1個表達(dá)式開始運算,然后依次運行到最后一個表達(dá)式。逗號表達(dá)式的值是最后表達(dá)式的值,且注意逗號運算符優(yōu)先級低于賦值運算符。所以表達(dá)式(a=2,b=5,b++,a+b)運算過程a=2—>b=5—>b++—>a+b=8;結(jié)果是8。17.答案:D。這里考察的是條件表達(dá)式的結(jié)合性是從右向左。所以k<a?k:c<b?c:a;等價于k<a?k:(c<b?c:a);先運算c<b?c:a;的值是1,然后計算k<a?k:1;的值是1。二、填空題1、-32768-327672、字母,數(shù)字,下劃線3、分號(;)4、30,155、186、07、-2648、79、010、111、y%2==112、x<z||y<z13、014、(x>2&&x<3)||x<-1015、1三、編程題1、編寫程序,輸入一個長方形的二邊長,輸出其面積。解:程序如下#include“stdio.h”main(){inta,b,s;/*a,b作為長方形的兩個邊長,s為面積。*/printf(“請輸入兩個邊長\n”);scanf(“%d%d”,&a,&b);s=a*b;printf(“Thearea:%d\n“,s);}2、設(shè)置半徑為r=2.9,編程求圓周長和圓面積解:程序如下#include“stdio.h”#definePI3.14main(){floatr,L,S;L=2*PI*r;S=PI*r*r;printf(“L=%f,S=%f\n“,L,S);}3、輸入一個華氏溫度,輸出相應(yīng)的攝氏溫度。二者的換算公式是:c=5/9(F–32),其中F表示華氏溫度,c表示攝氏溫度。解:程序如下#include“stdio.h”main(){floatc,F;printf(“請輸入一個華氏溫度:\n”);scanf(“%f”,&F);c=(float)5/9*(F-32);printf(“F=%f,c=%f\n”,F,c);}第3章程序設(shè)計初步一、單選題1、C2、C3、B4、B5、B解析:1.答案:C。這里考察的是if-else語句和表達(dá)式中有增量和減量的執(zhí)行過程。if(m++>5)printf(“%d\n”,m);elseprintf(“%d\n”,m++);先執(zhí)行m>5的值是0,然后執(zhí)行m=m+1;得到m=6;由于m>5的值是0所以執(zhí)行else語句,應(yīng)先輸出m的值是6,然后m再自增一個單位變成7。2.答案:C。這里考察的是if語句的嵌套。根據(jù)else子句總是與之前最近的if語句配對來進(jìn)行選擇滿足條件的答案。3.答案:B。這里也考察的是if語句的嵌套。同理:if(x<y)if(y<0)z=0;elsez+=1;等價與if(x<y){if(y<0)z=0;elsez+=1;}因此答案是B。4.答案:B。這里考察的是if語句的嵌套。根據(jù)else子句總是與之前最近的if語句配對。5.答案:B。由于B項:if(x=y)&&(x!=0)x+=y;if后的條件表達(dá)式?jīng)]有用圓括號括起來。正確的是:if((x=y)&&(x!=0))x+=y;二、根據(jù)要求完成程序填空1、z>yz>xy>x2、ch>=‘A’&&ch<=’Z’ch=ch-323、x<0x/10y!=2三、編程題1、編寫一個程序,要求用戶從終端鍵入兩個整數(shù)數(shù)值。檢測這兩個數(shù),判定第一個數(shù)是否能被第二數(shù)整除,并在終端上顯示相應(yīng)的信息。解:程序如下#include“stdio.h”main(){inta,b;/*a為第一個數(shù),b為第二個數(shù)*/printf(“Pleaseinputtwonumbers:\n”);scanf(“%d%d”,&a,&b);if(a%b==0)printf(“%d能被%d整除。\n”,a,b);elseprintf(“%d不能被%d整除。\n”,a,b);}2、有3個整數(shù)a,b,c,由鍵盤輸入,輸出其中最大的數(shù)。解:程序如下#include“stdio.h”main(){inta,b,c,max;printf(“Pleaseinputthreenumbers:\n”);scanf(“%d%d%d”,&a,&b,&c);if(a>b)max=a;elsemax=b;if(max<c)max=c;printf(“Themaxis%d\n”,max);}3、給出一百分制成績,要求輸出成績等級A、B、C、D、E。其中90分以上為A,80~89分為B,70~79為C,60~69為D,60分以下為E。解:程序如下#include“stdio.h”main(){floatscore;intgrade;printf(“Pleaseinputascore:\n”);scanf(“%f“,&score);grade=(int)score/10;switch(grade){case10:case9:printf(“gradeisA\n”);break;case8:printf(“gradeisB\n”);break;case7:printf(“gradeisC\n”);break;case6:printf(“gradeisD\n”);break;default:printf(“gradeisE\n”);}}4、新世紀(jì)百貨進(jìn)行打折促銷活動,消費金額(P)越高,折扣(d)越大,標(biāo)準(zhǔn)如下:消費金額折扣P<1000%100≤P<2005%200≤P<50010%500≤P<100015%P≥100020%編程實現(xiàn)從鍵盤輸入消費金額,輸出折扣率和實付金額(f)。要求分別用if語句和switch語句實現(xiàn)。解:(1)用if語句編程實現(xiàn)如下#include“stdio.h”main(){floatP,d,f;printf(“輸入消費金額:\n”);scanf(“%f”,&P);if(P<100)d=0;if(P>=100&&P<200)d=0.05;if(P>=200&&P<500)d=0.10;if(P>=500&&P<1000)d=0.15;if(P>=1000)d=0.20;f=P*(1-d);printf(“折扣是%f,則實付金額為%f\n”,d,f);}(2)用switch語句編程實現(xiàn)如下#include“stdio.h”main(){floatP,d,f;intc;printf(“輸入消費金額:\n”);scanf(“%f”,&P);c=(int)P/100;switch(c){case0:d=0;break;case1:d=0.05;break;case2:case3:case4:d=0.10;break;case5:case6:case7:case8:case9:d=0.15;break;default:d=0.20;}f=P*(1-d);printf(“折扣是%f,則實付金額為%f\n”,d,f);}第4章循環(huán)結(jié)構(gòu)程序設(shè)計一、單項選擇1、A2、D3、C4、D5、B6、D7、B8、B二、按要求完成程序填空1、c!=’\n’c>=’0’&&c<=’9’2、i%3==2&&i%5==3&&i%7==2j%5==03、i<10j%3!=0三、編程題1、編程求n的階乘(n由鍵盤輸入)。解:程序如下#include“stdio.h”main(){intn,i;longfac;fac=1;printf(“Inputanumber:”);scanf(“%d”,&n);i=1;while(i<=n){fac=fac*i;i++;}printf(“%d!is%ld\n”,n,fac);}2、計算1!+2!+3!+…+10!的值。解:方法一#include“stdio.h”main(){inti=1,j;doublefac,sum=0;while(i<=10){j=1;Fac=1;while(j<=i){fac=fac*j;j++;}sum=sum+fac;i++;}printf(“1!+2!+3!+…+10!=%.0f\n”,sum);}方法二:#include“stdio.h”main(){inti,j;doublefac,sum=0;for(i=1;i<=10;i++){for(j=1,fac=1;j<=i;j++)fac=fac*j;sum=sum+fac;}printf(“1!+2!+3!+…+10!=%.0f\n”,sum);}方法三:#include“stdio.h”main(){inti;doublefac,sum;sum=0;fac=1;for(i=1;i<10;i++){fac=fac*i;sum=sum+fac;}printf(“1!+2!+3!+…+10!=%.0f\n”,sum);}3、求Sn=a+aa+aaa+…+aaa…a(n個a)的值,其中a是一個數(shù)字。例如:3+33+333+3333(此時n=4),n由鍵盤輸入。解:程序如下#include“stdio.h”main(){inta,n,i;longSn,t;Sn=0;printf(“Pleaseinputa:\n”);scanf(“%d”,&a);printf(“Pleaseinputn:\n”);scanf(“%d”,&n);t=a;for(i=1;i<=n;i++){Sn=Sn+t;t=t*10+a;}printf(“Sn=%ld\n”,Sn);}4、打印出所有的“水花仙數(shù)”,所謂“水花仙數(shù)”是指一個3位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如,153是一個水花仙數(shù)。解:程序如下#include“stdio.h”main(){intt,a,b,c,n;/*變量n為統(tǒng)計水花仙數(shù)的個數(shù)*/n=0;for(t=100;t<1000;t++){a=t/100;b=(t–a*100)/10;c=t%10;if(a*a*a+b*b*b+c*c*c==t){n++;if(n%6==0)printf(“\n”);printf(“%5d”,t);}}}6、每個蘋果0.8元,第一天買2個蘋果,第二天開始,每天買前一個的2倍,直至購買的蘋果個數(shù)達(dá)到不超過100的最大值。編寫程序求每天平均花多少錢?解:程序如下#include“stdio.h”main(){intday,num,sum;floatmoney,every;sum=0;num=2;for(day=1;num<100;){sum=sum+num;day++;num=num*2;}money=sum*0.8;every=money/day;printf(“every=%f\n”,every);}7、變成完成用一元人民幣換成一分、二分、五分的所有兌換方案,即輸出所有滿足搭配要求的1分幣個數(shù),2分幣個數(shù),5分幣個數(shù)。解:程序如下:#include“stdio.h”main(){intone,two,five;for(one=0;one<=100;one++)for(two=0;two<=50;two++)for(five=0;five<=20;five++)if(one+two*2+five*5==100)printf(“one=%d,two=%d,five=%d\n”,one,two,five);}第5章模塊化程序設(shè)計---函數(shù)一、單選題1、B2、B3、A4、A5、D6、D7、B8、B9、B10、A二、編程題1、已知三角形的三邊長,編一實現(xiàn)求三角形面積的功能函數(shù)。說明:用海倫公式來求面積,但要注意輸入的三邊長要符合構(gòu)成三角形的條件。海倫公式為:SΔ=(其中:s=(a+b+c)/2)解:程序如下#include“stdio.h”#include“math.h”floatArea(inta,intb,intc){floats,area;s=(float)(a+b+c)/2;if((a+b>c)&&(a-b)<c)area=sqrt(s*(s-a)*(s-b)*(s-c));elsearea=0;returnarea;}main(){inta,b,c;floatarea;floatArea(int,int,int);printf(“請輸入三角形的三邊長\n”);scanf(“%d%d%d”,&a,&b,&c);area=Area(a,b,c);if(area!=0)printf(“area=%f\n”,area);elesprintf(“error!\n”);}2、寫一個判斷素數(shù)的函數(shù),在主函數(shù)輸入一個整數(shù),輸出是否素數(shù)的信息。解:程序如下#include“stdio.h”intprime(intn){intt,a=1;for(t=2;t<=n/2;t++)if(n%t==0){a=0;break;}returna;}main(){intn;printf(“inputanumber:\n”);scanf(“%d”,&n);if(prime(n)==1)printf(“%disprime\n”,n);elesprintf(“%disnotprime\n”,n);}3、編寫函數(shù),求1!+2!+3!+…+K!的和。解:程序如下#include“stdio.h”doubleSUM(intk){inti,j;doublefac,sum;sum=0;fo
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 專項5 標(biāo)點(原卷版)
- 河北省石家莊市新樂一中2024-2025學(xué)年高一下學(xué)期第一次月考生物試題(原卷版+解析版)
- 商品陳列大全
- 2025年初中魯科版(五四學(xué)制)八年級上冊第四章第二節(jié)《探究凸透鏡成像規(guī)律》說課稿
- 【國金證券】人形機(jī)器人行業(yè)研究:人形機(jī)器人從理想走進(jìn)現(xiàn)實
- 英語護(hù)士應(yīng)聘簡歷
- 2025年廣東省初中學(xué)業(yè)水平考試模擬英語試題(原卷版+解析版)
- 《會計信息系統(tǒng)應(yīng)用》課件 學(xué)習(xí)情境2 系統(tǒng)管理和基礎(chǔ)設(shè)置
- 二零二五年度北京市電子產(chǎn)品寄存與智能監(jiān)控服務(wù)協(xié)議
- 二零二五年度辦公空間互換及增值服務(wù)合作協(xié)議
- 成人體外膜肺氧合患者院內(nèi)轉(zhuǎn)運護(hù)理共識
- 天策科技50t年高性能瀝青基碳纖維產(chǎn)業(yè)化項目環(huán)境影響報告書
- GB/T 210.1-2004工業(yè)碳酸鈉及其試驗方法第1部分:工業(yè)碳酸鈉
- 《八段錦教學(xué)》課件
- 醫(yī)務(wù)人員行為規(guī)范及服務(wù)禮儀課件
- 行政職能-PPT課件
- 化工設(shè)計概論(第二版)完整版課件(全)
- 直播運營實戰(zhàn):淘寶直播運營課件
- 數(shù)據(jù)采集系統(tǒng)基本組成.ppt
- 建設(shè)工程項目施工安全管理流程圖
- (完整版)質(zhì)量目標(biāo)細(xì)化分解方案-橋梁工程
評論
0/150
提交評論