《循環(huán)結(jié)構(gòu)程序設(shè)計(jì)》PPT課件.ppt
《《循環(huán)結(jié)構(gòu)程序設(shè)計(jì)》PPT課件.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《《循環(huán)結(jié)構(gòu)程序設(shè)計(jì)》PPT課件.ppt(38頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1 第六章 循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 2 一 循環(huán)語(yǔ)句概述二 實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的控制語(yǔ)句三 循環(huán)嵌套四 循環(huán)結(jié)構(gòu)五 程序舉例 主要內(nèi)容 第六章循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 3 一 循環(huán)語(yǔ)句概述 思考 求1 100的累加和 分析 換一種思路 sum 1 2 100 首先設(shè)置一個(gè)累加器sum 其初值為0 利用sum n來(lái)計(jì)算 n依次取1 2 100 只要解決以下3個(gè)問(wèn)題即可 1 將n的初值置為1 2 每執(zhí)行1次 sum n 后 n增1 3 當(dāng)n增到101時(shí) 停止計(jì)算 此時(shí) sum的值就是1 100的累加和 sum sum n 第六章循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 4 二 實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的控制語(yǔ)句 第六章循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 一 while語(yǔ)句 二 do while語(yǔ)句 三 for語(yǔ)句 四 break continue語(yǔ)句 五 幾種循環(huán)的比較 5 格式 while 表達(dá)式 循環(huán)體語(yǔ)句 一 while語(yǔ)句 P117 說(shuō)明 1 循環(huán)體如果包含一個(gè)以上的語(yǔ)句 必須使用復(fù)合語(yǔ)句形式 2 在循環(huán)體中 必須有使循環(huán)條件趨向于不滿足 假 的語(yǔ)句 3 先判斷表達(dá)式 后執(zhí)行語(yǔ)句 含義 當(dāng)表達(dá)式為真 非0值 時(shí) 執(zhí)行while語(yǔ)句中的內(nèi)嵌語(yǔ)句 執(zhí)行過(guò)程 6 二 while語(yǔ)句 sum 55 舉例 求1 10的累加和 includevoidmain inti sum i 1 sum 0 while i 10 sum sum i i printf sum 5d n sum 思考 1 如果去掉循環(huán)體中的大括號(hào) 執(zhí)行過(guò)程將會(huì)怎樣變化 2 在循環(huán)體中 使循環(huán)條件趨向于不滿足 假 的語(yǔ)句是哪條 3 注意while中條件表達(dá)式的邊界 1求1 5的累加和 2求1 10的奇數(shù)和 3求1 10的偶數(shù)和 7 格式 do循環(huán)體語(yǔ)句while 表達(dá)式 三 do while語(yǔ)句 P117 說(shuō)明 1 循環(huán)體如果包含一個(gè)以上的語(yǔ)句 必須使用復(fù)合語(yǔ)句形式 2 在循環(huán)體中 必須有使循環(huán)條件趨向于不滿足 假 的語(yǔ)句 3 先執(zhí)行循環(huán)體語(yǔ)句 后判斷表達(dá)式的值 含義 執(zhí)行do while語(yǔ)句中的內(nèi)嵌語(yǔ)句 直到表達(dá)式為假 0 才跳出循環(huán) 執(zhí)行過(guò)程 至少執(zhí)行一次 8 三 do while語(yǔ)句 sum 55 舉例 求1 10的累加和 includevoidmain inti sum i 1 sum 0 do sum sum i i while i 10 printf sum 5d n sum 思考 1 如果去掉循環(huán)體中的大括號(hào) 執(zhí)行過(guò)程將會(huì)怎樣變化 2 在循環(huán)體中 使循環(huán)條件趨向于不滿足 假 的語(yǔ)句是哪條 9 舉例 while和do while循環(huán)的比較 includevoidmain inti sum sum 0 scanf d includevoidmain inti sum sum 0 scanf d sum 55 輸出 sum 55 sum 0 輸出 sum 11 此程序的功能 什么情況下兩者結(jié)果相同 10 格式 for 表達(dá)式1 表達(dá)式2 表達(dá)式3 循環(huán)體語(yǔ)句 四 for語(yǔ)句 P119 for 循環(huán)變量賦初值 循環(huán)條件 循環(huán)變量增值 循環(huán)體語(yǔ)句 執(zhí)行過(guò)程 1 先求解表達(dá)式1 2 求解表達(dá)式2 若其值為真 則執(zhí)行循環(huán)體語(yǔ)句 然后執(zhí)行第 3 步 若為假 則結(jié)束循環(huán) 轉(zhuǎn)到第 5 步 3 求解表達(dá)式3 4 轉(zhuǎn)向步驟 2 5 循環(huán)結(jié)束 執(zhí)行for語(yǔ)句下面的一個(gè)語(yǔ)句 11 sum 55 舉例 求1 10的累加和 includevoidmain inti sum sum 0 for i 1 i 10 i sum sum i printf sum 5d n sum 1求1 5的累加和 2求1 10的奇數(shù)和 3求1 10的偶數(shù)和 12 for 表達(dá)式1 表達(dá)式2 表達(dá)式3 語(yǔ)句 四 for語(yǔ)句 說(shuō)明 三個(gè)表達(dá)式都可以省略 13 四 for語(yǔ)句 說(shuō)明 1 i 1 for i 10 i sum sum i 2 for i 1 i sum sum i 3 for i 1 i 10 sum sum i i for i 1 i 10 i sum sum i 表達(dá)式可以省略 但其后的分號(hào)不可以省略 沒(méi)有循環(huán)結(jié)束條件 構(gòu)成了死循環(huán) for i 1 i 10 i sum sum i 14 四 for語(yǔ)句 說(shuō)明 4 5 for sum sum i 6 表達(dá)式1和表達(dá)式3可以是與循環(huán)變量無(wú)關(guān)的表達(dá)式 for i 10 sum sum i i 7 表達(dá)式2一般是關(guān)系表達(dá)式 也可以是數(shù)值或字符表達(dá)式 while i 10 sum sum i i while 1 sum sum i 表達(dá)式1和表達(dá)式3可以同時(shí)省略 此時(shí)等同于while語(yǔ)句 for sum 0 i 1 i 100 i sum sum i 建議 for語(yǔ)句中只放與循環(huán)控制有關(guān)的語(yǔ)句 15 格式 while 表達(dá)式1 if 表達(dá)式2 break 五 break continue語(yǔ)句 舉例 sum 0 for i 1 i5 break sum sum i printf sum 5d n sum while 表達(dá)式1 if 表達(dá)式2 conitue 結(jié)束整個(gè)循環(huán) 結(jié)束本次循環(huán) sum 0 for i 1 i 10 i if i 5 continue sum sum i printf sum 5d n sum 循環(huán)舉例 1 例5 3募集慈善基金10000元 有若干人捐款 每輸入一個(gè)人的捐款數(shù)后 計(jì)算機(jī)就輸出當(dāng)時(shí)的捐款總和 當(dāng)某一次輸入捐款數(shù)后 總和達(dá)到或超過(guò)10000元時(shí) 即宣告結(jié)束 輸出最后的累加值 16 includevoidmain floatamount sum 0 do scanf f 17 1000 1850 1500 2600 2500 1200 sum 10650 00 循環(huán)舉例 2 18 例5 4在象棋的棋盤(pán)第1個(gè)格子中放1粒麥子 第2個(gè)格子中放2粒麥子 第3個(gè)格子中放4粒麥子 以后按此比例每一格加一倍 一直放到第64格 象棋的棋盤(pán)是8 8 64格 共放多少 麥子總粒數(shù) 1 2 22 23 2631m3 1 42 108粒 循環(huán)舉例 3 例5 7輸入一個(gè)班全體學(xué)生的成績(jī) 把不及格的學(xué)生成績(jī)輸出 并求及格學(xué)生的平均成績(jī) 19 20 六 幾種循環(huán)語(yǔ)句的比較 說(shuō)明 1 三種循環(huán)語(yǔ)句在處理循環(huán)問(wèn)題時(shí) 一般可以相互替代 2 對(duì)于循環(huán)次數(shù)固定的問(wèn)題 用for語(yǔ)句實(shí)現(xiàn)比較簡(jiǎn)單 3 對(duì)于循環(huán)次數(shù)不確定的問(wèn)題 可用while語(yǔ)句或do while語(yǔ)句實(shí)現(xiàn) 4 while語(yǔ)句 先判斷 后執(zhí)行 do while語(yǔ)句 先執(zhí)行 后判斷 21 概念 一個(gè)循環(huán)體內(nèi)又包含另一個(gè)完整的循環(huán)結(jié)構(gòu) 稱為循環(huán)嵌套 四 循環(huán)嵌套 舉例 打印乘法口訣表 includevoidmain inti j for j 1 j 10 j for i 1 i j i printf 2d 2d 3d i j i j printf n 舉例 窮舉法 百錢(qián)買百雞 公元5世紀(jì)末 我國(guó)古代數(shù)學(xué)家張丘建在他撰寫(xiě)的 算經(jīng) 中提出了這樣一個(gè)問(wèn)題 雞翁一 值錢(qián)五 雞母一 值錢(qián)三 雞雛三 值錢(qián)一 百錢(qián)買百雞 問(wèn)雞翁 雞母 雞雛各幾何 窮舉法 針對(duì)問(wèn)題所有的可能一一查看是否符合條件 22 舉例 遞推法 兔子問(wèn)題 有一對(duì)兔子 從出生后第3個(gè)月起 每個(gè)月都生一對(duì)兔子 小兔子長(zhǎng)到第三個(gè)月后每個(gè)月又生一對(duì)兔子 假如兔子都不死 那么在一年之后一共會(huì)有多少對(duì)兔子 20個(gè)月之后又有多少對(duì)兔子 斐波那契數(shù)列找到遞推規(guī)律 23 24 思考1 輸入三角形三邊 求三角形的面積 include includevoidmain floata b c s p printf 請(qǐng)輸入三角形的三邊 scanf f f f 考慮輸入的三邊不構(gòu)成三角形 應(yīng)該怎么改 25 思考2 輸入三角形三邊 求三角形的面積 include includevoidmain floata b c s p printf 請(qǐng)輸入三角形得三邊 scanf f f f elseprintf 不構(gòu)成三角形 希望求多個(gè)三角形的面積 而不是每求一次退出 怎么辦 26 思考3 輸入三角形三邊 求三角形的面積 include includevoidmain floata b c s p do printf 請(qǐng)輸入三角形得三邊 scanf f f f 我想退出 怎么辦 27 include includevoidmain floata b c s p charyes no do printf 請(qǐng)輸入三角形得三邊 scanf f f f 思考4 怎么沒(méi)有起作用 調(diào)試看看吧 28 include includevoidmain floata b c s p charyes no do printf 請(qǐng)輸入三角形得三邊 scanf f f f 思考5 yes no getchar yes no getchar do scanf c 29 124369481216 includevoidmain inti j for i 1 i 4 i for j 1 j i j printf 4d i j printf n 讀程序?qū)懡Y(jié)果1 第六章循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 30 includevoidmain inti j for i 1 i 4 i for j 1 j 4 i j printf 4c for j 5 i j 4 j printf 4d i j printf n 讀程序?qū)懡Y(jié)果2 4686912481216 第六章循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 31 includevoidmain inti j for i 1 i 4 i for j 1 j 5 i j printf 4d i j printf n 請(qǐng)同學(xué)們寫(xiě)出以下程序的輸出結(jié)果 1234246364 第六章循環(huán)結(jié)構(gòu)程序設(shè)計(jì) includevoidmain inti j for i 1 i 4 i for j 1 j i 1 j printf 4c for j i j 4 j printf 4d i j printf n 123446891216 32 例1 利用公式 4 1 1 3 1 5 1 7 求 的近似值 直到某一項(xiàng)的絕對(duì)值小于10 6為止 提示 fabs t 求浮點(diǎn)數(shù)t的絕對(duì)值 五 程序舉例 include includevoidmain ints floatn t pi t 1 pi 0 n 1 0 s 1 while fabs t 1e 6 pi pi t n n 2 s s t s n pi pi 4 printf pi 10 6f n pi 思考 使用哪一種循環(huán)控制語(yǔ)句 pi 1 1 3 輸出4 pis 1 1 n 1 3 5 7 t s n 33 例2 求Fibonacci數(shù)列的前40個(gè)數(shù) 11235813213455 includevoidmain longintf1 f2 inti f1 1 f2 1 for i 1 i 20 i printf 12ld 12ld f1 f2 if i 2 0 printf n f1 f1 f2 f2 f2 f1 特點(diǎn) 第1 2個(gè)數(shù)為1 1 從第三個(gè)數(shù)開(kāi)始 該數(shù)是其前面兩個(gè)數(shù)之和 f1 1 n 1 f2 1 n 2 fn fn 1 fn 2 n 3 P128 1123581321345589144 34 例3 判斷m是否為素?cái)?shù) 素?cái)?shù) 質(zhì)數(shù) 只能被1和它本身整除的數(shù) 判別方法 57 若2 56之間的每一個(gè)數(shù)都除不開(kāi)56 則57為素?cái)?shù) 否則57不是素?cái)?shù) m k m 1 i 2 k 若每一個(gè)i的值都除不開(kāi)m 則m為素?cái)?shù) 否則m不是素?cái)?shù) flag 1 k m 1 for i 2 i k i if m i 0 flag 0 if flag 1 printf yes elseprintf no k m 1 for i 2 i k 1 printf yes elseprintf no k m 1 k m 2 m 1 2 k sqrt m sqrt m 1 第六章循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 35 例4 求101 200之間的全部素?cái)?shù) 每行輸出10個(gè)數(shù) include includevoidmain intm k i n 0 for m 101 m k 1 printf d m n n 1 if n 10 0 printf n printf n 36 例5 譯密碼 輸入一行字符 輸出其相應(yīng)的密碼 131頁(yè) 譯碼規(guī)律 將字母變成其后的第4個(gè)字母 非字母字符不變 includevoidmain charc while c getchar n if c a 37 作業(yè)1 38 作業(yè)2 不能用math h中的庫(kù)函數(shù)- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 循環(huán) 結(jié)構(gòu) 程序設(shè)計(jì) PPT 課件
鏈接地址:http://m.zhongcaozhi.com.cn/p-6147249.html