




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、關(guān)于周程序控制結(jié)構(gòu)循環(huán)結(jié)構(gòu)現(xiàn)在學習的是第一頁,共54頁2現(xiàn)在學習的是第二頁,共54頁3現(xiàn)在學習的是第三頁,共54頁4循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)n在很多實際問題中會遇到有規(guī)律性的重復(fù)運在很多實際問題中會遇到有規(guī)律性的重復(fù)運算,因此在程序中就需要將某些語句重復(fù)執(zhí)算,因此在程序中就需要將某些語句重復(fù)執(zhí)行。行。一組被重復(fù)執(zhí)行的語句稱為一組被重復(fù)執(zhí)行的語句稱為循環(huán)體循環(huán)體;每重復(fù)一次,都必須作出是繼續(xù)還是停止循環(huán)的決定,這每重復(fù)一次,都必須作出是繼續(xù)還是停止循環(huán)的決定,這個決定所依據(jù)的條件稱為個決定所依據(jù)的條件稱為循環(huán)條件循環(huán)條件;n循環(huán)循環(huán):在給定條件成立時,反復(fù)執(zhí)行某程序:在給定條件成立時,反復(fù)執(zhí)行某程序段,
2、直到條件不成立為止。段,直到條件不成立為止。 現(xiàn)在學習的是第四頁,共54頁5循環(huán)條件循環(huán)條件 循環(huán)體循環(huán)體現(xiàn)在學習的是第五頁,共54頁6循環(huán)結(jié)構(gòu)需要解決的兩個問題循環(huán)結(jié)構(gòu)需要解決的兩個問題2. 2. 控制循環(huán)結(jié)構(gòu)的控制循環(huán)結(jié)構(gòu)的結(jié)構(gòu)描述結(jié)構(gòu)描述條件表示描述方法條件表示描述方法邏輯表達式邏輯表達式關(guān)系表達式關(guān)系表達式1. 1. 控制循環(huán)結(jié)構(gòu)執(zhí)行的控制循環(huán)結(jié)構(gòu)執(zhí)行的條件表示條件表示 while 語句語句do-while語句語句實現(xiàn)循環(huán)結(jié)構(gòu)的語句實現(xiàn)循環(huán)結(jié)構(gòu)的語句可使用可使用c c中的中的任意表達式任意表達式 for語句語句現(xiàn)在學習的是第六頁,共54頁7現(xiàn)在學習的是第七頁,共54頁8現(xiàn)在學習的是第八
3、頁,共54頁9特點:先判斷,后執(zhí)特點:先判斷,后執(zhí)行;若條件不成立,行;若條件不成立,則有可能一次也不執(zhí)則有可能一次也不執(zhí)行。行。現(xiàn)在學習的是第九頁,共54頁10sum= sum+i;i = i+1;現(xiàn)在學習的是第十頁,共54頁11現(xiàn)在學習的是第十一頁,共54頁12現(xiàn)在學習的是第十二頁,共54頁13現(xiàn)在學習的是第十三頁,共54頁14現(xiàn)在學習的是第十四頁,共54頁15特點:先執(zhí)行,后特點:先執(zhí)行,后判斷;循環(huán)至少執(zhí)判斷;循環(huán)至少執(zhí)行一次語句。行一次語句?,F(xiàn)在學習的是第十五頁,共54頁16 do i+; sum+=i; while(i 10000); int i=1 , sum=0;while(
4、i = 10000 ) sum += i; i+; 現(xiàn)在學習的是第十六頁,共54頁17分析分析本題還是一個累加求和的問本題還是一個累加求和的問題,當累加和題,當累加和sumsum 500500時反時反復(fù)執(zhí)行循環(huán),否則結(jié)束循環(huán)復(fù)執(zhí)行循環(huán),否則結(jié)束循環(huán)步驟步驟定義變量:定義變量: sumsum,n n;sum sum 和和 n n 分別賦初值;分別賦初值; n=0n=0;sum=0sum=0;當當 sum sum 500 500 時反復(fù)執(zhí)行循環(huán),時反復(fù)執(zhí)行循環(huán), 否則結(jié)束循環(huán)。否則結(jié)束循環(huán)。語句為語句為:While(sum500)While(sum=n)n (m=n);設(shè)設(shè) r r 表示表示 m
5、m 除以除以 n n 的余數(shù);的余數(shù);即:即:r = m % n;r = m % n;如果,如果,r=0 r=0 則則 n n 中的值為中的值為m m 和和 n n的最大公約數(shù);否則執(zhí)行:的最大公約數(shù);否則執(zhí)行:m = n ;m = n ; n = r ; n = r ; 轉(zhuǎn)回轉(zhuǎn)回“如果如果”處,繼續(xù)執(zhí)行。處,繼續(xù)執(zhí)行。 最小公倍數(shù)最小公倍數(shù)m m 和和 n n 的乘積的乘積 除以最大公約數(shù)除以最大公約數(shù)現(xiàn)在學習的是第十九頁,共54頁20 現(xiàn)在學習的是第二十頁,共54頁21分析分析讀入第一個字符;讀入第一個字符;當其不是當其不是“! !”時,進入循環(huán);時,進入循環(huán);判斷其是否為字母,如果是則判
6、斷其是否為字母,如果是則 將其翻譯成該字母的后繼;將其翻譯成該字母的后繼;如果讀入的字符不是字母,原如果讀入的字符不是字母,原 樣輸出;樣輸出;再讀入下一個字符,返回再讀入下一個字符,返回2 2步;步;當輸入字符為當輸入字符為“! !”時結(jié)束。時結(jié)束?,F(xiàn)在學習的是第二十一頁,共54頁22#includevoid main() char ch; scanf (%c, &ch); while (ch!= !) if (ch=a & ch=A & ch=Z) if(ch = z) ch=a; else if(ch = Z) ch=A; else ch=ch+1; printf
7、 (%c, ch); scanf (%c, &ch); printf (字符串結(jié)束字符串結(jié)束n); 現(xiàn)在學習的是第二十二頁,共54頁23思考:思考:現(xiàn)在學習的是第二十三頁,共54頁24現(xiàn)在學習的是第二十四頁,共54頁25求解方法:求解方法:現(xiàn)在學習的是第二十五頁,共54頁26求解方法:求解方法:現(xiàn)在學習的是第二十六頁,共54頁27求解方法:求解方法:現(xiàn)在學習的是第二十七頁,共54頁28現(xiàn)在學習的是第二十八頁,共54頁29表達式表達式1 1:一般為賦值表達式,給控制變量賦初值;:一般為賦值表達式,給控制變量賦初值;表達式表達式2 2:關(guān)系表達式或邏輯表達式,循環(huán)控制條件;:關(guān)系表達式或邏
8、輯表達式,循環(huán)控制條件;表達式表達式3 3:一般為賦值表達式,給控制變量增量:一般為賦值表達式,給控制變量增量/ /減量;減量;語句語句:循環(huán)體,當有多條語句時,必須使用復(fù)合語句。:循環(huán)體,當有多條語句時,必須使用復(fù)合語句。現(xiàn)在學習的是第二十九頁,共54頁300真真(非非0)表達式表達式2=?語句;語句;循環(huán)體外語句循環(huán)體外語句表達式表達式1;表達式表達式3;現(xiàn)在學習的是第三十頁,共54頁31現(xiàn)在學習的是第三十一頁,共54頁32表達式表達式1表達式表達式2循環(huán)體語句循環(huán)體語句表達式表達式3假假真真當表達式當表達式 2 成立時成立時,執(zhí)行循環(huán)體,執(zhí)行循環(huán)體當表達式當表達式 2 不成立不成立時,退
9、出循環(huán)時,退出循環(huán)對循環(huán)變量賦初值對循環(huán)變量賦初值修改循環(huán)變量的值修改循環(huán)變量的值返回循返回循環(huán)頭部環(huán)頭部現(xiàn)在學習的是第三十二頁,共54頁33現(xiàn)在學習的是第三十三頁,共54頁34現(xiàn)在學習的是第三十四頁,共54頁35int i=1 , sum=0;while( i = 10 ) sum += i; i+; int i= 0, sum=0; do i+; sum+=i; while(i10);現(xiàn)在學習的是第三十五頁,共54頁36forfor語句的三個表達式都是可以省略的,語句的三個表達式都是可以省略的,但分號但分號“;”;”絕對不能省略絕對不能省略。forfor語句有以下幾種格式:語句有以下幾種格
10、式:(1 1)for(; ;)for(; ;)語句語句; ;(2 2)for(;for(;表達式表達式2;2;表達式表達式3 )3 )語句;語句;(3 3)forfor(表達式(表達式1;1;表達式表達式2;)2;)語句;語句;(4 4)for(i=1,j = n;i j;i +,j - - )for(i=1,j = n;i j;i +,j - - )語句語句; ;注意:注意:現(xiàn)在學習的是第三十六頁,共54頁37for( ; ; )for( ; ; ) 該語句是一個死循環(huán),一般用條件表達式加該語句是一個死循環(huán),一般用條件表達式加breakbreak語句在循環(huán)體內(nèi)適當位置,一旦條件滿足時,用語句
11、在循環(huán)體內(nèi)適當位置,一旦條件滿足時,用breakbreak語句跳出語句跳出forfor循環(huán)。循環(huán)。for(for(;表達式;表達式2 2;表達式;表達式3)3) 使用條件是:循環(huán)控制變量的初值不是已知常量使用條件是:循環(huán)控制變量的初值不是已知常量,而是在前面通過計算得到。,而是在前面通過計算得到。 例如:例如: i=m-n;i=m-n; for(for(;ikik;i+)i+)語句;語句;現(xiàn)在學習的是第三十七頁,共54頁38forfor(表達式(表達式1 1;表達式;表達式2 2;) )語句語句 一般當循環(huán)控制變量非規(guī)則變化,而且循環(huán)體中一般當循環(huán)控制變量非規(guī)則變化,而且循環(huán)體中有更新控制變量
12、的語句時使用。有更新控制變量的語句時使用。 例如:例如: for(i=1for(i=1;i=100i=100;) ) i=ii=i* *2+1;2+1; for(i=1for(i=1,j=nj=n;ijij;i+i+,j - - j - - ) )語句;語句; 在在forfor語句中,表達式語句中,表達式1 1、表達式、表達式3 3都可以有一項都可以有一項或多項,如本例中,表達式或多項,如本例中,表達式1 1同時為同時為i i和和j j賦初值,表達賦初值,表達式式3 3同時改變同時改變i i和和j j的值。當有不止一項時,各項之間的值。當有不止一項時,各項之間用逗號用逗號“,”分隔。分隔。 現(xiàn)
13、在學習的是第三十八頁,共54頁39現(xiàn)在學習的是第三十九頁,共54頁40for()for() w h i l e ( )w h i l e ( ) DoDo f o r ( )f o r ( ) while()while()while()while() for() for() for()for() for()for() 以下四種均為合法的嵌套循環(huán)結(jié)構(gòu)以下四種均為合法的嵌套循環(huán)結(jié)構(gòu)現(xiàn)在學習的是第四十頁,共54頁41三種循環(huán)語句三種循環(huán)語句forfor、whilewhile、do-whiledo-while可以互相嵌套自可以互相嵌套自由組合。由組合。但要注意的是,各循環(huán)必須完整,相互之間絕不允許但要
14、注意的是,各循環(huán)必須完整,相互之間絕不允許交叉。如下面這種形式是不允許的:交叉。如下面這種形式是不允許的: do . for(;) . while(); 注意:注意:現(xiàn)在學習的是第四十一頁,共54頁42現(xiàn)在學習的是第四十二頁,共54頁43現(xiàn)在學習的是第四十三頁,共54頁44現(xiàn)在學習的是第四十四頁,共54頁45現(xiàn)在學習的是第四十五頁,共54頁46循環(huán)結(jié)構(gòu)小結(jié)循環(huán)結(jié)構(gòu)小結(jié) 同一個問題,往往既可以用同一個問題,往往既可以用 while語句解決,也可以語句解決,也可以用用 do-while或者或者for語句來解決,但在實際應(yīng)用中,語句來解決,但在實際應(yīng)用中,應(yīng)根據(jù)具體情況來選用不同的循環(huán)語句。選用的一
15、般應(yīng)根據(jù)具體情況來選用不同的循環(huán)語句。選用的一般原則是:原則是:n 如果循環(huán)次數(shù)在執(zhí)行循環(huán)體之前就已確定,一般用如果循環(huán)次數(shù)在執(zhí)行循環(huán)體之前就已確定,一般用 for語句。如果循環(huán)次數(shù)是由循環(huán)體的執(zhí)行情況確定的,語句。如果循環(huán)次數(shù)是由循環(huán)體的執(zhí)行情況確定的,一般用一般用 while語句或者語句或者do-while語句;語句; 當循環(huán)體至少執(zhí)行一次時,用當循環(huán)體至少執(zhí)行一次時,用 do-while語句,反之語句,反之,如果循環(huán)體可能一次也不執(zhí)行,則選用,如果循環(huán)體可能一次也不執(zhí)行,則選用while語句語句。現(xiàn)在學習的是第四十六頁,共54頁47現(xiàn)在學習的是第四十七頁,共54頁48例例7.7.一球從一
16、球從100100米高度自由落下,每次落地米高度自由落下,每次落地 后反彈回原高度的一半,再落下。求它在后反彈回原高度的一半,再落下。求它在第第1010次落地時共經(jīng)過多少米?第次落地時共經(jīng)過多少米?第1010次反彈多次反彈多高?高? float h=100.0, sum=0.0; int n; for( n=1; ; n+) sum += h; h = h/2; /落地后反彈跳回原高度的一半落地后反彈跳回原高度的一半 if( n=10 ) break; /終止執(zhí)行本循環(huán)終止執(zhí)行本循環(huán) sum += h; printf(“共經(jīng)過共經(jīng)過%f米,第米,第10次反彈次反彈%f米米n,sum,h);現(xiàn)在學
17、習的是第四十八頁,共54頁49現(xiàn)在學習的是第四十九頁,共54頁50continuecontinue語句:語句:ncontinue continue 語句的作用語句的作用是結(jié)束是結(jié)束本次循環(huán)本次循環(huán),直,直接進行下一輪循環(huán)的接進行下一輪循環(huán)的判斷。判斷。 循環(huán)中循環(huán)中continuecontinue語句執(zhí)行流程語句執(zhí)行流程假假表達式表達式2表達式表達式1語句序列語句序列語句序列語句序列真真真真continue假假n該語句只能用在該語句只能用在forfor、whilewhile、do-whiledo-while語語句中,常與句中,常與ifif語句配語句配合,起到加速循環(huán)的合,起到加速循環(huán)的作用。作用。 現(xiàn)在學習的是第五十頁,共54頁51例例
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 城鄉(xiāng)結(jié)合部出租房屋合同定金范本
- 房產(chǎn)交易三方合同托管實施細則
- 保密條款合同模板:代理合作中的商業(yè)與技術(shù)秘密
- 廣告撲克牌批量生產(chǎn)合同
- 貸款擔保合同協(xié)議
- 河南標準個人借款合同樣本規(guī)范
- 度商業(yè)合同范本:經(jīng)濟適用房交易
- 股權(quán)轉(zhuǎn)讓合同范本(標準文本)
- 采購供應(yīng)合同書其二
- 與營銷策略的區(qū)別與應(yīng)用考核試卷
- 2025年江蘇南京技師學院招聘工作人員19人高頻重點模擬試卷提升(共500題附帶答案詳解)
- 華東師大版七年級數(shù)學下冊“第1周周考”
- DBJ50-T-385-2023半柔性復(fù)合路面技術(shù)標準
- 職業(yè)院校教師人工智能素養(yǎng):內(nèi)涵流變、框架構(gòu)建與生成路徑
- 如何在初中數(shù)學教學中提升學生的核心素養(yǎng)
- (完整版)小學一年級數(shù)學20以內(nèi)進退位加減法(1600道題)計算卡
- 2025年包頭鐵道職業(yè)技術(shù)學院高職單招語文2018-2024歷年參考題庫頻考點含答案解析
- 北京2024年北京市測繪設(shè)計研究院面向應(yīng)屆生招聘筆試歷年參考題庫附帶答案詳解
- 2025年減速機齒輪項目投資可行性研究分析報告
- 走進李白校本 課程設(shè)計
- 2025新人教版英語七年級下單詞默寫單(小學部分)
評論
0/150
提交評論