第六章 循環控制概述C語言可實現循環的語句用goto 和if 構成循_第1頁
第六章 循環控制概述C語言可實現循環的語句用goto 和if 構成循_第2頁
第六章 循環控制概述C語言可實現循環的語句用goto 和if 構成循_第3頁
第六章 循環控制概述C語言可實現循環的語句用goto 和if 構成循_第4頁
第六章 循環控制概述C語言可實現循環的語句用goto 和if 構成循_第5頁
已閱讀5頁,還剩25頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 PowerPoint 2000 PowerPoint 2000 PowerPoint 2000第六章 循環控制概述C語言可實現循環的語句:l用goto 和 if 構成循環lwhile 語句ldo while 語句lfor 語句goto語句及用goto構成循環vgoto語句一般格式: goto 語句標號; .標號:語句; PowerPoint 2000 PowerPoint 2000 PowerPoint 2000 PowerPoint 2000v功能:無條件轉移語句v說明:l不能用整數作標號l只能出現在goto所在函數內,且唯一l只能加在可執行語句前面l限制使用goto語句 PowerPoi

2、nt 2000 PowerPoint 2000 PowerPoint 2000例 用if 和goto語句構成循環,求1001nn/*ch5_1.c*/#include main() int i,sum=0; i=1;loop: if(i=100) sum+=i; i+; goto loop; printf(%d,sum);sum=0+1sum=1+2=3sum=3+3=6sum=6+4sum=4950+100=5050循環初值循環終值循環變量增值循環條件循環體 PowerPoint 2000 PowerPoint 2000 PowerPoint 2000例 從鍵盤輸入一組數據,以0結束輸入,求

3、數據和/*ch5_11.c*/#include main() int number,sum=0;read_loop: scanf(%d,&number); if(!number) goto print_sum; sum+=number; goto read_loop;print_sum: printf(The total sum is %dn,sum); PowerPoint 2000 PowerPoint 2000 PowerPoint 2000while語句v一般形式:while(表達式) 循環體語句;v執行流程:expr循環體假(0)真(非0)while PowerPoint 2

4、000 PowerPoint 2000 PowerPoint 2000v特點:先判斷表達式,后執行循環體v說明:l循環體有可能一次也不執行l循環體可為任意類型語句l下列情況,退出while循環u條件表達式不成立(為零)u循環體內遇break,return,gotol無限循環: while(1) 循環體; PowerPoint 2000 PowerPoint 2000 PowerPoint 2000例 用while循環求 1001nn/*ch5_2.c*/#include main() int i,sum=0; i=1; while(i=100) sum=sum+i; i+; printf(%d

5、,sum);循環初值循環終值循環變量增值循環條件循環體 PowerPoint 2000 PowerPoint 2000 PowerPoint 2000例 顯示110的平方/*ch5_21.c*/#include main() int i=1; while(i=10) printf(%d*%d=%dn,i,i,i*i); i+; 運行結果:1*1=12*2=43*3=94*4=165*5=256*6=367*7=498*8=649*9=8110*10=100 PowerPoint 2000 PowerPoint 2000 PowerPoint 2000dowhile語句v一般形式:do 循環體語

6、句; while(表達式);v執行流程:do循環體expr假(0)真(非0)while PowerPoint 2000 PowerPoint 2000 PowerPoint 2000v特點:先執行循環體,后判斷表達式v說明:l至少執行一次循環體ldowhile可轉化成while結構expr循環體假(0)真(非0)循環體While循環 PowerPoint 2000 PowerPoint 2000 PowerPoint 2000例 用dowhile循環求 1001nn/*ch5_3.c*/#include main() int i,sum=0; i=1; do sum+=i;i+; while(

7、i=100); printf(%d,sum); PowerPoint 2000 PowerPoint 2000 PowerPoint 2000例 while和dowhile比較/*ch5_4.c*/#include main() int i,sum=0; scanf(%d,&i); do sum+=i;i+; while(i=10); printf(%d,sum);main() int i,sum=0; scanf(%d,&i); while(i=10) sum+=i;i+; printf(%d,sum); PowerPoint 2000 PowerPoint 2000 Pow

8、erPoint 2000for語句v一般形式:for(expr1 ; expr2 ; expr3) 循環體語句;v執行流程:expr2循環體假(0)真(非0)forexpr1expr3 PowerPoint 2000 PowerPoint 2000 PowerPoint 2000vfor語句一般應用形式:for(循環變量賦初值;循環條件;循環變量增值)循環體語句;v說明:lfor語句中expr1, expr2 ,expr3 類型任意,都可省略,但分號;不可省l無限循環: for(;)lfor語句可以轉換成while結構expr1;while(expr2)循環體語句;expr3;例 用for循環

