




已閱讀5頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1 第五章循環(huán)結(jié)構(gòu) 在C語言中可用以下語句來實(shí)現(xiàn)循環(huán) 用goto語句和if語句構(gòu)成循環(huán)用while語句用do while語句用for語句 2 5 1goto語句與標(biāo)號 一般形式 goto標(biāo)號 其中 標(biāo)號用標(biāo)識符表示 即由字母 數(shù)字和下劃線組成 且首字符必須為字母或下劃線 不能用整數(shù)來作標(biāo)號功能 當(dāng)程序執(zhí)行到語句時 改變程序自上而下的執(zhí)行順序 執(zhí)行語句標(biāo)號指定的語句 并從該語句繼續(xù)往下順序執(zhí)行程序 用途 1 與if語句一起構(gòu)成循環(huán)結(jié)構(gòu)2 從循環(huán)體內(nèi)跳到循環(huán)體外 3 例1 求和sum 1 2 100main inti 1 sum 0 L1 if i 100 gotoL2 sum sum i i gotoL1 L2 printf 1 3 100 d n sum 非零 零 4 另一寫法 main inti 1 sum 0 L if i 100 sum sum i i gotoL printf d sum 用if與goto構(gòu)成 當(dāng)型 循環(huán) 5 5 2while循環(huán)語句5 2 1while循環(huán)語句的形式while 條件表達(dá)式 語句 while循環(huán)語句的執(zhí)行過程是 先判斷條件 后執(zhí)行語句 條件表達(dá)式 語句 零 非零 5 2 2執(zhí)行過程 這是內(nèi)嵌語句 也稱為循環(huán)體 它可以是單語句 也可以是復(fù)合語句 6 說明 1 執(zhí)行while循環(huán)語句時 如果表達(dá)式的值第一次計算就等于0 則循環(huán)體一次也不執(zhí)行 2 發(fā)生下列情況之一時 while循環(huán)結(jié)束執(zhí)行 表達(dá)式的值為0 循環(huán)體內(nèi)遇到break語句 循環(huán)體內(nèi)遇到goto語句 且與該goto語句配合使用的標(biāo)號所指定的語句在本循環(huán)體外 循環(huán)體內(nèi)遇到return語句 此時退出while循環(huán)后 執(zhí)行的流程從包含該while語句的函數(shù)返回到所調(diào)用函數(shù) 7 前例用while語句寫 main inti sum 0 i 1 while i 100 sum sum i i printf d sum 8 1 do while循環(huán)語句的形式do語句while 條件表達(dá)式 2 執(zhí)行過程 說明 1 do while循環(huán)語句首先執(zhí)行循環(huán)體 然后計算表達(dá)式并檢查循環(huán)條件 所以循環(huán)體至少執(zhí)行一次 2 退出do while循環(huán)的條件與退出while循環(huán)的條件相同 5 3do while循環(huán)語句 注意 不要丟掉分號 do while循環(huán)執(zhí)行過程是 先執(zhí)行語句 后判斷條件 9 前例用do while循環(huán)寫 main inti sum 0 i 1 do sum sum i i while i 100 printf d sum 10 例2 求級數(shù)12 22 32 前10項(xiàng)之和 main inti sum 0 i 1 do sum i i i while i 10 printf sum d n sum 等價于 sum sum i i 等價于 i i 1 11 例3 求1 2 3 n的值 n值通過鍵盤輸入 main intn i 1 s 0 printf Pleaseinputaninteger n scanf d main intn i 1 s 0 printf Pleaseinputaninteger n scanf d 12 結(jié)論 當(dāng)while后的表達(dá)式為真時 while語句和do while語句的結(jié)果相同 否則不同 main inti s 0 scanf d 輸入 1打印 55輸入 11打印 0 main inti s 0 scanf d 輸入 1打印 55輸入 11打印 11 13 練習(xí)1 下面程序的運(yùn)行結(jié)果是 main inti 10 while i 0 printf d n i 練習(xí)2 main intx 3 doprintf 3d x 2 while x 輸出結(jié)果 1 輸出結(jié)果 1 2 是空語句 14 5 4for循環(huán)語句 1 for循環(huán)語句的形式for 表達(dá)式1 表達(dá)式2 表達(dá)式3 語句 2 執(zhí)行過程 說明 1 表達(dá)式1僅被執(zhí)行一次 表達(dá)式2決定了是否繼續(xù)執(zhí)行循環(huán) 表達(dá)式3則不斷修改循環(huán)控制變量的值 2 三個表達(dá)式均可省略 分號不能省略 15 3 說明 1 最簡單的應(yīng)用形式 for 循環(huán)變量賦初值 循環(huán)條件 循環(huán)變量增值 語句如前例 求級數(shù)12 22 32 前10項(xiàng)之和 main inti sum 0 for i 1 i 10 i sum sum i i printf d sum 16 2 三個表達(dá)式均可缺省 但起分割作用的兩個分號不可省略 例如 for 表達(dá)式1省略 應(yīng)在for之前對循環(huán)變量賦初值 i 1 for i 10 i sum sum i 17 表達(dá)式2省略 則不判斷條件 循環(huán)無終止進(jìn)行下去 for i 1 i sum i 表達(dá)式3省略 則應(yīng)另設(shè)法保證循環(huán)的結(jié)束 for sum 0 i 1 i 10 sum sum i i 18 3 表達(dá)式1和表達(dá)式3可以是逗號表達(dá)式 例 inti j sum for i 0 j 100 i j i j sum i j 19 程序 main inti sum 0 for i 1 i 100 i sum sum i printf sum d n sum 程序 main inti sum 0 i 1 for i 100 sum sum i i printf sum d n sum 程序 main inti sum 0 i 1 for if i 100 sum sum i i elsegotoL1 L1 printf sum d n sum 以前面求和例子為例 表達(dá)式1 表達(dá)式2 表達(dá)式3 表達(dá)式1 表達(dá)式2 表達(dá)式3 表達(dá)式1 表達(dá)式 表達(dá)式 結(jié)束循環(huán)的出口 20 for語句與while語句的等價形式 表達(dá)式1while 表達(dá)式2 語句表達(dá)式3 21 例4 輸出100以內(nèi)所有偶數(shù)的和與所有奇數(shù)的和 main intI s1 0 s2 0 for i 1 i 100 i if i 2 0 s1 s1 1 elses2 s2 1 printf s1 d s2 d n s1 s2 22 例5 求s 1 1 2 1 3 1 4 1 n n由鍵盤輸入 解題方法 讓變量t的初值等于1 然后反復(fù)執(zhí)行語句 則t的值就在1和 1之間交替變化 main inti n doubles t scanf d 23 練習(xí)3 下列程序段 選項(xiàng)正確的是 inti k for i 0 k 1 k 1 i k Printf A 判斷循環(huán)結(jié)束的條件非法B 無限循環(huán) C 只循環(huán)一次D 一次也不循環(huán) 表達(dá)式2 k 1 非零 是無限循環(huán) B 24 5 5三種循環(huán)語句的比較 for語句和while語句先判斷條件 后執(zhí)行語句 故循環(huán)體有可能一次也不執(zhí)行 而do while語句的循環(huán)體至少執(zhí)行一次 用while和do while循環(huán)時循環(huán)變量初始化的操作應(yīng)在while和do while語句之前完成 而for語句可以在表達(dá)式1中實(shí)現(xiàn)循環(huán)變量的初始化 一般是在循環(huán)次數(shù)已經(jīng)確定的情況下 習(xí)慣用for語句 而對于循環(huán)次數(shù)不確定只給出循環(huán)結(jié)束條件的問題 習(xí)慣用while語句解決 25 5 6循環(huán)的嵌套1 定義 在循環(huán)體內(nèi)又包含一個循環(huán)結(jié)構(gòu) 稱為循環(huán)嵌套 三種循環(huán) while do while for 都可以互相嵌套 例如 以下幾種都是合法的嵌套形式 for while for循環(huán)體嵌套while循環(huán)體 for for for循環(huán)體嵌套for循環(huán) 26 do do while while do while循環(huán)體嵌套do while循環(huán) while do while while循環(huán)體嵌套do while循環(huán) while while while循環(huán)體嵌套while循環(huán) do for while do while循環(huán)體嵌套for循環(huán) 27 2 嵌套結(jié)構(gòu)規(guī)則 外循環(huán) 內(nèi)循環(huán) 交叉循環(huán) 外循環(huán)入口 內(nèi)循環(huán)出口 內(nèi)循環(huán)出口 外循環(huán)出口 28 例6 循環(huán)嵌套舉例 for i 1 i 2 i for j 1 j 2 j printf 3d i j printf n for i 1 i 2 i for j 1 j 2 j printf 3d i j printf n 對j循環(huán)結(jié)束 再換行 輸出結(jié)果 2 3 3 4 輸出結(jié)果 2 3 3 4 29 例7 求1 2 3 n main inti j n floatsum s scanf d 注意類型定義 30 例8 按規(guī)定的格式輸出九九乘法表 main inti j for i 1 i 9 i for j 1 j i j printf d i j printf n 31 5 7break和continue語句 1 break語句語法 break 功能 結(jié)束包含該語句的最內(nèi)層循環(huán)main intn for n 100 n 200 n if n 3 0 break printf 6d n 2 continue語句語法 continue 功能 結(jié)束循環(huán)體的本次循環(huán)main intn for n 100 n 200 n if n 3 0 continue printf 6d n 100 200之間只要遇到能被3整除的數(shù)就結(jié)束循環(huán) 輸出 100 101 本程序?qū)?00 200之間不能被3整除的數(shù)輸出 只能出現(xiàn)在switch和循環(huán)語句中 只能出現(xiàn)在循環(huán)語句的循環(huán)體中 32 練習(xí)4 閱讀下列程序 輸出結(jié)果 main inti 0 j 10 k 2 s 0 for i k if i j printf s d s break s j 循環(huán)體共執(zhí)行了多少次 S 50 6次 當(dāng)條件i j成立時才能執(zhí)行到break語句 For循環(huán)是死循環(huán) 注意 break語句只能出現(xiàn)在switch for while或do while語句中 33 練習(xí)5 以下程序的輸出結(jié)果是 main inty 8 for y 0 y if y 3 0 printf d y continue printf end B Continue語句的作用是結(jié)束本次循環(huán) A 74B 52C 963D 852 這條語句執(zhí)行不到 34 3 空語句形式 只由一個分號構(gòu)成 2 功能什么也不做 可出現(xiàn)在程序中任何語句可以出現(xiàn)的地方 例 求級數(shù)12 22 32 前10項(xiàng)之和 main inti sum for sum 0 i 1 i 10 sum i i i printf sum d n sum 例 程序段 gotoL1 L1 35 作業(yè) 1 循環(huán)第一次 第五章一 二 1 3 5 三 1 4 5四 36 上機(jī)作業(yè) 1 循環(huán)第一次 1 求 2 輸出所有被 整除 并能被 整除余 被 整除缺1的兩位數(shù) 3 編程求100以內(nèi) 包括100 的偶數(shù)之和 4 求1 10的積 37 作業(yè) 2 第五章讀懂并編寫例5 11 5 12 5 18 5 19 5 20 38 上機(jī)作業(yè) 2 1 第五章五 編程練習(xí) 4 2 打印下面圖形 每行錯位一個 39 補(bǔ)充練習(xí)1 下列程序的輸出結(jié)果是 main
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年民事賠償協(xié)議
- 腦梗死的護(hù)理診斷和護(hù)理措施
- 古詩詞鑒賞-表達(dá)方式(學(xué)生版)-2024小升初語文專項(xiàng)講義
- 高中生物選修一實(shí)驗(yàn)知識點(diǎn)
- 胃癌術(shù)后疼痛護(hù)理
- 服用抗癌藥物護(hù)理規(guī)范
- HIV靶細(xì)胞作用機(jī)制解析
- 二次電池及多池串聯(lián)裝置(附答案解析)-2023年高考化學(xué)二輪復(fù)習(xí)專項(xiàng)突破
- 讀后續(xù)寫(語料素材+構(gòu)思方法+銜接與升華)-2025年高考沖刺復(fù)習(xí)(新高考)
- 流感病毒細(xì)胞培養(yǎng)
- 中考詞匯完整版
- 英語試卷【百強(qiáng)校大聯(lián)考】【天域卷】天域全國名校協(xié)作體2024-2025學(xué)年第二學(xué)期2025屆高三年級聯(lián)考(5.23-5.24)含答案或解析
- Photoshop圖像美化的實(shí)戰(zhàn)經(jīng)驗(yàn)與分享試題及答案
- 2025屆天津市和平區(qū)第二十中學(xué)數(shù)學(xué)八下期末復(fù)習(xí)檢測模擬試題含解析
- 政府委托經(jīng)營協(xié)議書
- 江蘇省南通市通州區(qū)、如東縣2025屆九年級下學(xué)期中考一?;瘜W(xué)試卷(含答案)
- 【MOOC答案】《電力電子學(xué)》(華中科技大學(xué))章節(jié)作業(yè)期末慕課答案
- 職業(yè)技術(shù)學(xué)院現(xiàn)代通信技術(shù)專業(yè)人才培養(yǎng)方案(2024版)
- 2020年高考地理試卷(天津)(解析卷)
- 2024北京西城區(qū)五年級(下)期末語文試題及答案
- 泳池安全管理培訓(xùn)課件
評論
0/150
提交評論