版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C語(yǔ)言習(xí)題課
第1-8章林尚青2012-05-13第一題解析代碼題目找出下列程序的錯(cuò)誤關(guān)鍵字正確拼寫、大小寫敏感、括號(hào)引號(hào)等要匹配Viodmain(){Printf(“\nHello,World!)}第二題解析代碼題目++i與i++有何區(qū)別++i是先把i的值加1后再使用i的值i++是先使用i的值后再把它的值加1#include<stdio.h>voidmain(){ inta=2; intb=(a++)*(a++)*(a++); printf("%d,%d",a,b);}第三題解析代碼題目編一個(gè)程序,從鍵盤輸入一個(gè)5位正整數(shù),然后分別求出它的個(gè)位數(shù)、十位數(shù)、百位數(shù)、千位數(shù)和萬(wàn)位數(shù),并打印它的這五位數(shù)的和。printf和scanf函數(shù)的熟練使用#include<stdio.h>voidmain(){ intnum; scanf("%d“,&num); intge=num%10; intshi=num/10%10; intbai=num/100%10; intqian=num/1000%10; intwan=num/10000; printf("%d,%d,%d,%d,%d\t%d\n",ge,shi,bai,qian,wan,ge+shi+bai+qian+wan);}第四題代碼#include<stdio.h>voidmain(){ chara,b; scanf("%c",&a); //getchar(); scanf("%c",&b); printf("%c,%c",a,b);}問(wèn)題如何用scanf輸入兩個(gè)char的值?第五題解析答案題目輸入一個(gè)華氏溫度,根據(jù)公式為c=5/9(f-32)計(jì)算并輸出攝氏溫度,輸出要有文字說(shuō)明,取2位小數(shù)。請(qǐng)編程序。如何實(shí)現(xiàn)c=5/9(f-32)?5/9=?整型的運(yùn)算結(jié)果還是整型。#include<stdio.h>main(){floatf,c;printf("輸入華氏溫度:");scanf("%f",&f);c=5.0/9*(f-32);printf("攝氏溫度是:%.2f",c);}第六題解析答案題目編寫一個(gè)程序,顯示下列10個(gè)轉(zhuǎn)義字符:\a,\b,\n,\r,\t,\v,\’,\”,\\,\?。如何顯示轉(zhuǎn)義字符?#include<stdio.h>main(){printf("\\a,\\b,\\n,\\r,\\t,\\v,\\\',\\\",\\\\,\\\?");}第七題解析題目求分段函數(shù)y=f(x)的值。f(x)=2x^3-1x<=-1x^21<x<=0;sqrt(x)0<x<=13x+2x>1如何實(shí)現(xiàn)分段計(jì)算?用if語(yǔ)句實(shí)現(xiàn)。第七題答案#include<stdio.h>#include<math.h>voidmain(){doublex,y;printf(“Pleaseenterx:”);scanf("%lf",&x);if(x<=-1) y=2*x*x*x-1;elseif(x<=0) y=x*x;elseif(x<=1) y=sqrt(x);else y=3*x+2;printf("%lf",y);}第八題解析題目輸入一個(gè)字符,判斷輸入字符的種類,即區(qū)分空格、回車、數(shù)字字符、英文字母和其他字符(用if……elseif和switch語(yǔ)句編寫)如何用switch語(yǔ)句實(shí)現(xiàn)?第八題答案#include<stdio.h>voidmain(){ charc; c=getchar(); switch(c) { case'':printf("空格");break; case'\n':printf("回車");break; case'0': case'1': case'2': case'3': case'4': case'5': case'6': case'7': case'8': case'9':printf("數(shù)字");break; default:printf("英文"); }}第九題解析題目顯示Fibonacci數(shù)列中值小于15000的所有數(shù)據(jù)項(xiàng)(每行5輸出項(xiàng))F(0)=1,F(xiàn)(1)=1,F(xiàn)(n)=F(n-1)+F(n-2)(n>=2)如何保存F(n-1)和F(n-2)?使用三個(gè)變量分別表示F(n),F(n-1),F(n-2),假設(shè)為c,b,a初始a=1,b=1循環(huán)中,c=a+b,a=b,b=c第九題答案#include<stdio.h>main(){inta,b,c,I;a=1;b=1;for(inti=1;a<15000;i++){ c=a+b; printf("%d\t",a); a=b; b=c; if(i%5==0) putchar('\n');}}第十題解析答案題目以下不是死循環(huán)的是( )。A)for(;;x+=i);B)while(1){x++;}C)for(i=10;;i--)sum+=I;D)for(;(c=getchar())!=’\n’;)printf(“%c”,c);什么情況下會(huì)發(fā)生死循環(huán)?判斷條件永遠(yuǎn)為真。D第十一題解析答案題目執(zhí)行語(yǔ)句“for(i=0;i++<3;);”后,變量i的值為( )。A)2 B)3 C)4 D)5i=0,判斷i<3滿足,i++,i=1i=1,判斷i<3滿足,i++,i=2i=2,判斷i<3滿足,i++,i=3i=3,判斷i<3不滿足,i++,i=4,至此循環(huán)結(jié)束C第十二題解析題目輸出如下圖形: ABBBCCCCCDDDDDDD該幾層循環(huán)?第十二題答案#include<stdio.h>main(){intsp,i;charc;for(sp=3,c='A';sp>=0;sp--,c++){
for(i=1;i<=sp;putchar(''),i++); for(i=2*(c-'A')+1;i>0;i--) { putchar(c); } putchar('\n');}}第十三題解析題目計(jì)算a+aa+aaa……+aa……a(n個(gè)a)的值,n和a的值由鍵盤輸入。雙層循環(huán),外循環(huán)控制有幾項(xiàng),內(nèi)部循環(huán)控制每項(xiàng)有幾個(gè)a第十三題#include<math.h>#include<stdio.h>voidmain(){intn,a,i,j,sum=0,temp=0;printf("請(qǐng)輸入n和a的值,其中a為一位數(shù)(格式為n=?,a=?):");scanf("n=%d,a=%d",&n,&a);for(i=1;i<=n;i++){ for(j=i;j>0;j--) { temp+=a*(int)(pow(10,j-1)); } sum+=temp; temp=0;}printf("序列的和為sum=%d\n",sum);}第十四題解析答案題目下列敘述錯(cuò)誤的是___________。A)形參是局部變量B)復(fù)合語(yǔ)句中定義的變量只在該復(fù)合語(yǔ)句中有效C)主函數(shù)中定義的變量在整個(gè)程序中都是有效的D)其他函數(shù)中定義的變量在主函數(shù)中不能使用大部分人選DC第十五題解析題目利用隨機(jī)函數(shù)rand()計(jì)算圓周率的近似值。(比率)怎么計(jì)算圓周率?假如圓的半徑為r,則包圍圓的外切正方形的面積為2r*2r,圓的面積為πr^2,然后在這其中隨機(jī)取一些點(diǎn),假設(shè)最后在正方形中有n個(gè)點(diǎn),在圓中有k個(gè)點(diǎn),則有以下公式:πr^2/(2r*2r)=k/n。怎么判斷點(diǎn)在圓內(nèi)呢?x^2+y^2<=r^2。第十五題#include<stdio.h>#include<stdlib.h>#include<math.h>#include<time.h>doublecalPI(intn){intx,y,k=0,r=1000,i;for(i=0;i<n;i++){x=rand()%r+1;y=rand()%r+1;if(x*x+y*y<=1000000){ k++;}}returnk*4.0/n;}intmain(){intn;srand(time(NULL));while(1){scanf("%d",&n);if(n<=0)break;printf("PI=%f\n",calPI(n));}return0;}第十六題解析題目編寫函數(shù),驗(yàn)證陳景潤(rùn)的哥德巴赫猜想:任意大偶數(shù)為兩個(gè)素?cái)?shù)之和,并輸出這兩個(gè)素?cái)?shù)(所謂大偶數(shù)是指6開始的偶數(shù))。說(shuō)明:下面的程序,需要輸入查詢范圍的左右邊界a,b,然后程序會(huì)驗(yàn)證屬于(a,b)區(qū)間內(nèi)的所有偶數(shù)都是兩個(gè)素?cái)?shù)之和,并且會(huì)打印出這些素?cái)?shù)。判斷條件如何結(jié)束?當(dāng)找到一個(gè)不滿足條件的偶數(shù)就應(yīng)該跳出循環(huán)。第十六題#include<stdio.h>intsushu(intx){inti;for(i=2;i<x;i++){if(x%i==0) return0;}return1;}main(){inti,j,a,b;printf("輸入查詢范圍:(兩個(gè)偶數(shù))");scanf("%d%d",&a,&b);for(i=a;i<=b;i+=2){printf("%d:\n",i);for(j=2;j<=i/2;j++){if(sushu(j)&&sushu(i-j))printf("%d+%d=%d\n",j,i-j,i);}printf("\n");}}第十七題解析題目用遞歸算法,求出兩個(gè)正整數(shù)m、n的最大公約數(shù)。遞歸、輾轉(zhuǎn)相除法思想答案intgcd(intparA,intparB)//最大公約數(shù){if(parB==0){returnparA;}else{returngcd(parB,parA%parB);}}第十八題解析題目定義一個(gè)帶有3個(gè)參數(shù)的宏MAX,求3個(gè)參數(shù)中的最大值。MAX(a,b,c)a>b?(a>c?a:c):(b>c?b:c)答案#include<stdio.h>#defineMAX(a,b,c)a>b?(a>c?a:c):(b>c?b:c)voidmain(){floata,b,c;printf(“輸入三個(gè)數(shù):”);scanf(“%f%f%f”,&a,&b,&c);printf("最大值為%f",MAX(a,b,c));}第十九題解析題目輸入一個(gè)整數(shù),從高位到低位一次輸出各位數(shù)字,其間用逗號(hào)隔開。循環(huán)控制并放入一個(gè)數(shù)組中,然后逆序輸出。#include<stdio.h>voidmain(){inta[10],x,i;printf("輸入一個(gè)整數(shù):");scanf("%d",&x);for(i=0;x>0;i++){a[i]=x%10;x/=10;}for(i--;i>=0;i--)printf("%d,",a[i]);printf("\b");}#include<stdio.h>voidmain(){charnum[21]={0};inti;scanf("%s",num);for(i=0;i<20&&num[i]!='\0';i++){if(num[i+1]=='\0'){ printf("%c",num[i]);}else{ printf("%c,",num[i]);} }}投機(jī)的方法第二十題解析題目若某數(shù)的平方具有對(duì)稱性質(zhì),則稱該數(shù)為回文數(shù)。例如11的平方121,則稱11為回文數(shù)。請(qǐng)找出1~999中的所有回文數(shù)。求出平方數(shù)后放入數(shù)組a,并判斷a[j]與a[n-1-j]是否相等。其中,n為平方數(shù)的位數(shù)。第二十題答案#include<stdio.h>voidmain(){intx,i,j,a[10],wei,p,n=0;for(i=1;i<1000;i++){p=1;x=i*i;for(j=0;x>0;j++){ a[j]=x%10; x/=10;}wei=j;for(j=0;j<wei/2;j++){ if(a[j]!=a[wei-1-j]) { p=0; break; }}if(p==1){ printf("%d\t",i); n++; if(n%5==0) printf("\n");} }}常見錯(cuò)誤一解析錯(cuò)誤類型#defineRr;
#define<常量名><值常量>值常量必須是像60這樣的常量或者已經(jīng)定義的宏變量例如:#defineSCORE60#defineTOTAL6*SOCRE宏定義的末尾不能加分號(hào)常見錯(cuò)誤二解析錯(cuò)誤類型用賦值“=”運(yùn)算符代替判斷“==”運(yùn)算符if(a==b)就是在判斷a是否等于bif(a=b),如果b!=0,則條件為真常見錯(cuò)誤三解析錯(cuò)誤類型條件操作三目運(yùn)算符“?:”錯(cuò)誤:max=a?b:a>b;正確:max=a>b?a:b;常見錯(cuò)誤四解析錯(cuò)誤類型邊界問(wèn)題,?如逆續(xù)輸出一個(gè)5個(gè)元素的數(shù)組錯(cuò)誤:for(i=5;i>0;i--)printf("%d\t",a[i]);正確:for(i=4;i>0;i--)printf("%d\t",a[i]);常見錯(cuò)誤五解析錯(cuò)誤類型函數(shù)聲明、函數(shù)調(diào)用voidf();//聲明voidf(){……}//定義voidmain(){f1();//調(diào)用}函數(shù)調(diào)用時(shí)不需要寫void常見錯(cuò)誤六解析錯(cuò)誤類型返回類型與變量類型不吻合intf(){doublep=0.0;returnp;}常見錯(cuò)誤七解析錯(cuò)誤類型循環(huán)中使用不存在的變量intf1,f2,f3,f4,f5,f6;for(i=0;i<6;i++){printf("輸入第%d個(gè)數(shù):",i+1);scanf("%d",&fi);sum=sum+tmp;}應(yīng)該定義一個(gè)數(shù)組,然后輸入到每個(gè)數(shù)組元素中。int
f[6];for(i=0;i
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年項(xiàng)目利潤(rùn)分配協(xié)議
- 2024年采沙場(chǎng)工人勞動(dòng)合同2篇
- 2024幼兒園幼兒教育項(xiàng)目合作協(xié)議3篇
- 2024年環(huán)保要求土建工程合同示范文本3篇
- 2025年度數(shù)字經(jīng)濟(jì)股權(quán)優(yōu)化與產(chǎn)業(yè)生態(tài)構(gòu)建協(xié)議3篇
- 2024年酒類產(chǎn)品原料供應(yīng)合同
- 2024版區(qū)塊鏈技術(shù)應(yīng)用合同
- 2024版租賃投資回報(bào)保證協(xié)議3篇
- 2024年鐵路貨運(yùn)運(yùn)輸工程居間服務(wù)協(xié)議3篇
- 2024年綠色施工環(huán)保合同:建設(shè)工程版
- (新版)焊工(初級(jí))理論知識(shí)考試200題及答案
- 滿堂腳手架計(jì)算書
- MRAS系統(tǒng)標(biāo)準(zhǔn)用戶手冊(cè)
- HAPS系統(tǒng)實(shí)現(xiàn)協(xié)同仿真驗(yàn)證-基礎(chǔ)電子
- 歐洲地下車庫(kù)誘導(dǎo)通風(fēng)系統(tǒng)設(shè)計(jì)手冊(cè)
- 現(xiàn)代文答題技巧課件2023年中考語(yǔ)文二輪復(fù)習(xí)
- YS/T 673-2013還原鈷粉
- TY/T 3001-2006中國(guó)青少年兒童 手腕骨成熟度及評(píng)價(jià)方法
- GB/T 32545-2016鐵礦石產(chǎn)品等級(jí)的劃分
- 福建省地方標(biāo)準(zhǔn)《先張法預(yù)應(yīng)力混凝土管樁基礎(chǔ)技術(shù)規(guī)程》DBJ13-2023
- 危險(xiǎn)作業(yè)監(jiān)護(hù)人員培訓(xùn)
評(píng)論
0/150
提交評(píng)論