




已閱讀5頁,還剩42頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1 第5章 循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 2 一 實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的控制語句二 循環(huán)嵌套三 循環(huán)結(jié)構(gòu)程序舉例 主要內(nèi)容 3 一 實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的控制語句 while語句do while語句for語句break continue語句幾種循環(huán)的比較 4 格式 while 表達(dá)式 語句 5 1while語句 舉例 P79 求1 10的累加和 include stdio h intmain inti sum i 1 sum 0 while i 10 sum sum i i printf sum 5d n sum return0 說明 1 循環(huán)體如果包含一個以上的語句 必須使用復(fù)合語句形式 2 在循環(huán)體中 必須有使循環(huán)條件趨向于不滿足 假 的語句 3 先判斷后執(zhí)行 1求1 100的累加和 2求1 10的奇數(shù)和 3求N 5 求1到10的奇數(shù)和 舉例 include stdio h intmain inti sum i 1 sum 0 while i 10 sum sum i i 2 printf sum 5d n sum return0 運(yùn)行結(jié)果 6 includevoidmain inti sum 0 i 1 while i 10 if i 2 0 sum sum i i printf d n sum 運(yùn)行結(jié)果 求1到10之間的偶數(shù)和 舉例 7 舉例 求N includevoidmain inti 1 n floatfac 1 printf 請輸入n scanf d 運(yùn)行結(jié)果 8 利用公式 sum 1 3 5 7 9 11 求前10項(xiàng)的和 includevoidmain ints i sum t n i 0 n 1 sum 0 t 1 s 1 while i 10 sum sum t n n 2 s s t s n i printf sum d n sum s 變化的符號i 第i項(xiàng)n 第i項(xiàng)的絕對值t 第i項(xiàng)的值sum 和 舉例 運(yùn)行結(jié)果 9 舉例 例5 2設(shè)s 1 2 3 n 求s不大于400000時最大的n includeintmain intn 1 longints 1 while s 400000 n n 1 s s n printf 不大于400000時的最大n為 d ns值為 ld n n 1 s n return0 運(yùn)行結(jié)果 前n項(xiàng)的乘積 81 10 舉例 例5 3現(xiàn)有某班20名學(xué)生的C語言成績 求該班學(xué)生的C語言的平均成績 運(yùn)行結(jié)果 請輸入學(xué)生成績 23凵89凵67凵78凵94凵56凵34凵83凵90凵67凵48凵72凵81凵65凵74凵87凵73凵67凵90凵98 20名學(xué)生的C語言平均成績?yōu)?71 8 includeintmain floattotal 0 score average inti 1 printf 請輸入學(xué)生成績 while i 20 scanf f total 前i名學(xué)生的成績的和score 每一名學(xué)生的成績average 平均成績 81 11 格式 do循環(huán)體語句while 表達(dá)式 5 2do while語句 舉例 P85 求1 10的累加和 include stdio h intmain inti sum i 1 sum 0 do sum sum i i while i 10 printf sum 5d n sum return0 說明 1 循環(huán)體如果包含一個以上的語句 必須使用復(fù)合語句形式 2 在循環(huán)體中 必須有使循環(huán)條件趨向于不滿足 假 的語句 3 先執(zhí)行 后判斷 至少執(zhí)行一次 12 舉例 while和do while循環(huán)的比較 includevoidmain inti sum 0 scanf d includevoidmain inti sum 0 scanf d 輸入 1 輸入 11 sum 55 sum 11 此程序的功能 什么情況下兩者結(jié)果相同 13 格式 for 表達(dá)式1 表達(dá)式2 表達(dá)式3 語句 P87 for 循環(huán)變量賦初值 循環(huán)條件 循環(huán)變量增值 語句 執(zhí)行過程 1 先求解表達(dá)式1 2 求解表達(dá)式2 若其值為真 則執(zhí)行循環(huán)體語句 然后執(zhí)行第 3 步 若為假 則結(jié)束循環(huán) 轉(zhuǎn)到第 5 步 3 求解表達(dá)式3 4 轉(zhuǎn)向步驟 2 5 循環(huán)結(jié)束 執(zhí)行for語句下面的一個語句 5 3for語句 14 舉例 求1 100的累加和 includevoidmain inti sum sum 0 for i 1 i 100 i sum sum i printf sum 5d n sum 1求1 50的累加和 2求1 100的奇數(shù)和 3求N i 1 while i 100 sum sum i i 15 for 表達(dá)式1 表達(dá)式2 表達(dá)式3 語句 說明 三個表達(dá)式都可以省略 結(jié)果 16 說明 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á)式1可以省略 但其后的分號不可以省略 沒有循環(huán)結(jié)束條件 構(gòu)成了死循環(huán) for i 1 i 10 i sum sum i i 1while 1 sum sum i i 17 說明 4 5 for sum sum i 6 表達(dá)式1和表達(dá)式3可以是與循環(huán)變量無關(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可以同時省略 此時等同于while語句 for sum 0 i 1 i 100 i sum sum i 建議 for語句中只放與循環(huán)控制有關(guān)的語句 18 說明 1 三種循環(huán)語句在處理循環(huán)問題時 一般可以相互替代 2 對于循環(huán)次數(shù)固定的問題 用for語句實(shí)現(xiàn)比較簡單 3 對于循環(huán)次數(shù)不確定的問題 可用while語句或do while語句實(shí)現(xiàn) 4 while語句 先判斷 后執(zhí)行 do while語句 先執(zhí)行 后判斷 幾種循環(huán)語句的比較 19 格式 while 表達(dá)式1 if 表達(dá)式2 break 5 4break continue語句 舉例 sum 0 for i 1 i5 break sum sum i printf sum 5d n sum while 表達(dá)式1 if 表達(dá)式2 conitue 結(jié)束整個循環(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 1到5的累加和 6到10的累加和 20 舉例 例5 11分析下面程序的運(yùn)行結(jié)果 P90 結(jié)束整個循環(huán) includeintmain inti 0 a 0 while i 20 if i 10 0 break elsei i 11 a i printf d n a return0 ii 10第1次執(zhí)行循環(huán)00條件表達(dá)式i 10 0成立 執(zhí)行break語句 跳出循環(huán) 運(yùn)行結(jié)果 11 21 舉例 例5 12輸出100以內(nèi)能被7整除的最大數(shù) P91 nn 7第1次執(zhí)行循環(huán)1002第2次執(zhí)行循環(huán)991第3次執(zhí)行循環(huán)980第4次執(zhí)行循環(huán)時條件表達(dá)式n 7 0成立 執(zhí)行break語句 跳出循環(huán) 運(yùn)行結(jié)果 100以內(nèi)能被7整除的最大數(shù)為 98 22 舉例 例5 13分析下面程序的運(yùn)行結(jié)果 P92 結(jié)束本次循環(huán) include stdio h intmain inti 0 s 0 do if i 2 i continue i s i while i 7 printf d n s return0 ii 2i scontinue是否執(zhí)行第1次執(zhí)行循環(huán)0011否第2次執(zhí)行循環(huán)1121是第3次執(zhí)行循環(huán)2034否第4次執(zhí)行循環(huán)3144是第5次執(zhí)行循環(huán)4059否第6次執(zhí)行循環(huán)5169是第7次執(zhí)行循環(huán)60716否此時條件表達(dá)式1 7不成立 結(jié)束循環(huán) 運(yùn)行結(jié)果 16 S 1 3 5 7 23 includevoidmain inti for i 1 i3 break if i 2 printf elsecontinue printf printf n 分析如下程序的輸出結(jié)果 舉例 24 舉例 例5 14把100 200之間的能被13整除的數(shù)輸出 P92 include stdio h intmain intn for n 100 n 200 n if n 13 0 continue elseprintf d n printf n return0 運(yùn)行結(jié)果 104117130143156169182195 include stdio h intmain intn for n 100 n 200 n if n 13 0 printf d n printf n return0 25 概念 一個循環(huán)體內(nèi)又包含另一個完整的循環(huán)結(jié)構(gòu) 稱為循環(huán)嵌套 舉例 例5 15馬克思曾經(jīng)做過這樣一道趣味數(shù)學(xué)題 有30個人在一家小飯館里用餐 其中有男人 女人和小孩 每個男人花3先令 每個女人花2先令 每個小孩花1先令 共花去50先令 問男人 女人和小孩各幾人 男人 女人和小孩均存在 P83 include stdio h intmain intman women child for man 1 man 16 man for women 1 women 23 women child 30 man women if man 3 women 2 child 1 50 printf man 6dwowen 6dchild 6d n man women child return0 5 5循環(huán)嵌套 男人人數(shù) 最多15人 16 3 48 女人人數(shù) 最多23人 24 2 48 小孩人數(shù) 30 man women 26 運(yùn)行結(jié)果 man 1women 18chile 11man 2women 16chile 12man 3women 14chile 13man 4women 12chile 14man 5women 10chile 15man 6women 8chile 16man 7women 6chile 17man 8women 4chile 18man 9women 2chile 19 27 28 概念 一個循環(huán)體內(nèi)又包含另一個完整的循環(huán)結(jié)構(gòu) 稱為循環(huán)嵌套 1234246836912481216 舉例 打印乘法口訣表 includevoidmain inti j for i 1 i 4 i for j 1 j 4 j printf 4d i j printf n i 1 j 11 1j 21 2j 31 3j 41 4i 2 j 12 1j 2 i 3i 4 5 5循環(huán)嵌套 第六章循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 29 124369481216 includevoidmain inti j for i 1 i 4 i for j 1 j i j printf 4d i j printf n 5 5循環(huán)嵌套 思考1 第六章循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 30 includevoidmain inti j for i 1 i 4 i for j 1 j 5 i j printf 4d i j printf n 5 5循環(huán)嵌套 思考2 1234246364 第六章循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 31 includevoidmain inti j for i 1 i 4 i for j 1 j 4 i j printf 4d for j 5 i j 4 j printf 4d i j printf n 5 5循環(huán)嵌套 思考3 4686912481216 第六章循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 32 includevoidmain inti j for i 1 i 4 i for j 1 j i 1 j printf 4d for j i j 4 j printf 4d i j printf n 5 5循環(huán)嵌套 思考4 123446891216 第六章循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 33 舉例 例5 16打印乘法口訣表 P95 include stdio h intmain inti j result for i 1 i 9 i for j 1 j 9 j result i j 計(jì)算i行j列上的元素值printf d d 3d t i j result printf n return0 resulti 1 j 11 1j 21 2j 31 3 j 91 9i 2 j 12 1j 22 2 j 92 9 i 9 j 19 1j 29 2 j 99 9 1 1 11 2 2 1 9 92 1 22 2 4 2 9 18 9 1 99 2 18 9 9 81 34 include stdio h intmain inti j result for i 1 i 9 i for j 1 j 9 j result i j 計(jì)算i行j列上的元素值printf d d 3d t i j result printf n return0 resulti 1 j 11 1j 21 2j 31 3 j 91 9i 2 j 12 1j 22 2 j 92 9 i 9 j 19 1j 29 2 j 99 9 35 舉例 例5 17求Fibonacci數(shù)列的前40個數(shù) 按每行4個進(jìn)行輸出 include stdio h intmain intn longf1 f2 f1 1 f2 1 printf 10d 10d f1 f2 for n 1 n 19 n if n 2 0 printf n 每行輸出4個f1 f1 f2 f2 f2 f1 printf 10d 10d f1 f2 printf n return0 特點(diǎn) 第1 2個數(shù)為1 1 從第三個數(shù)開始 該數(shù)是其前面兩個數(shù)之和 F1 1 n 1 F2 1 n 2 Fn Fn 1 Fn 2 n 3 P96 1123581321345589144 5 6程序舉例 36 輸出下列圖形 112123123412345123456123456712345678123456789 include stdio h intmain inti j for i 1 i 9 i for j 1 j i j printf 3d j printf n return0 37 舉例 例5 4從鍵盤輸入一個非負(fù)整數(shù) 判斷m是否是素?cái)?shù) P82 素?cái)?shù) 質(zhì)數(shù) 只能被1和它本身整除的數(shù) 判別方法 57 若2 56之間的每一個數(shù)都不能整除57 則57為素?cái)?shù) 否則57不是素?cái)?shù) m k m 1 i 2 k 若每一個i的值都不能整除m 則m為素?cái)?shù) 否則m不是素?cái)?shù) k m 1 k m 2 m 1 2 k sqrt m sqrt m 1 flag 1 k m 1 for i 2 i k i if m i 0 flag 0 break if flag 1 printf yes elseprintf no k m 1 for i 2 i k 1 printf yes elseprintf no include includeintmain intm k i n 0 scanf d 38 39 include math h include stdio h intmain intm flag 0 i 2 printf 請輸入一個非負(fù)整數(shù) n scanf d P82 40 第六章順序結(jié)構(gòu)程序設(shè)計(jì) 舉例 求100 200之間的全部素?cái)?shù) include includeintmain intm k i n 0 for m 101 m k 1 printf 4d m n n 1 if n 10 0 printf n return0 if i k 1 printf 4d m n n 1 if n 10 0 printf n include 輸出100到200之間的素?cái)?shù) includevoidmain inti k m flag 1 for m 100 m 200 m k sqrt m for i 2 i k i if m i 0 flag 0 break if flag 1 printf d t m printf n 41 flag 1 42 例1 利用公式 4 1 1 3 1 5 1 7 求 的近似值 直到某一項(xiàng)的絕對值小于10 6為止 pi 1 1 3 輸出4 pis 1 1 n 1 3 5 7 t s n include includevoidmain ints floatn t pi t 1 pi 0 n 1 s 1 while fabs t 1e 6 pi pi t n n 2
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)學(xué)檢驗(yàn)工作轉(zhuǎn)正總結(jié)
- 物業(yè)小區(qū)停車管理
- 管理心理學(xué)教學(xué)體系框架
- 計(jì)量管理員培訓(xùn)體系構(gòu)建
- 冬季安全教育主題班會
- 《智能家居安防系統(tǒng)介紹》課件
- 高考英語考點(diǎn)總結(jié)
- 《髖關(guān)節(jié)置換》課件
- 經(jīng)濟(jì)生活知識點(diǎn)總結(jié)模版
- 初中心理健康教育工作總結(jié)模版
- 辦公室消防知識培訓(xùn)課件
- 應(yīng)急物資儲備管理制度
- 公司紀(jì)檢監(jiān)察工作制度
- 靜脈輸血相關(guān)制度及流程
- 針刺傷防護(hù)考試題及答案
- 2025年護(hù)士入職筆試試題及答案
- 中藥農(nóng)藥知識培訓(xùn)課件
- 職業(yè)道德說課
- 青少年心理健康調(diào)研報告經(jīng)典范文
- 2024北京二中初二(上)期中數(shù)學(xué)試題及答案
- XX醫(yī)院核醫(yī)學(xué)應(yīng)急預(yù)案手冊
評論
0/150
提交評論