![c語(yǔ)言教案第9講_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/8/e0d8002c-fab6-472f-a417-4cbe1db3e30d/e0d8002c-fab6-472f-a417-4cbe1db3e30d1.gif)
![c語(yǔ)言教案第9講_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/8/e0d8002c-fab6-472f-a417-4cbe1db3e30d/e0d8002c-fab6-472f-a417-4cbe1db3e30d2.gif)
![c語(yǔ)言教案第9講_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/8/e0d8002c-fab6-472f-a417-4cbe1db3e30d/e0d8002c-fab6-472f-a417-4cbe1db3e30d3.gif)
![c語(yǔ)言教案第9講_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/8/e0d8002c-fab6-472f-a417-4cbe1db3e30d/e0d8002c-fab6-472f-a417-4cbe1db3e30d4.gif)
![c語(yǔ)言教案第9講_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/8/e0d8002c-fab6-472f-a417-4cbe1db3e30d/e0d8002c-fab6-472f-a417-4cbe1db3e30d5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第九講 循環(huán)嵌套z教學(xué)目的與要求:教學(xué)目的與要求: 了解三種循環(huán)語(yǔ)句的特點(diǎn)了解三種循環(huán)語(yǔ)句的特點(diǎn) 掌握循環(huán)的嵌套掌握循環(huán)的嵌套z教學(xué)內(nèi)容提要:教學(xué)內(nèi)容提要: 1.三種循環(huán)語(yǔ)句三種循環(huán)語(yǔ)句 2. 循環(huán)語(yǔ)句的嵌套循環(huán)語(yǔ)句的嵌套z教學(xué)重點(diǎn):教學(xué)重點(diǎn):循環(huán)語(yǔ)句的嵌套循環(huán)語(yǔ)句的嵌套z教學(xué)難點(diǎn):教學(xué)難點(diǎn): 循環(huán)語(yǔ)句的嵌套循環(huán)語(yǔ)句的嵌套z教學(xué)進(jìn)度:教學(xué)進(jìn)度:P124P133z教學(xué)過(guò)程:教學(xué)過(guò)程:1 1三種循環(huán)語(yǔ)句的比較三種循環(huán)語(yǔ)句的比較 (2 2)dowhiledowhile語(yǔ)句是后測(cè)試終止條件的循環(huán)語(yǔ)句,語(yǔ)句是后測(cè)試終止條件的循環(huán)語(yǔ)句,循環(huán)體至少執(zhí)行一次。循環(huán)體至少執(zhí)行一次。(3 3) whilewhil
2、e和和dodowhilewhile循環(huán),只在循環(huán),只在whilewhile后面指定循后面指定循環(huán)條件,在循環(huán)體中應(yīng)包含使循環(huán)趨于結(jié)束的語(yǔ)句環(huán)條件,在循環(huán)體中應(yīng)包含使循環(huán)趨于結(jié)束的語(yǔ)句( (如如i+i+,或,或i=i+1i=i+1等等) )。 forfor循環(huán)可以在表達(dá)式循環(huán)可以在表達(dá)式3 3中包含使循環(huán)趨于結(jié)束的操中包含使循環(huán)趨于結(jié)束的操作,甚至可以將循環(huán)體中的操作全部放到表達(dá)式作,甚至可以將循環(huán)體中的操作全部放到表達(dá)式3 3中。中。因此因此forfor語(yǔ)句的功能更強(qiáng),凡用語(yǔ)句的功能更強(qiáng),凡用whilewhile循環(huán)能完成的,用循環(huán)能完成的,用forfor循環(huán)都能實(shí)現(xiàn)。循環(huán)都能實(shí)現(xiàn)。 whil
3、ewhile語(yǔ)句和語(yǔ)句和forfor語(yǔ)句是屬于先測(cè)試終止條件的語(yǔ)句是屬于先測(cè)試終止條件的循環(huán)語(yǔ)句,故循環(huán)體有可能一次也不執(zhí)行。循環(huán)語(yǔ)句,故循環(huán)體有可能一次也不執(zhí)行。(4) (4) 用用whilewhile和和dodowhilewhile循環(huán)時(shí),循環(huán)變量初始化的循環(huán)時(shí),循環(huán)變量初始化的操作應(yīng)在操作應(yīng)在whilewhile和和dodowhilewhile語(yǔ)句之前完成。而語(yǔ)句之前完成。而forfor語(yǔ)語(yǔ)句可以在表達(dá)式句可以在表達(dá)式1 1中實(shí)現(xiàn)循環(huán)變量的初始化。中實(shí)現(xiàn)循環(huán)變量的初始化。(5 5) 如果循環(huán)次數(shù)可以在進(jìn)入循環(huán)語(yǔ)句之前確定,如果循環(huán)次數(shù)可以在進(jìn)入循環(huán)語(yǔ)句之前確定,使用使用forfor語(yǔ)句較
4、好;在循環(huán)次數(shù)難以確定時(shí)使用語(yǔ)句較好;在循環(huán)次數(shù)難以確定時(shí)使用whilewhile和和dowhiledowhile語(yǔ)句較好。語(yǔ)句較好。例例1 1 用用/41-1/3+1/5-/41-1/3+1/5-1/7+1/7+公式求公式求的近似值,的近似值,直到最后一項(xiàng)的絕對(duì)值小直到最后一項(xiàng)的絕對(duì)值小于于1010-6-6為止。為止。用用NSNS結(jié)構(gòu)化流程圖表示結(jié)構(gòu)化流程圖表示算法算法( (見(jiàn)圖見(jiàn)圖1)1)。圖圖1 1程序如下:程序如下:#include#includemain()main() int s;int s;float nfloat n,t t,Pi;Pi;t=1t=1;Pi=0;n=1.0;S=
5、1;Pi=0;n=1.0;S=1;while(fabs(t)=1e-6)while(fabs(t)=1e-6)Pi=Pi+t;Pi=Pi+t; n=n+2; n=n+2; s=-s; s=-s;t=s/n;Pi=Pi*4;printf(Pi=%10.6fn,Pi);運(yùn)行結(jié)果為:運(yùn)行結(jié)果為:Pi= 3.141594例例2 2 有一對(duì)兔子,出生后第有一對(duì)兔子,出生后第3 3個(gè)月起每個(gè)月都生一對(duì)兔子,個(gè)月起每個(gè)月都生一對(duì)兔子,小兔子長(zhǎng)到第小兔子長(zhǎng)到第3 3個(gè)月后每個(gè)月又生一對(duì)兔子,假設(shè)所有兔個(gè)月后每個(gè)月又生一對(duì)兔子,假設(shè)所有兔子不死,前子不死,前4040個(gè)月每個(gè)月的兔子總數(shù)。個(gè)月每個(gè)月的兔子總數(shù)。
6、圖圖2 2即即:f1=1 (n=1)f2=1 (n=2)fn=fn-1+fn-2 (n3)解此題的算法如圖解此題的算法如圖2所示。所示。main()main() long int f1 long int f1,f2;f2; int i; int i; f1=1;f2=1; f1=1;f2=1; for(i=1; i=20; i+) for(i=1; i=20; i+) printf(%12ld %12ld printf(%12ld %12ld ,f1f1,f2);f2); if(i%2=0) printf( if(i%2=0) printf(n);n); f1=f1+f2; f1=f1+f2;
7、 f2=f2+f1; f2=f2+f1; 運(yùn)行結(jié)果為:運(yùn)行結(jié)果為: 1 1 1 1 2 3 2 3 5 8 13 21 5 8 13 21 34 55 89 144 34 55 89 144 233 377 610 987 233 377 610 987 1597 2584 4181 6765 1597 2584 4181 6765 10946 17711 28657 46368 10946 17711 28657 46368 75025 121393 196418 317811 75025 121393 196418 317811 514229 832040 1346269 2178309
8、514229 832040 1346269 21783093524578 5702287 9227465 149303523524578 5702287 9227465 1493035224157817 39088169 63245986 10233415524157817 39088169 63245986 102334155 在循環(huán)體語(yǔ)句中又包含有另一個(gè)完整的循環(huán)結(jié)構(gòu)在循環(huán)體語(yǔ)句中又包含有另一個(gè)完整的循環(huán)結(jié)構(gòu)的形式,稱為循環(huán)的嵌套。如果內(nèi)循環(huán)體中又有的形式,稱為循環(huán)的嵌套。如果內(nèi)循環(huán)體中又有嵌套的循環(huán)語(yǔ)句,則構(gòu)成多重循環(huán)。嵌套的循環(huán)語(yǔ)句,則構(gòu)成多重循環(huán)。2 2、循環(huán)語(yǔ)句的嵌套、循環(huán)語(yǔ)句的嵌
9、套嵌套在循環(huán)體內(nèi)的循環(huán)體稱為內(nèi)循環(huán),外面的循環(huán)嵌套在循環(huán)體內(nèi)的循環(huán)體稱為內(nèi)循環(huán),外面的循環(huán)稱為外循環(huán)。稱為外循環(huán)。while 、do-while、for三種循環(huán)都可以互相嵌套。三種循環(huán)都可以互相嵌套。循環(huán)語(yǔ)句之間的關(guān)系循環(huán)語(yǔ)句之間的關(guān)系for(.) . for(.) .內(nèi)循環(huán)內(nèi)循環(huán)外循環(huán)外循環(huán)for(.).for(.).并列循環(huán)并列循環(huán)嵌套循環(huán)嵌套循環(huán)交叉循環(huán)交叉循環(huán)for(.).for(.).錯(cuò)錯(cuò)誤誤例如,下面幾種都是合法的形式:例如,下面幾種都是合法的形式:(1) while( ) whilewhile( ) (3) for(;)(3) for(;) for(; ;) for(; ;) (
10、2) do do while( ); while( );(4) while( ) do while( ); (9) for(; ;) while( ) (7) do for (; ;) while( );(8) for(; ;) do while( ); (6) do while( ) while( );(5) while( ) for (; ;) 真真真真外循環(huán)初始條件外循環(huán)初始條件外循環(huán)循環(huán)體外循環(huán)循環(huán)體內(nèi)循環(huán)體內(nèi)循環(huán)體外循環(huán)條件外循環(huán)條件假假內(nèi)循環(huán)條件內(nèi)循環(huán)條件假假外循環(huán)循環(huán)體內(nèi)外循環(huán)循環(huán)體內(nèi)后續(xù)語(yǔ)句后續(xù)語(yǔ)句循環(huán)結(jié)束循環(huán)結(jié)束二重二重循環(huán)循環(huán)嵌套嵌套結(jié)構(gòu)結(jié)構(gòu)執(zhí)行執(zhí)行流程流程 例例3:輸出圖
11、形輸出圖形: * * * *編程分析編程分析:采用雙重循環(huán),一行一行輸出。采用雙重循環(huán),一行一行輸出。每一行輸出步驟:一般每一行輸出步驟:一般3步。步。 1)光標(biāo)定位)光標(biāo)定位3)每輸完一行光標(biāo)換行)每輸完一行光標(biāo)換行(n)2)輸出圖形。)輸出圖形。 例如本題:共例如本題:共4行行,若行號(hào)用若行號(hào)用k表示,表示,則每一行有則每一行有2*k-1個(gè)個(gè)*號(hào)。號(hào)。 #include stdio.h void main() int k1,k2; for(k1=1;k1=4;k1+) putchar(t); for(k2=1;k2=4-k1;k2+) putchar( );for(k2=1;k2=k1*2
12、-1;k2+) putchar(*);putchar(n); 定位(還可定位(還可以用空格的以用空格的方法)方法)輸出輸出例例4、輸出下面的數(shù)字金字塔、輸出下面的數(shù)字金字塔(1到到9 )。 1 121 12321 . 12345678987654321 #include stdio.h main() int k1,k2; for(k1=1;k1=9;k1+) for(k2=1;k2=9-k1;k2+) printf(“%c”, );for(k2=1;k2=1;k2-) printf(“%d”,k2);輸出右輸出右邊數(shù)字邊數(shù)字例例3 打印九九表打印九九表(如圖所示如圖所示)。1 1 2 2 3
13、3 4 4 5 5 6 6 7 7 8 8 9 91 12 2 4 43 3 6 6 9 94 4 8 8121216165 510101515202025256 6121218182424303036367 71414212128283535424249498 816162424323240404848565664649 918182727363645455454636372728181下面用逐步求精的方法分析本例的解法。下面用逐步求精的方法分析本例的解法。 首先,把上述九九表分為三部分,表頭首先,把上述九九表分為三部分,表頭(即即19九個(gè)數(shù)字九個(gè)數(shù)字)、隔線、表體。于是,這個(gè)程序也可以分為
14、如下三部分:隔線、表體。于是,這個(gè)程序也可以分為如下三部分: 打印表頭;打印表頭; 打印隔線;打印隔線; for(i=1; i=9;i+)printf (%4d,i);for(i=1; i=36; i+)printf (%c, -);for(i=1; i=9;i+) 打印第打印第i行行for(j=1, j=i; j+)打印第打印第j個(gè)數(shù)個(gè)數(shù)printf (%4d, i*j);如何如何“打印第打印第i行行”,每行都有每行都有i個(gè)數(shù)字個(gè)數(shù)字“打印第打印第j個(gè)數(shù)個(gè)數(shù)”即在第即在第i行的第行的第j列上打印一個(gè)數(shù),大小為列上打印一個(gè)數(shù),大小為i*j 打印表體;打印表體;/* 打印九九乘法表打印九九乘法表
15、 */#include int main(void) int i,j; for (i=1; i=9; i+) printf(%4d,i); printf (n); for (i=1; i=36;i+) printf (%c,-); printf (n); for (i=1;i=9; i+) for (j=1; j=i;j+) printf (%4d,i*j); printf (n); return 0;例例4 百錢(qián)買(mǎi)百雞問(wèn)題。雞翁一值錢(qián)五,雞母一值錢(qián)三,雞雛百錢(qián)買(mǎi)百雞問(wèn)題。雞翁一值錢(qián)五,雞母一值錢(qián)三,雞雛三值錢(qián)一。百錢(qián)買(mǎi)百雞,問(wèn)雞翁、母、雛各幾何三值錢(qián)一。百錢(qián)買(mǎi)百雞,問(wèn)雞翁、母、雛各幾何?co
16、cks+hens+chicks=1005*cocks+3*hens+chicks/3=100zcocks:雞翁數(shù):雞翁數(shù)zhens:雞母數(shù):雞母數(shù)zchicks:雞雛數(shù):雞雛數(shù)cocks: 019中的整數(shù)中的整數(shù)(因?yàn)槊恐浑u翁因?yàn)槊恐浑u翁5錢(qián),因此它不可能超過(guò)錢(qián),因此它不可能超過(guò)19只只)hens: 033中的整數(shù)中的整數(shù)chicks: 0100中的整數(shù)中的整數(shù)/* 百錢(qián)買(mǎi)百雞問(wèn)題百錢(qián)買(mǎi)百雞問(wèn)題 */#include int main(void) int cocks,hens, chicks; printf(%8s%8s%8sn,cocks,hens,chicks); for(cocks=0;cocks=19;
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 汽車旅館裝修合同解除
- 招聘保安合同協(xié)議書(shū)
- 建筑工程勞務(wù)合同集錦
- 項(xiàng)目組織與管理標(biāo)準(zhǔn)手冊(cè)
- 法律服務(wù)協(xié)議書(shū)
- 數(shù)據(jù)科學(xué)與機(jī)器學(xué)習(xí)實(shí)戰(zhàn)作業(yè)指導(dǎo)書(shū)
- 汽車零部件制造技術(shù)手冊(cè)
- 短信息服務(wù)合同五
- 欠款借款合同
- 財(cái)務(wù)信息咨詢合同年
- 華住酒店管理制度
- 教育科學(xué)與兒童心理學(xué)
- 2022高速公路隧道工程施工管理標(biāo)準(zhǔn)化手冊(cè)
- 工人工資結(jié)清證明范本
- 腹腔引流管的護(hù)理常見(jiàn)并發(fā)癥的預(yù)防與處理規(guī)范
- 工地試驗(yàn)室質(zhì)量手冊(cè)
- 江蘇省船舶行業(yè)智能化改造數(shù)字化轉(zhuǎn)型實(shí)施指南(第二版)
- 高一寒假學(xué)習(xí)計(jì)劃表格
- 河北省建筑工程資料管理規(guī)程DB13(J) T 145 201
- 2023年廣東廣州期貨交易所招聘筆試參考題庫(kù)附帶答案詳解
- 05G359-3 懸掛運(yùn)輸設(shè)備軌道(適用于一般混凝土梁)
評(píng)論
0/150
提交評(píng)論