C語言程序設(shè)計 第五章-循環(huán)結(jié)構(gòu)程序設(shè)計ppt課件.ppt

C語言程序設(shè)計 第五章-循環(huán)結(jié)構(gòu)程序設(shè)計ppt課件.ppt

ID:59421646

大小:370.00 KB

頁數(shù):43頁

時間:2020-09-19

C語言程序設(shè)計 第五章-循環(huán)結(jié)構(gòu)程序設(shè)計ppt課件.ppt_第1頁
C語言程序設(shè)計 第五章-循環(huán)結(jié)構(gòu)程序設(shè)計ppt課件.ppt_第2頁
C語言程序設(shè)計 第五章-循環(huán)結(jié)構(gòu)程序設(shè)計ppt課件.ppt_第3頁
C語言程序設(shè)計 第五章-循環(huán)結(jié)構(gòu)程序設(shè)計ppt課件.ppt_第4頁
C語言程序設(shè)計 第五章-循環(huán)結(jié)構(gòu)程序設(shè)計ppt課件.ppt_第5頁
資源描述:

《C語言程序設(shè)計 第五章-循環(huán)結(jié)構(gòu)程序設(shè)計ppt課件.ppt》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、第5章循環(huán)結(jié)構(gòu)程序設(shè)計概述當(dāng)對某段程序要重復(fù)執(zhí)行時,用循環(huán)語句。種類:4、if-goto語句1、while語句2、do-while語句3、for語句while語句用來實現(xiàn)當(dāng)某個條件滿足時,對一段程序進(jìn)行重復(fù)執(zhí)行的操作(當(dāng)型循環(huán))。while語句的一般格式:while(表達(dá)式)語句當(dāng)表達(dá)式的值為真(非零)時,重復(fù)執(zhí)行語句,直到邏輯表達(dá)式的值為假,跳出循環(huán)。說明:如果需要重復(fù)執(zhí)行的部分(循環(huán)體)為多條語句,則需要構(gòu)成一個復(fù)合語句。表達(dá)式語句非00while語句例用while循環(huán)求1—100的和/#includemain(){inti,s

2、um=0;/*sum累加器*/i=1;/*循環(huán)控制初值*/while(i<=100)/*{循環(huán)體}*/{sum=sum+i;i++;/*邏輯表達(dá)式值可變*/}printf("%d",sum);}邏輯表達(dá)式例輸入若干個學(xué)生成績,輸入-1表示結(jié)束,求平均成績。程序如下main(){inti,score,sum=0;i=0;/*學(xué)生人數(shù)計數(shù)器初值*/printf("pleaseinputscore:");scanf("%d",&score);while(score!=-1){sum=sum+score;i++;scanf("%d",&score);}i

3、f(i)printf("average=%f",(float)sum/i);}在while循環(huán)中需要注意:1、while語句之前必須預(yù)先設(shè)置判斷的初始條件。2、防止“死循環(huán)”的發(fā)生在循環(huán)體中要有能讓邏輯表達(dá)式值改變的語句。如前例的i++;和上例的scanf();能正確出循環(huán)。3、正確使用復(fù)合語句當(dāng)循環(huán)體中含多條語句時,需用{}將這些語句括起來,構(gòu)成一個復(fù)合語句;若無花括號,編譯不會出錯,它認(rèn)為循環(huán)體僅含后面的第一條語句,偏離設(shè)計。4、while()后面不能加分號;如果后面緊跟分號,編譯系統(tǒng)認(rèn)為循環(huán)體是一條空語句,造成“死循環(huán)”。一般形式是:do語

4、句while(表達(dá)式)先執(zhí)行該循環(huán)體語句,再判斷while中的表達(dá)式,若為真,則繼續(xù)執(zhí)行循環(huán)體,否則,執(zhí)行while后面的語句。語句表達(dá)式非00do-while語句流程3.4.2do-while語句看前面的例子,如果簡單的將其用do-while語句寫成如下的程序。main(){inti,score,sum=0;i=0;do{scanf("%d",&score);sum=sum+score;i++;}while(score!=-1)printf("average=%f",(float)sum/i);}不能正確實現(xiàn)題目要求。請分析這里存在的問題。ma

5、in(){inti,score,sum=1;i=-1;do{scanf("%d",&score);sum=sum+score;i++;}while(score!=-1);if(i)printf("average=%f",(float)sum/i);}例要用do-while語句實現(xiàn),應(yīng)重新設(shè)置初值。顯然比while語句簡練但需改變初值例3.17任意輸入一個整數(shù),將該數(shù)各位倒序輸出。程序一:用while語句實現(xiàn)main(){intnumber,digit;printf("pleaseinputdata:");scanf("%d",&number);w

6、hile(number!=0){digit=number%10;printf("%d",digit);number=number/10;}}此程序輸入為0時沒有輸出程序二:用do-while語句實現(xiàn)main(){intnumber,digit;printf("pleaseinputdata:");scanf("%d",&number);do{digit=number%10;printf("%d",digit);number=number/10;}while(number!=0);}此程序輸入為0時仍有輸出特點(diǎn):先執(zhí)行循環(huán)體,后判斷表達(dá)式說明:至少執(zhí)行

7、一次循環(huán)體do~while可轉(zhuǎn)化成while結(jié)構(gòu)expr循環(huán)體假(0)真(非0)循環(huán)體While循環(huán)例3.18根據(jù)下面的泰勒級數(shù),求sinx的近似值。sinx=要求誤差小于10-6。這是求累加和的問題,用遞推法求各項,即本項用前項遞推產(chǎn)生,這是程序設(shè)計中常見的做法。可以看出后項和前項之間存在關(guān)系式:T=-T前*X2/(i*(i-1))(其中,i=3,5,7…)程序設(shè)計中用變量t存儲當(dāng)前項,初值為第一項x,遞推語句為:t=-t*x2/(i*(i-1));累加語句為:s=s+t;循環(huán)體至少執(zhí)行一次,用do-while實現(xiàn)。...…++-++-+-)!12

8、()1(!7!5!32753ixxxxxii+1#includemain(){inti;fl

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。