




已閱讀5頁,還剩42頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Lesson1A/Slide1of27,.,第六章,循環(huán)控制,Lesson1A/Slide2of27,.,主要內容,6.1概述6.2goto語句以及用goto語句構成循環(huán)6.3用while語句實現(xiàn)循環(huán)6.4用do-while語句實現(xiàn)循環(huán)6.5用for語句實現(xiàn)循環(huán)6.6循環(huán)的嵌套6.7幾種循環(huán)的比較6.8break語句continue和語句6.9程序舉例,Lesson1A/Slide3of27,.,6.1概述,什么是循環(huán)?為什么要使用循環(huán)?,問題1:,問題2:求學生平均成績,Lesson1A/Slide4of27,.,循環(huán),Lesson1A/Slide5of27,.,生活中的例子:擊鼓傳花:大家坐成一個圈,鼓聲響起的時候將花束順序交到下一個人的手里,依次向下傳遞,當鼓聲突然中斷時停止傳花,花束落在誰的手里便成為輸家4100米接力賽跑:第1個人跑完100米后將接力棒傳給第2個人,第2個人再跑100米,然后是第3個人,直到第4個人跑完最后一個100米共同點:都要完成相同的任務:量變的重復內容都有結束條件:發(fā)生質變的界限,Lesson1A/Slide6of27,.,6.2goto語句以及用goto語句構成循環(huán),goto語句無條件轉向語句goto語句標號;語句標號用標識符表示,例如:gotolabel_1;合法;goto123;不合法.,Lesson1A/Slide7of27,.,【例6.1】用goto語句和if語句構成循環(huán),計算sum=1+2+3+100。main()inti,sum=0;i=1;loop:if(i=100)sum=sum+i;i+;gotoloop;printf(%dn,sum);,Lesson1A/Slide8of27,.,6.2goto語句以及用goto語句構成循環(huán),濫用goto語句將使程序流程無規(guī)律、可讀性差.不建議使用goto語句。一般來說,可以有兩種用途:(1)與if語句一起構成循環(huán)結構;(2)從循環(huán)體中跳轉到循環(huán)體外。,Lesson1A/Slide9of27,.,6.3用while語句實現(xiàn)循環(huán),while語句用來實現(xiàn)“當型”循環(huán)結構。一般形式:while(表達式)語句執(zhí)行過程:計算表達式值,若該值為非0時,則執(zhí)行while語句中的內嵌語句。然后重復上述步驟,直到表達式值為假(為0),則執(zhí)行while語句的下一條語句。其特點是:先判斷表達式,后執(zhí)行語句。,循環(huán)體語句,Lesson1A/Slide10of27,.,6.3用while語句實現(xiàn)循環(huán),注意:循環(huán)體如果包含一個以上的語句,應該用花括弧括起來,以復合語句形式出現(xiàn)。在循環(huán)體中應有使循環(huán)趨向于結束的語句。,Lesson1A/Slide11of27,.,1.計算sum=1+2+3+100,Lesson1A/Slide12of27,.,第5章循環(huán)程序設計,1.計算sum=1+2+3+100,循環(huán)體,循環(huán)控制條件,循環(huán)控制變量,循環(huán)的初始化,#includevoidmain()inti=1,sum=0;while(i=100)sum=sum+i;i+;printf(“Sum=%dn”,sum);,Lesson1A/Slide13of27,.,第5章循環(huán)程序設計,2.計算sum=2+4+6+100,循環(huán)體,循環(huán)控制條件,循環(huán)控制變量,循環(huán)的初始化,#includevoidmain()inti=2,sum=0;while(i=100)sum=sum+i;i+=2;printf(“Sum=%dn”,sum);,Lesson1A/Slide14of27,.,2.計算sum=2+4+6+100,循環(huán)體,循環(huán)控制條件,循環(huán)控制變量,循環(huán)的初始化,#includevoidmain()inti=2,sum=0;while(i=100)sum=sum+i;i+=2;printf(“Sum=%dn”,sum);,Lesson1A/Slide15of27,.,6.4do-while語句,do-while語句的特點:先執(zhí)行循環(huán)體,然后判斷循環(huán)條件是否成立。一般形式:do循環(huán)體語句while(表達式);,執(zhí)行過程:先執(zhí)行一次指定的循環(huán)體語句,然后判別表達式,當表達式的值為非零(“真”)時,返回重新執(zhí)行循環(huán)體語句,如此反復,直到表達式的值等于0為止,此時循環(huán)結束。,Lesson1A/Slide16of27,.,6.4用do-while語句實現(xiàn)循環(huán),while語句和用do-while語句的比較:二者是完全等價的。do-while語句有可能一次也不執(zhí)行循環(huán)體。,Lesson1A/Slide17of27,.,循環(huán)的變化:sum=1+2+3+100,#includevoidmain()inti=1,sum=0;while(i=100)sum=sum+i;i+;printf(“Sum=%dn”,sum);,#includevoidmain()inti=1,sum=0;dosum=sum+i;i+;while(i=100);printf(“Sum=%dn”,sum);,Lesson1A/Slide18of27,.,順序打印1-10的階乘,即1!,2!,10!,本題的關鍵是求階乘數學上,n!=123(n-1)n,Lesson1A/Slide19of27,.,外循環(huán),內循環(huán),對比程序:(更優(yōu))#includevoidmain()inti=1;floatf=1;while(i=10)f=f*i;printf(%2d!=%.0fn,i,f);i+;思考一下:8-10的階乘,#includevoidmain()inti=1,j;floatf;while(i=10)j=1;f=1;while(j=i)f=f*j;j+;printf(“%2d!=%.0fn”,i,f);i+;,Lesson1A/Slide20of27,.,6.5用for語句實現(xiàn)循環(huán),一般形式:for(表達式1;表達式2;表達式3)語句,表達式1:初始化表達式,只執(zhí)行一次表達式2:循環(huán)控制表達式,控制循環(huán)的結束表達式3:增量表達式,使表達式2趨向于假,Lesson1A/Slide21of27,.,6.5用for語句實現(xiàn)循環(huán),for語句的執(zhí)行過程:(1)先求解表達式1。(2)求解表達式2,若其值為真(非0),則執(zhí)行for語句中指定的內嵌語句,然后執(zhí)行下面第(3)步。若為假(值為0),則結束循環(huán)轉到第(5)步。(3)求解表達式3。(4)轉回上面第(2)步驟繼續(xù)執(zhí)行。(5)循環(huán)結束,執(zhí)行for語句下面的一個語句,Lesson1A/Slide22of27,.,任意輸入10個數,求平均值,#includevoidmain()inti;floatx,sum=0;printf(Enter10numbersonebyone:n);for(i=1;i=10;i+)scanf(%f,Lesson1A/Slide23of27,.,例:順序打印1-10的階乘,即1!,2!,3!,10!,#includevoidmain()inti,j;floatf;for(i=1;i=10;i+)f=1;for(j=1;j=i;j+)f=f*j;printf(%2d!=%.0fn,i,f);,#includevoidmain()inti=1,j;floatf;while(i=10)j=1;f=1;while(j=i)f=f*j;j+;printf(“%2d!=%.0fn”,i,f);i+;,Lesson1A/Slide24of27,.,例:打印幾何圖形,對于這類問題,每行中星號的個數、總行數等都應該用循環(huán)結構進行控制,而不是直接輸出若干行字符串,#includevoidmain()inti,j;for(i=1;i=4;i+)for(j=0;ji;j+)putchar();for(j=1;j=4;j+)putchar(*);putchar(n);,Lesson1A/Slide25of27,.,for語句的變化形式,可以省略for語句的“表達式1”或“表達式3”,也可以都省略(“退化為”while語句),例:將用鍵盤輸入的若干字符順序輸出到屏幕上,#includevoidmain()charch;for(;(ch=getchar()!=n;)putchar(ch);,Lesson1A/Slide26of27,.,6.6循環(huán)的嵌套,一個循環(huán)體內又包含另一個完整的循環(huán)結構稱為循環(huán)的嵌套。內嵌的循環(huán)中還可以嵌套循環(huán),這就是多層循環(huán)。三種循環(huán)(while循環(huán)、do-while循環(huán)和for循環(huán))可以互相嵌套。,Lesson1A/Slide27of27,.,6.6循環(huán)的嵌套,下面幾種都是合法的形式:(1)while()(2)do(3)for(;)while()dofor(;)while();while();,Lesson1A/Slide28of27,.,6.6循環(huán)的嵌套,(4)while()(5)for(;)(6)dodowhile()for(;)while()while(),Lesson1A/Slide29of27,.,錯誤的嵌套形式,循環(huán)必須是完整的,不允許內外循環(huán)交叉嵌套f=1;while(i10)i=1;dof=f*i;i+;while(i10);,混亂的控制條件,內外循環(huán)的循環(huán)控制條件通常是分開的,相對獨立的i=1;s=0;while(i3)s=s+f;i=1;f=1;while(i100時,執(zhí)行break語句
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 互聯(lián)網行業(yè)在職職位及任職證明(6篇)
- 綠色農產品進銷存管理軟件合作項目
- 公司文件保密協(xié)議表
- 圖書俱樂部與讀者社群運營行業(yè)深度調研及發(fā)展項目商業(yè)計劃書
- 藥品生產用真空脫氣機行業(yè)深度調研及發(fā)展項目商業(yè)計劃書
- 西安工商學院《統(tǒng)計軟件應用》2023-2024學年第二學期期末試卷
- 傳統(tǒng)工藝國際化行業(yè)跨境出海項目商業(yè)計劃書
- 大慶師范學院《地域文化品牌形象設計》2023-2024學年第二學期期末試卷
- 醫(yī)療科研成果專利申請行業(yè)跨境出海項目商業(yè)計劃書
- 江蘇師范大學科文學院《醫(yī)學生物學基礎實驗》2023-2024學年第二學期期末試卷
- 移動通信行業(yè)典型安全隱患圖解
- 混凝土結構下冊第章鋼筋混凝土框架結構設計
- 生態(tài)系統(tǒng)對全球變化的響應
- 2023版中國近現(xiàn)代史綱要課件:09第九專題 新民主主義革命偉大勝利
- 小區(qū)燃氣壁掛爐采購及安裝合同
- 危貨運輸危險源識別清單
- 國際結算(中文)
- GB/T 3098.1-2010緊固件機械性能螺栓、螺釘和螺柱
- GB/T 16631-2008高效液相色譜法通則
- 性能驗證醫(yī)學宣教課件
- 中國現(xiàn)代文學三十年(第二編-第二個十年1928-1937-年-6-月)
評論
0/150
提交評論