




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第八講循環(huán)語句教學(xué)目的與要求:了解循環(huán)作用及實現(xiàn)方法掌握while、do-while、for循環(huán)語句的格式和使用教學(xué)內(nèi)容提要:1、循環(huán)的概述2、while循環(huán)語句3、do-while循環(huán)語句4、for循環(huán)語句教學(xué)重點:while、do-while、for循環(huán)語句的格式和使用教學(xué)難點:while、do-while、for循環(huán)語句的格式和使用教學(xué)進度:P115~P124教學(xué)過程:采用循環(huán)(或稱重復(fù))結(jié)構(gòu)是計算機程序的一個重要特征。計算機運算速度快,最宜于用于重復(fù)性的工作。在循環(huán)算法中,窮舉與迭代是兩類具有代表性的基本應(yīng)用。
迭代與窮舉算法1.迭代
迭代是一個不斷用新值取代變量的舊值,或由舊值遞推出變量的新值的過程。例1:人口增長問題。按年0.2%的增長速度,現(xiàn)有13億人,10年后將有多少人?
設(shè)現(xiàn)人口數(shù)為m=13,則第1年后人口變?yōu)椋?/p>
m=m*(1+0.2%)
即將m的值用m*(1+2%)替代。用循環(huán)結(jié)構(gòu)實現(xiàn),重復(fù)操作的內(nèi)容是不斷從一個變量的舊值出發(fā)計算它的新值。1、循環(huán)的概述迭代與下列因素有關(guān):
·初值;
·迭代公式;
·迭代次數(shù)或迭代終止標志。2.窮舉窮舉是另一種重復(fù)型算法。它的基本思想是,對問題的所有可能狀態(tài)一一測試,直到找到解或?qū)⑷靠赡軤顟B(tài)都測試過為止。循環(huán)控制有兩種辦法:計數(shù)法與標志法。計數(shù)法要先確定循環(huán)次數(shù),然后逐次測試,完成測試次數(shù)后,循環(huán)結(jié)束。標志法是達到某一目標后,使循環(huán)結(jié)束。例3:輸入10個數(shù),將最大的一個數(shù)打印出來。目前還沒有合適的方法來存儲10個數(shù)。為此可以考慮類似打擂臺一樣的一種算法:
S1:輸入1個數(shù),暫時作為擂主——最大數(shù)。
S2:輸入9個數(shù)——窮舉這9個數(shù),每輸入一個,打一次擂臺——把最大數(shù)與剛輸入的數(shù)據(jù)進行比較,把大者作為新擂主——最大數(shù)。
S3:輸出最大數(shù)。真(非零)表達式
循環(huán)體假(零)1)、while語句的形式:
while(表達式)循環(huán)體;
2)、
while語句常稱為“當(dāng)型”循環(huán)語句。2、while循環(huán)語句:例
求∑n用傳統(tǒng)流程圖和N-S結(jié)構(gòu)流程圖表示算法,見圖(a)和圖(b)。100n=1根據(jù)流程圖寫出程序:main(){inti,sum=0;i=1;while(i<=100){sum=sum+i;i++;}printf("%d",sum);}3)、說明:先判斷表達式,后執(zhí)行語句。表達式同if語句后的表達式一樣,可以是任何類型的表達式。循環(huán)體多于一句時,用一對{}括起。while循環(huán)結(jié)構(gòu)常用于循環(huán)次數(shù)不固定,根據(jù)是否滿足某個條件決定循環(huán)與否的情況。例:分析下列程序段的循環(huán)次數(shù)i=1;while(i<=100)putchar(‘*’);i++;
#include"stdio.h"voidmain(){charch;intnum=0;ch=getchar();【例2】統(tǒng)計從鍵盤輸入的一行字符的個數(shù)(以回車鍵作為輸入結(jié)束標記)。while(ch!='\n')判斷是否輸入結(jié)束{num++;ch=getchar();}printf("num=%d\n",num);}例4Fibonacci算法C語言的程序?qū)崿F(xiàn)。Fibonacci數(shù)列:1,1,2,3,5,8,13,21,34,…公式:fib1=fib2=1 (1)fibn=fibn-1+fibn-2(n>=3) (2)
/******計算Fibonacci數(shù)******/#include<stdio.h>intmain(void){intfib1=1,fib2=1,fib,i=3;while(i<=12){ fib=fib1+fib2; fib1=fib2;fib2=fib; i++;}printf(“TheFibonaccinumberafter1yeris:%d\n”,fib);return0;}3、do—while循環(huán)語句1)、do--while的形式:
do{循環(huán)體;}while(表達式);2)、do--while語句常稱為“直到型”循環(huán)語句。真(非零)表達式
循環(huán)體假(零)例
用do~while語句求∑n。先畫出流程圖,見圖。100n=1程序如下:main(){inti,sum=0;i=1;do{sum=sum+i;i++;}while(i<=100);printf("%d",sum);}3)、說明:先執(zhí)行循環(huán)語句,后判斷表達式。第一次條件為真時,while,do-while等價;第一次條件為假時,二者不同。【例1】用do-while語句編寫程序統(tǒng)計從鍵盤輸入的一行非空字符的個數(shù)(以回車鍵作為輸入結(jié)束標記)。
#include"stdio.h"voidmain(){charch;intnum=0;ch=getchar();do{if(ch!=‘’)num++;ch=getchar();}while(ch!='\n');printf("num=%d\n",num);}if(ch!=‘\n’){}注意在if、while語句中,表達式后面都沒有分號,而在do-while語句的表達式后面則必須加分號。do-while和while語句相互替換時,要注意修改循環(huán)控制條件。表達式3計算表達式1循環(huán)體判斷表達式2零非零for的下一條語句2、執(zhí)行過程
for(i=1,sum=0;i<=100;i++)sum=sum+i;
例如:它相當(dāng)于以下語句:
i=1;
while(i<=100){sum=sum+i;i++;
}表達式1;while(表達式2)表達式3;(4)可以省略表達式1和表達式3,只有表達式2,如:
i=1;sum=0;for(;i<=100;){sum=sum+i;i++;}i=1;sum=0;while(i<=100)
{sum=sum+i;i++;}相當(dāng)于for語句中表達式省略的形式(3)表達式3也可以省略,但此時保證循環(huán)能正常結(jié)束如:for(sum=0,i=1;i<=100;){sum=sum+i;i++;}while(1)循環(huán)體;即不設(shè)初值,不判斷條件,循環(huán)變量不增值。無終止地執(zhí)行循環(huán)體。(5)三個表達式都可省略,如
for(;;)循環(huán)體;for語句中表達式省略的形式如:sum=0,i=1;for(;;){if(i>100)break;sum=sum+i;i++;}相當(dāng)于(1)給累乘器賦初值,一般為1;(2)用循環(huán)語句實現(xiàn)累乘;for(循環(huán)變量賦初值;循環(huán)條件;循環(huán)變量改變規(guī)律)(3)循環(huán)體設(shè)計。累乘器當(dāng)前值=累乘器原值*循環(huán)變量當(dāng)前值;例4:求累乘積。如:1×2×3×...×100基本方法:屬于“累乘器”類型問題。累乘器賦初值求n!=1×2×3×…n參考程序:voidmain(){doubles=1;intk
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度特種作業(yè)安全協(xié)議書:包工頭與工人安全保障
- 二零二五年度汽修廠汽車維修市場分析承包協(xié)議
- 2025年度新能源儲能技術(shù)公司成立合作協(xié)議
- 幼兒園實習(xí)教師實習(xí)期間安全責(zé)任及意外傷害賠償合同
- 部編版小學(xué)道德與法治五年級下冊1《讀懂彼此的心》課件
- 校領(lǐng)導(dǎo)發(fā)言稿
- 2025年臨夏貨運資格證考題
- 中考百日沖刺班會 課件:拼搏奮進逐夢前行
- 2025年江西道路運輸從業(yè)資格考試下載
- 力學(xué)實驗的設(shè)計與操作技巧講解
- 智慧城市新篇章2024年智慧城市發(fā)展機遇展望
- 工程分包商履約情況與進度關(guān)聯(lián)分析
- 培訓(xùn)業(yè)務(wù)的競爭對手分析與對策
- 供應(yīng)商QSA-QPA評鑒表
- 安全生產(chǎn)個臺賬內(nèi)容
- 建設(shè)工程項目-月度安全檢查表
- 硬件設(shè)計的模塊化
- 貴州教育大講堂《科技教育之美“中國天眼”的前世今生》觀后感11篇
- 組織病理學(xué)技術(shù)部分
- 家長會課件:三年級上學(xué)期家長會課件
- 管轄權(quán)異議申請書(模板)
評論
0/150
提交評論