




已閱讀5頁,還剩38頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
循環(huán)結(jié)構(gòu),李曉玲,Page 2,本章結(jié)構(gòu),循環(huán)結(jié)構(gòu),循環(huán)結(jié)構(gòu)概述,循環(huán)結(jié)構(gòu)的嵌套,for語句,while語句,dowhile語句,Page 3,本章目標(biāo),了解循環(huán)結(jié)構(gòu)、循環(huán)語句 重點(diǎn)掌握for語句、 while語句和dowhile語句的語法形式、執(zhí)行順序及用法 掌握循環(huán)結(jié)構(gòu)的嵌套使用方法,Page 4,循環(huán)結(jié)構(gòu)概述,為什么用循環(huán)結(jié)構(gòu)? 循環(huán)的基本步驟是什么? 循環(huán)結(jié)構(gòu)的定義?,Page 5,為什么用循環(huán)結(jié)構(gòu)?,在程序設(shè)計(jì)中經(jīng)常會遇到在某一條件成立時(shí),重復(fù)執(zhí)行某些操作。 例如,求: sum=1+2+3+4+n,Page 6,循環(huán)的基本步驟,(1)給sum賦值0, i賦值1;,(2)令sum=sum+i, i=i+1;,(3)若i=n,則重復(fù)執(zhí)行(2),(4)輸出sum的值,Page 7,循環(huán)結(jié)構(gòu)的定義,循環(huán)結(jié)構(gòu):就是在給定條件成立的情況下,重復(fù)執(zhí)行一個(gè)程序段;當(dāng)給定條件不成立時(shí),退出循環(huán),再執(zhí)行循環(huán)下面的程序。 循環(huán)語句:實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的語句稱為循環(huán)語句。 在C中,循環(huán)語句有以下三種: for語句 while語句 dowhile語句,Page 8,for語句(P29),語法形式: for(表達(dá)式1;表達(dá)式2;表達(dá)式3) 語句 說明: 圓括號內(nèi)的三個(gè)表達(dá)式用分號“;”隔開; 表達(dá)式1稱為循環(huán)初始化表達(dá)式,通常為賦值表達(dá)式; 表達(dá)式2稱為循環(huán)條件表達(dá)式,通常為關(guān)系或邏輯表達(dá)式; 表達(dá)式3稱為循環(huán)增量表達(dá)式,通常為賦值表達(dá)式,增量大小通常稱為步長; 語句稱為循環(huán)體,可以是單個(gè)語句,也可以是多個(gè)語句。,for(循環(huán)初始化;循環(huán)條件;循環(huán)增量),Page 9,for語句,表達(dá)式1可以省略 for( ;表達(dá)式2;表達(dá)式3) 表達(dá)式1和3都可以省略 for(;表達(dá)式2;) 如果表達(dá)式3省略,則在循環(huán)體內(nèi)應(yīng)該有改變循環(huán)條件的語句 表達(dá)式1和3可以是簡單表達(dá)式,也可以是逗號表達(dá)式 for(i=0,j=100;i=j;i+,j-) k=i+j;,i=1; for(;i=100;i+) sum=sum+i;,Page 10,for語句,執(zhí)行順序 (1)計(jì)算表達(dá)式1的值; (2)計(jì)算表達(dá)式2的值,若表達(dá)式2的值為true,則轉(zhuǎn)到(3);若為false,則結(jié)束循環(huán) (3)執(zhí)行循環(huán)體語句; (4)計(jì)算表達(dá)式3的值,返回(2)繼續(xù)執(zhí)行。 流程圖,表達(dá)式 2,語句,false,true,求解表達(dá)式1,求解表達(dá)式3,Page 11,省略表達(dá)式1的寫法 同時(shí)省略表達(dá)式1和3時(shí)的寫法,for語句,例 求自然數(shù)110之和。 #include void main() int i,sum=0; for(i=1;i=10;i+) sum+=i; printf(“sum=%dn”,sum); ,?,分析:本題需要用累加算法,累加過程是一個(gè)循環(huán)過程,可以用for語句實(shí)現(xiàn)。,Page 12,for語句書上例子及練習(xí),P30 例2-7 P32 例2-8 sum=1-1/3+1/5-1/7+1/n P33 例2-9 求n! P34 練習(xí)2-13到2-17 復(fù)習(xí)分支語句和for語句的綜合例題: P46 例3-4 P50 例3-6 P54 例3-9,Page 13,while語句(當(dāng)型循環(huán)),語法形式: while(表達(dá)式) 語句 說明: 表達(dá)式稱為循環(huán)控制條件表達(dá)式,一般為關(guān)系表達(dá)式或邏輯表達(dá)式,必須用一對圓括號“()”括起來。 語句稱為循環(huán)體,可以是單個(gè)語句,也可以是多個(gè)語句。,循環(huán)控制條件,循環(huán)體,Page 14,while語句(當(dāng)型循環(huán)),執(zhí)行順序 判斷表達(dá)式(循環(huán)控制條件)的值 若表達(dá)式的值為true,則執(zhí)行循環(huán)體(語句) 若表達(dá)式的值為false,則執(zhí)行while語句后的語句 流程圖 注意:在循環(huán)體中,一般應(yīng)該包含改變循環(huán)條件表達(dá)式的語句。,表達(dá)式,語 句,false,true,Page 15,while語句(當(dāng)型循環(huán)),例 求自然數(shù)110之和。 分析:本題需要用累加算法,累加過程是一個(gè)循環(huán)過程,可以用while語句實(shí)現(xiàn)。 流程圖,Page 16,while語句(當(dāng)型循環(huán)),例 求自然數(shù)110之和的源程序。 #include void main() int i=1,sum=0; while(i=10) sum+=i; i+; printf(“sum=%dn”,sum); ,運(yùn)行結(jié)果: sum=55,Page 17,while語句書上例子及練習(xí),P58 例4-1 P61 例4-2 P62 練習(xí)4-1、4-2、4-3、4-4,Page 18,dowhile語句(直到型循環(huán)),語法形式: do 語句 while(表達(dá)式); 說明: 表達(dá)式稱為循環(huán)控制條件表達(dá)式,一般為關(guān)系表達(dá)式或邏輯表達(dá)式,必須用一對圓括號“()”括起來。 語句稱為循環(huán)體,可以是單個(gè)語句,也可以是多個(gè)語句。 dowhile語句以分號結(jié)束。,循環(huán)控制條件,循環(huán)體,以分號結(jié)束,Page 19,dowhile語句(直到型循環(huán)),執(zhí)行順序 先執(zhí)行語句,后判斷表達(dá)式的值 若表達(dá)式的值為true,則繼續(xù)執(zhí)行循環(huán)體(語句) 若表達(dá)式的值為false,則結(jié)束循環(huán),執(zhí)行dowhile語句后的語句 流程圖 注意:在循環(huán)體中,一般應(yīng)該包含改變條件表達(dá)式的語句。,語 句,false,true,表達(dá)式,Page 20,dowhile語句(直到型循環(huán)),例 用dowhile語句求自然數(shù)110之和。 分析:本題需要用累加算法,累加過程是一個(gè)循環(huán)過程,可以用dowhile語句實(shí)現(xiàn)。 流程圖,Page 21,dowhile語句(直到型循環(huán)),例 求自然數(shù)110之和的源程序。 #include void main() int i=1,sum=0; do sum+=i; i+; while(i=10); printf(“sum=%dn”,sum); ,運(yùn)行結(jié)果: sum=55,Page 22,dowhile語句書上例子及練習(xí),P62 例4-3 P64 練習(xí)4-5,Page 23,dowhile和while語句的區(qū)別,相同點(diǎn):都是實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的語句 區(qū)別: while語句先判斷表達(dá)式的值,為true時(shí),執(zhí)行循環(huán)體;(先判斷,后執(zhí)行) dowhile語句先執(zhí)行循環(huán)體,再判斷表達(dá)式的值。(先執(zhí)行,后判斷) 思考題:在什么情況下,while和dowhile語句的條件表達(dá)式和循環(huán)體相同,而循環(huán)次數(shù)卻不同?,?,Page 24,循環(huán)結(jié)構(gòu)的嵌套,在程序設(shè)計(jì)中,一個(gè)循環(huán)語句的循環(huán)體又包含一個(gè)完整的循環(huán)結(jié)構(gòu)時(shí),構(gòu)成多重循環(huán),又稱為循環(huán)語句的嵌套。 for() do while(); ,for() do while();,Page 25,循環(huán)結(jié)構(gòu)的嵌套,例 寫出右面圖形的源程序。 #include void main() int i,j; for(i=1;i=3;i+) for(j=1;j=5;j+) printf(“*”); printf(“n”); ,* * *,Page 26,循環(huán)嵌套書上例子及練習(xí),P68 例4-6 P70 練習(xí)4-8,Page 27,本章總結(jié),語法形式,語法形式,for語句,while(表達(dá)式) 語句,do 語句 while(表達(dá)式);,循環(huán)結(jié)構(gòu),循環(huán)結(jié)構(gòu)概述,while語句,dowhile語句,先判斷后執(zhí)行,先執(zhí)行后判斷,就是在給定條件成立的情況下,重復(fù)執(zhí)行一個(gè)程序段;當(dāng)給定條件不成立時(shí),退出循環(huán),再執(zhí)行循環(huán)下面的程序。,語法形式,for(表達(dá)式1;表達(dá)式2;表達(dá)式3) 語句,最靈活,循環(huán)結(jié)構(gòu)的嵌套,在程序設(shè)計(jì)中,一個(gè)循環(huán)語句的循環(huán)體又包含一個(gè)完整的循環(huán)結(jié)構(gòu)時(shí),構(gòu)成多重循環(huán),Page 28,循環(huán)語句練習(xí),P64 例4-4 判斷素?cái)?shù) P67 練習(xí)4-6、4-7 4.5節(jié) 例4-7到4-11 練習(xí)4-9到4-14,Page 29,經(jīng)典例題,求斐波那契數(shù)列(P74 例4-10) 中國古典算術(shù)問題(P75 例4-11) 相關(guān)問題:種數(shù)問題、百雞問題 求1599中能被3整除,且至少有一位數(shù)字為5的所有整數(shù)。 輸出9*9口訣表 求1!+2!+3!+4!+10! 打印圖形 找出1000以內(nèi)的所有完數(shù)。 一個(gè)數(shù)如果恰好等于它的因子之和,這個(gè)數(shù)就稱為“完數(shù)”。例如6=123 求水仙花數(shù):是指一個(gè)n(=3)位數(shù)字的數(shù),它等于每個(gè)數(shù)字的n次冪之和。 輸入兩個(gè)正整數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù)。,Page 30,3.求1599中能被3整除,且至少有一位數(shù)字為5的所有整數(shù)。,判斷a、b、c中是否有5:將1599中三位整數(shù)i分解成個(gè)位、十位、百位,分別存放在變量a、b、c中。然后判斷這三個(gè)變量是否含5。將三位整數(shù)i (設(shè)i=513)分解成個(gè)位、十位、百位的方法是: c=i/100; /百位 b=i%100/10; /十位 a=i%100%10; /個(gè)位,Page 31,#include void main() int i,a,b,c; for(i=1;i=599;i+) c=i/100; /百位 b=i%100/10; /十位 a=i%100%10; /個(gè)位 if(i%3=0 ,Page 32,4.輸出9*9口訣表,#include void main() int i,j; for(i=1;i=9;i+) for(j=1;j=i;j+) printf(“%d*%d=%2d “,i,j,i*j); printf(“n“); ,Page 33,打印下列圖形,#include void main() int i,j; for(i=1;i=5;i+) for(j=1;j=i;j+) printf(“*“); printf(“n“); ,Page 34,打印下列圖形,#include void main() int i,j; for(i=1;i=i;j-) printf(“ “); for(j=1;j=i;j+) printf(“*“); printf(“n“); ,Page 35,打印下列圖形,#include void main() int i,j; for(i=1;i=i;j-) printf(“*“); printf(“n“); ,Page 36,打印下列圖形,#include void main() int i,j,n; printf(“請輸入棱形的對角線半長度n:“); scanf(“%d“, ,Page 37,打印下列圖形,#include #include void main() int i,j; for(i=-3;i=3;i+) for(j=0;j=10+abs(i);j+) printf(“ “); for(j=1;j=2*(4-abs(i)-1;j+) printf(“*“); printf(“n“); ,Page 38,7.找出1000以內(nèi)的所有完數(shù),#include void main() int i,j,s; for(i=1;i=1000;i+) s=0; for(j=1;ji;j+) if(i%j=0)s=s+j; if(s=i)printf(“%dn“,s); ,Page 39,求100之內(nèi)的素?cái)?shù),只能被1和本身整除的數(shù) 判斷一個(gè)數(shù)a是否為素?cái)?shù),只需將它除以2(sqrt(a)取整)即可,如果都不能整除,則a就是素?cái)?shù)。,Page 40,#include #include void main() int a,k,i,n; n=0; for(a=2;ak) /若ik,則a為素?cái)?shù) printf(“%10d“,a); /輸出素?cái)?shù) n=n+1; /對素?cái)?shù)進(jìn)行統(tǒng)計(jì)個(gè)數(shù) printf(“n“); ,求100之內(nèi)的素?cái)?shù),Page 41,輸入兩個(gè)正整數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù)。,輾轉(zhuǎn)相除法是利用以下性質(zhì)來確定兩個(gè)正整數(shù) a 和 b 的最大公因子的: 1. a b,令r為所得余數(shù)(0rb) 若 r = 0,算法結(jié)束;b 即為答案。 2. 互換:置 ab,br,并返回第一步。,Page 42,求兩個(gè)自然數(shù)m與n的最大公約數(shù)采用輾轉(zhuǎn)相除法 設(shè)最小公倍數(shù) (Lease common multiple)為lcm=m*n; 最大公約數(shù)(Greatest common divisor)為gcd。 可采用如
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新一代大學(xué)英語(第二版)綜合教程1-U3-教師用書 Unit 3 Culture Counts
- 家具制造業(yè)原材料價(jià)格波動應(yīng)對2025年產(chǎn)業(yè)鏈整合策略報(bào)告
- 2025年醫(yī)藥流通企業(yè)供應(yīng)鏈優(yōu)化與成本控制創(chuàng)新策略報(bào)告
- 特色農(nóng)產(chǎn)品冷鏈物流中心建設(shè)對農(nóng)村經(jīng)濟(jì)發(fā)展的推動作用報(bào)告
- 新能源商用車型號2025年市場需求與電動物流車售后服務(wù)滿意度研究報(bào)告
- 磅房安全培訓(xùn)試題及答案
- 傳統(tǒng)食品工業(yè)化生產(chǎn)2025年智能檢測技術(shù)改造與創(chuàng)新案例報(bào)告
- 安全生產(chǎn)管理知識試題及答案
- 快時(shí)尚行業(yè)在2025年時(shí)尚零售市場中的品牌合作與跨界營銷報(bào)告
- 2025年土壤污染修復(fù)技術(shù)土壤修復(fù)藥劑市場發(fā)展趨勢報(bào)告
- 2024北京西城區(qū)五年級(下)期末語文試題及答案
- 屋頂樹脂瓦安裝合同協(xié)議
- 美容皮膚科試題及答案
- 2025年質(zhì)量員(市政工程)專業(yè)技能練習(xí)題庫及答案(完整版)
- 客戶投訴管理和考核辦法
- 云計(jì)算安全性能測試報(bào)告
- 譫妄狀態(tài)患者的護(hù)理常規(guī)
- DB3402-T 78-2024 高標(biāo)準(zhǔn)農(nóng)田數(shù)字化建設(shè)規(guī)范
- 2025年湖北省中考?xì)v史模擬試卷附答案
- 高血壓腦出血治療指南
- 病人隱私保護(hù)與信息安全培訓(xùn)
評論
0/150
提交評論