C語(yǔ)言循環(huán)語(yǔ)句課件四章.ppt_第1頁(yè)
C語(yǔ)言循環(huán)語(yǔ)句課件四章.ppt_第2頁(yè)
C語(yǔ)言循環(huán)語(yǔ)句課件四章.ppt_第3頁(yè)
C語(yǔ)言循環(huán)語(yǔ)句課件四章.ppt_第4頁(yè)
C語(yǔ)言循環(huán)語(yǔ)句課件四章.ppt_第5頁(yè)
已閱讀5頁(yè),還剩38頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

循環(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語(yǔ)句,while語(yǔ)句,dowhile語(yǔ)句,Page 3,本章目標(biāo),了解循環(huán)結(jié)構(gòu)、循環(huán)語(yǔ)句 重點(diǎn)掌握f(shuō)or語(yǔ)句、 while語(yǔ)句和dowhile語(yǔ)句的語(yǔ)法形式、執(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)常會(huì)遇到在某一條件成立時(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)語(yǔ)句:實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的語(yǔ)句稱為循環(huán)語(yǔ)句。 在C中,循環(huán)語(yǔ)句有以下三種: for語(yǔ)句 while語(yǔ)句 dowhile語(yǔ)句,Page 8,for語(yǔ)句(P29),語(yǔ)法形式: for(表達(dá)式1;表達(dá)式2;表達(dá)式3) 語(yǔ)句 說(shuō)明: 圓括號(hào)內(nèi)的三個(gè)表達(dá)式用分號(hào)“;”隔開(kāi); 表達(dá)式1稱為循環(huán)初始化表達(dá)式,通常為賦值表達(dá)式; 表達(dá)式2稱為循環(huán)條件表達(dá)式,通常為關(guān)系或邏輯表達(dá)式; 表達(dá)式3稱為循環(huán)增量表達(dá)式,通常為賦值表達(dá)式,增量大小通常稱為步長(zhǎng); 語(yǔ)句稱為循環(huán)體,可以是單個(gè)語(yǔ)句,也可以是多個(gè)語(yǔ)句。,for(循環(huán)初始化;循環(huán)條件;循環(huán)增量),Page 9,for語(yǔ)句,表達(dá)式1可以省略 for( ;表達(dá)式2;表達(dá)式3) 表達(dá)式1和3都可以省略 for(;表達(dá)式2;) 如果表達(dá)式3省略,則在循環(huán)體內(nèi)應(yīng)該有改變循環(huán)條件的語(yǔ)句 表達(dá)式1和3可以是簡(jiǎn)單表達(dá)式,也可以是逗號(hào)表達(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語(yǔ)句,執(zhí)行順序 (1)計(jì)算表達(dá)式1的值; (2)計(jì)算表達(dá)式2的值,若表達(dá)式2的值為true,則轉(zhuǎn)到(3);若為false,則結(jié)束循環(huán) (3)執(zhí)行循環(huán)體語(yǔ)句; (4)計(jì)算表達(dá)式3的值,返回(2)繼續(xù)執(zhí)行。 流程圖,表達(dá)式 2,語(yǔ)句,false,true,求解表達(dá)式1,求解表達(dá)式3,Page 11,省略表達(dá)式1的寫(xiě)法 同時(shí)省略表達(dá)式1和3時(shí)的寫(xiě)法,for語(yǔ)句,例 求自然數(shù)110之和。 #include void main() int i,sum=0; for(i=1;i=10;i+) sum+=i; printf(“sum=%dn”,sum); ,?,分析:本題需要用累加算法,累加過(guò)程是一個(gè)循環(huán)過(guò)程,可以用for語(yǔ)句實(shí)現(xiàn)。,Page 12,for語(yǔ)句書(shū)上例子及練習(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í)分支語(yǔ)句和for語(yǔ)句的綜合例題: P46 例3-4 P50 例3-6 P54 例3-9,Page 13,while語(yǔ)句(當(dāng)型循環(huán)),語(yǔ)法形式: while(表達(dá)式) 語(yǔ)句 說(shuō)明: 表達(dá)式稱為循環(huán)控制條件表達(dá)式,一般為關(guān)系表達(dá)式或邏輯表達(dá)式,必須用一對(duì)圓括號(hào)“()”括起來(lái)。 語(yǔ)句稱為循環(huán)體,可以是單個(gè)語(yǔ)句,也可以是多個(gè)語(yǔ)句。,循環(huán)控制條件,循環(huán)體,Page 14,while語(yǔ)句(當(dāng)型循環(huán)),執(zhí)行順序 判斷表達(dá)式(循環(huán)控制條件)的值 若表達(dá)式的值為true,則執(zhí)行循環(huán)體(語(yǔ)句) 若表達(dá)式的值為false,則執(zhí)行while語(yǔ)句后的語(yǔ)句 流程圖 注意:在循環(huán)體中,一般應(yīng)該包含改變循環(huán)條件表達(dá)式的語(yǔ)句。,表達(dá)式,語(yǔ) 句,false,true,Page 15,while語(yǔ)句(當(dāng)型循環(huán)),例 求自然數(shù)110之和。 分析:本題需要用累加算法,累加過(guò)程是一個(gè)循環(huán)過(guò)程,可以用while語(yǔ)句實(shí)現(xiàn)。 流程圖,Page 16,while語(yǔ)句(當(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語(yǔ)句書(shū)上例子及練習(xí),P58 例4-1 P61 例4-2 P62 練習(xí)4-1、4-2、4-3、4-4,Page 18,dowhile語(yǔ)句(直到型循環(huán)),語(yǔ)法形式: do 語(yǔ)句 while(表達(dá)式); 說(shuō)明: 表達(dá)式稱為循環(huán)控制條件表達(dá)式,一般為關(guān)系表達(dá)式或邏輯表達(dá)式,必須用一對(duì)圓括號(hào)“()”括起來(lái)。 語(yǔ)句稱為循環(huán)體,可以是單個(gè)語(yǔ)句,也可以是多個(gè)語(yǔ)句。 dowhile語(yǔ)句以分號(hào)結(jié)束。,循環(huán)控制條件,循環(huán)體,以分號(hào)結(jié)束,Page 19,dowhile語(yǔ)句(直到型循環(huán)),執(zhí)行順序 先執(zhí)行語(yǔ)句,后判斷表達(dá)式的值 若表達(dá)式的值為true,則繼續(xù)執(zhí)行循環(huán)體(語(yǔ)句) 若表達(dá)式的值為false,則結(jié)束循環(huán),執(zhí)行dowhile語(yǔ)句后的語(yǔ)句 流程圖 注意:在循環(huán)體中,一般應(yīng)該包含改變條件表達(dá)式的語(yǔ)句。,語(yǔ) 句,false,true,表達(dá)式,Page 20,dowhile語(yǔ)句(直到型循環(huán)),例 用dowhile語(yǔ)句求自然數(shù)110之和。 分析:本題需要用累加算法,累加過(guò)程是一個(gè)循環(huán)過(guò)程,可以用dowhile語(yǔ)句實(shí)現(xiàn)。 流程圖,Page 21,dowhile語(yǔ)句(直到型循環(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語(yǔ)句書(shū)上例子及練習(xí),P62 例4-3 P64 練習(xí)4-5,Page 23,dowhile和while語(yǔ)句的區(qū)別,相同點(diǎn):都是實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的語(yǔ)句 區(qū)別: while語(yǔ)句先判斷表達(dá)式的值,為true時(shí),執(zhí)行循環(huán)體;(先判斷,后執(zhí)行) dowhile語(yǔ)句先執(zhí)行循環(huán)體,再判斷表達(dá)式的值。(先執(zhí)行,后判斷) 思考題:在什么情況下,while和dowhile語(yǔ)句的條件表達(dá)式和循環(huán)體相同,而循環(huán)次數(shù)卻不同?,?,Page 24,循環(huán)結(jié)構(gòu)的嵌套,在程序設(shè)計(jì)中,一個(gè)循環(huán)語(yǔ)句的循環(huán)體又包含一個(gè)完整的循環(huán)結(jié)構(gòu)時(shí),構(gòu)成多重循環(huán),又稱為循環(huán)語(yǔ)句的嵌套。 for() do while(); ,for() do while();,Page 25,循環(huán)結(jié)構(gòu)的嵌套,例 寫(xiě)出右面圖形的源程序。 #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)嵌套書(shū)上例子及練習(xí),P68 例4-6 P70 練習(xí)4-8,Page 27,本章總結(jié),語(yǔ)法形式,語(yǔ)法形式,for語(yǔ)句,while(表達(dá)式) 語(yǔ)句,do 語(yǔ)句 while(表達(dá)式);,循環(huán)結(jié)構(gòu),循環(huán)結(jié)構(gòu)概述,while語(yǔ)句,dowhile語(yǔ)句,先判斷后執(zhí)行,先執(zhí)行后判斷,就是在給定條件成立的情況下,重復(fù)執(zhí)行一個(gè)程序段;當(dāng)給定條件不成立時(shí),退出循環(huán),再執(zhí)行循環(huán)下面的程序。,語(yǔ)法形式,for(表達(dá)式1;表達(dá)式2;表達(dá)式3) 語(yǔ)句,最靈活,循環(huán)結(jié)構(gòu)的嵌套,在程序設(shè)計(jì)中,一個(gè)循環(huán)語(yǔ)句的循環(huán)體又包含一個(gè)完整的循環(huán)結(jié)構(gòu)時(shí),構(gòu)成多重循環(huán),Page 28,循環(huán)語(yǔ)句練習(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) 中國(guó)古典算術(shù)問(wèn)題(P75 例4-11) 相關(guān)問(wèn)題:種數(shù)問(wèn)題、百雞問(wèn)題 求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(“請(qǐng)輸入棱形的對(duì)角線半長(zhǎng)度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; /對(duì)素?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ì)來(lái)確定兩個(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. 本站所有資源如無(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論