9、求 1001nn#include main() int i,sum=0; for(i=1;i=100;i+) sum+=i; printf(%d,sum); PowerPoint 2000 PowerPoint 2000 PowerPoint 2000例:#include main( ) int i=0; for(i=0;i10;i+) putchar(a+i); 運行結果:abcdefghij例:#include main( ) int i=0; for(;i10;i+) putchar(a+i); 例:#include main( ) int i=0; for(;i10;) putchar

10、(a+(i+); 例:#include main( ) int i=0; for(;i10;putchar(a+i),i+) ; PowerPoint 2000 PowerPoint 2000 PowerPoint 2000循環的嵌套v三種循環可互相嵌套,層數不限v外層循環可包含兩個以上內循環,但不能相互交叉v嵌套循環的執行流程(1) while() while() . (2) do do while( ); . while( );(3) while() do while( ); . (4) for( ; ;) do while(); while() .v嵌套循環的跳轉禁止:l從外層跳入內層l

11、跳入同層的另一循環l向上跳轉 PowerPoint 2000 PowerPoint 2000 PowerPoint 2000例 循環嵌套,輸出九九表1234567891234567892468101214161836912151821242791827364554637281.ij/*ch5_5.c*/#include main() int i,j; for(i=1;i10;i+) printf(%4d,i); printf(n-n); for(i=1;i10;i+) for(j=1;j10;j+) printf(j=9)?%4dn:%4d,i*j); PowerPoint 2000 Powe

12、rPoint 2000 PowerPoint 2000i10printf假(0)真(非0)i=1j+j=1j10真(非0)假(0)i+for(i=1;i10;i+) for(j=1;j10;j+) printf(j=9)?%4dn:%4d,i*j);外循環內循環 PowerPoint 2000 PowerPoint 2000 PowerPoint 2000 輔助控制語句break語句v功能:在循環語句和switch語句中,終止并跳出循環體或開關體v說明:lbreak只能終止并跳出最近一層的結構lbreak不能用于循環語句和switch語句之外的任何其它語句之中 PowerPoint 2000

13、PowerPoint 2000 PowerPoint 2000exprbreak;假(0)真(非0)whiledobreak;.expr假(0)真(非0)while PowerPoint 2000 PowerPoint 2000 PowerPoint 2000expr2break;.假(0)真(非0)forexpr1expr3switchexpr語句組1break;語句組2break;語句組nbreak;語句組break;.const 1const 2const ndefaultcase PowerPoint 2000 PowerPoint 2000 PowerPoint 2000例 brea

14、k舉例:輸出圓面積,面積大于100時停止#define PI 3.14159main() int r; float area; for(r=1;r100) break; printf(r=%d,area=%.2fn,r,area); PowerPoint 2000 PowerPoint 2000 PowerPoint 2000例 break舉例:小寫字母轉換成大寫字母,直至輸入非字母字符#include main() int i,j; char c; while(1) c=getchar(); if(c=a & c=z) putchar(c-a+A); else break; Powe

15、rPoint 2000 PowerPoint 2000 PowerPoint 2000continue語句v功能:結束本次循環,跳過循環體中尚未執行的語句,進行下一次是否執行循環體的判斷v僅用于循環語句中exprcontinue;假(0)真(非0)while真(非0)docontinue;.expr假(0)whileexpr2continue;.假(0)真(非0)forexpr1expr3 PowerPoint 2000 PowerPoint 2000 PowerPoint 2000例 求輸入的十個整數中正數的個數及其平均值/*ch5_12.c*/#include main() int i,n

16、um=0,a; float sum=0; for(i=0;i10;i+) scanf(%d,&a);if(a=0) continue;num+;sum+=a; printf(%d plus integers sum :%6.0fn,num,sum); printf(Mean value:%6.2fn,sum/num); PowerPoint 2000 PowerPoint 2000 PowerPoint 2000程序舉例為止最后一項的絕對值小于的近似值,直到公式求例用61071513114t=1,pi=0,n=1.0,s=1當|t|1e-6pi=pi+tn=n+2s=-st=s/npi

17、=pi*4輸出pi分子:1,-1,1,-1分母:1,3,5,7,. PowerPoint 2000 PowerPoint 2000 PowerPoint 2000例 求Fibonacci數列:1,1,2,3,5,8,的前40個數)3()2(12) 1(1121nFFFnFnFnnnf1=1,f2=1for i=1 to 20輸出f1,f2f1=f1+f2f2=f2+f11534233159710946750255142293524578241578171855377258417711121393832040570288739088169213896104181286571964181346269922746563245986321144987676546368317811217830914930352102334155 PowerPoint 2000 PowerPoint 2000 PowerPoint 2000例 判斷m是否素數讀入mk=mi=2當ikm被i整除

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論