第四章_循環(huán)結(jié)構(gòu)_第1頁
第四章_循環(huán)結(jié)構(gòu)_第2頁
第四章_循環(huán)結(jié)構(gòu)_第3頁
第四章_循環(huán)結(jié)構(gòu)_第4頁
第四章_循環(huán)結(jié)構(gòu)_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、C程序設(shè)計語言第四章 循環(huán)結(jié)構(gòu)劉文斌o業(yè)精于勤,荒于嬉,行成于思,毀于隨 o回顧:for循環(huán)語句n三個表達式o本章:n什么是循環(huán)?為什么要使用循環(huán)?如何實現(xiàn)?n如何確定循環(huán)條件和循環(huán)體nwhile循環(huán)和dowhile循環(huán)4.1求PI的近似值o使用格里高利公式求PI的近似值nPI/4=1-1/3+1/5-1/7+n要求:精確到最后一項的絕對值小于10e-5o思考n用for循環(huán)如何實現(xiàn)?n如何達到精確度的要求?ofor循環(huán)實現(xiàn):n必須說明求前n項之和,要求輸入nnch4-1.cppo實現(xiàn)對精確度的要求,最后一項的絕對值小于10e-5n最后一項n絕對值小于10e-5時退出,如何實現(xiàn)?12/) 1(1

2、nnoch4-2.cppofabs函數(shù)說明:P24表達式表達式循環(huán)體語句循環(huán)體語句0非非 0while 語句o基本形式:while (表達式表達式) 語句(單個或者復(fù)合)語句(單個或者復(fù)合)o首先計算表達式表達式的值:如果為0,則跳過整個while語句。如果為非零,則執(zhí)行語句語句,然后再次計算表達式表達式的值。1.重復(fù)第1和第2步的過程。求解表達式求解表達式1表達式表達式2語句語句求解表達式求解表達式3!00o基本形式:for (表達式1;表達式2;表達式3) 語句;o首先求解表達式表達式1,然后:n計算表達式表達式2的值:如果步驟1的結(jié)果為0,則結(jié)束整個for 語句。如果步驟1的結(jié)果為非0,

3、則執(zhí)行語語句句。求解表達式表達式3。1.重復(fù)第1到第4步的過程?;仡櫥仡檉or 語句語句討論while語句的使用方法owhile語句中的判斷表達式可以是任意合法任意合法的邏輯組合表達式的邏輯組合表達式,循環(huán)體語句只能是一條語句n如果有多條語句,要用括起來,成為一條復(fù)合語句owhile語句構(gòu)成簡單n循環(huán)條件表達式n循環(huán)體語句o循環(huán)實現(xiàn)一般包括4個部分:n初始化、條件控制n重復(fù)執(zhí)行的操作循環(huán)體語句n改變循環(huán)控制變量的值,來改變條件的真假ofor語句中包含這4個部分owhile語句只包括兩個成分n條件控制、循環(huán)體語句n所以,需要加初始化部分和改變循環(huán)控制變量的值的操作例4-2o輸入一批學(xué)生的成績,統(tǒng)

4、計平均分o需要幾個變量?o如何求平均?o如何確定輸入結(jié)束的條件?o如何處理沒有一個成績的情況?och4-3.cpp4.2統(tǒng)計一個整數(shù)的位數(shù)o從鍵盤接收一個整數(shù),統(tǒng)計該整數(shù)的位數(shù)n數(shù)字在計算機中是用特定數(shù)目的存儲單元存放的,從機器的角度看不出它的十進制數(shù)有幾位n如何統(tǒng)計為數(shù)?需要一個循環(huán)過程n由于事先不知道處理的是什么數(shù)據(jù),故無法確定循環(huán)次數(shù)n如何實現(xiàn)?och4-4.cppo把例4-4改成while循環(huán)執(zhí)行,要怎么做?och4-4-1.cppofor語句和while語句都是先判斷條件,只有條件滿足才會進入執(zhí)行循環(huán)o如果條件一開始就不滿足,則循環(huán)體一次都不執(zhí)行odowhile語句一定先執(zhí)行一次循環(huán)

5、體語句,然后才判斷是否滿足條件,如果滿足,則繼續(xù)執(zhí)行循環(huán)體語句do while語句語句語句表達式表達式!00o基本形式:do 語句while (表達式);o首先執(zhí)行語句語句o計算表達式表達式的值:如果為0,則結(jié)束整個 do while語句。如果為非零,則再次執(zhí)行語句語句,然后再次計算表達式表達式的值。重復(fù)第1和第2步的過程。三種循環(huán)比較o本質(zhì)上三種循環(huán)是通用的。o在事先知道循環(huán)次數(shù)時,三種循環(huán)結(jié)構(gòu)都可以使用,但是使用for循環(huán)比較方便o在無法預(yù)知循環(huán)次數(shù)時,三種循環(huán)結(jié)構(gòu)都可以使用,但是使用while循環(huán)或者 do while 循環(huán)比較方便o本次實驗做實驗書61、64、664.3判斷素數(shù)o問題:

6、輸入一個正整數(shù),判斷它是否為素數(shù)。素數(shù)是只能被1和自身整除的正整數(shù)o分析:對于一個數(shù)m,是否為素數(shù)n判斷能否被2m-1之間的整數(shù)整除n用取余運算%判斷是否能整除n所以,i取值2,m-1,如果m不能被該區(qū)間上任何一個整數(shù)除,則m是素數(shù)n可以使用for(i=2;i=m-1;i+)循環(huán)n3521、3532、3543、3550、?n根據(jù)i的結(jié)束值就可以判斷是否為素數(shù)。n也可以使用while(m%i!=0) i+循環(huán)och4-5.cppo如何編制一個判斷素數(shù)的函數(shù)?n函數(shù)的返回值是什么?n函數(shù)的參數(shù)是什么?n函數(shù)體是什么?o數(shù)學(xué)證明,這個區(qū)間可以2,m/2,更進一步還可以在2,m0.5o問題:打印119

7、之間的偶數(shù)o分析:n也可以for(i=1;i=19;i),當(dāng)i位偶數(shù)時打印n可以設(shè)置循環(huán)變量for(i=2;i=19;i=i+2)och4-6.cppobreak和continuenBreak退出整個循環(huán)退出整個循環(huán)ncontinue結(jié)束本次循環(huán),繼續(xù)下一次循環(huán),結(jié)束本次循環(huán),繼續(xù)下一次循環(huán),類似一個旁路類似一個旁路continue 和 break 在 while 循環(huán)中的常見形式continue 和 break 在 do while 循環(huán)中的常見形式continue 和 break 在 for 循環(huán)中的常見形式4.4循環(huán)嵌套(多重循環(huán))o在分支結(jié)構(gòu)中可以嵌套其它的分支結(jié)構(gòu),在循環(huán)中同樣可以嵌

8、套其它的循環(huán)。o計算1!+2!+3!+10!o大家回憶一下如何求1100之和?它們之間有什么異同?o如何實現(xiàn)item=i!och4-7.cppo思考一下,對于本例的二重循環(huán):n外面的循環(huán)體語句sumsum+item一共執(zhí)行了多少次?n里面的循環(huán)體語句item=item*j一共執(zhí)行了多少次o本章作業(yè)p82:2、6、10、14o實驗指導(dǎo)書實驗七1、3、6o實驗指導(dǎo)書p95補充習(xí)題4.5循環(huán)結(jié)構(gòu)程序設(shè)計o循環(huán)結(jié)構(gòu)和分支結(jié)構(gòu)的不同n兩者都用到條件判斷n分支結(jié)構(gòu)在條件滿足的情況下只執(zhí)行一次n循環(huán)結(jié)構(gòu)在條件滿足的情況下重復(fù)執(zhí)行多次o循環(huán)程序的實現(xiàn)要點:n哪些操作需要重復(fù)執(zhí)行?循環(huán)體n在什么條件下重復(fù)執(zhí)行?

9、循環(huán)控制條件o確定循環(huán)體和循環(huán)條件,循環(huán)結(jié)構(gòu)就可以確定,從三種循環(huán)語句中選擇一種實現(xiàn)o如果事先知道循環(huán)次數(shù),首選for語句o如果循環(huán)次數(shù)不明確,需要通過其他條件控制循環(huán),則考慮while或dowhile語句o問題:從鍵盤上輸入一批學(xué)生成績,找出最高分o分析:n實質(zhì)是求一批數(shù)中的最小數(shù)n如何確定循環(huán)條件n如何保證輸入的成績不小于0Ch4-8-1、 Ch4-8-2、 Ch4-8-3o問題:輸入一個整數(shù),將其逆序輸出o分析(、/的應(yīng)用)n如何求一個整數(shù)的位數(shù)?n如何拆開各個位數(shù)?n如何確定結(jié)束nCh4-9o求500以內(nèi)的全部素數(shù),每行輸出10個o分析:n如何判斷一個數(shù)為素數(shù)n在499次循環(huán)中,對25

10、00之間的每個數(shù)進行判斷,是否為素數(shù),是,則輸出n如何控制每行僅輸出10個n可以定義一個函數(shù),也可以使用循環(huán)嵌套nCh4-10問題分解o問題:輸出Fibonacci序列: 1、1、2、3、5、8、13、的前10項o分析:n數(shù)列特征是:x3=x1+x2n如何實現(xiàn)前二項數(shù)字的更新?oCh4-11o求解方程:男人一人搬3塊,女人一人搬2塊,小孩二人搬1塊。問45人正好搬45塊,有多少中搬法?o分析:o變量men,women,childo變量的范圍?o變量的約束條件?o可以使用幾重循環(huán)?o是否可以進一步簡化為重循環(huán)?oCh4-12習(xí)題講解(P83)o題目12:求11000之間的水仙花數(shù)o定義:各位數(shù)字的立方和等于它本身o分析:o既然是11000之間,肯定要有一個循環(huán)o如何確定各位數(shù)?n對11000之間的數(shù)分別去其各位數(shù)求立方之和n001999o題目15:將一個正整數(shù)n分解質(zhì)

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論