C程序流程設計ppt課件_第1頁
C程序流程設計ppt課件_第2頁
C程序流程設計ppt課件_第3頁
C程序流程設計ppt課件_第4頁
C程序流程設計ppt課件_第5頁
已閱讀5頁,還剩32頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、你現在所處的位置:首頁C語言教學幻燈片版第四章 C程序流程設計1第四章 C程序流程設計C語句概述程序的三種根本構造選擇型程序設計 循環型程序設計 輔助控制語句你現在所處的位置:首頁C語言教學幻燈片版第四章 C程序流程設計24.1 C語句概述lC語句:以“;作分隔符,編譯后產活力器指令.lC語句分類l表達式語句:表達式加分號構成。空語句: ;程序控制語句(9種:if( )else switchfor( )while( )dowhile( )continuebreakgotoreturn分支循環輔助控制如 total=total+limit; a=3; func( ); printf(“Hello

2、,world!n);你現在所處的位置:首頁C語言教學幻燈片版第四章 C程序流程設計3l :用 括起來的一組語句l普通方式: 數聽闡明部分;l 執行語句部分;l l闡明:l“后不加分號l語法上和單一語句一樣l復合語句可嵌套復合語句你現在所處的位置:首頁C語言教學幻燈片版第四章 C程序流程設計4l構造化程序設計l根本思想:任何程序都可以用三種根本構造表示,限制運用無條件轉移語句gotol構造化程序:由三種根本構造反復嵌套構成的程序叫l優點:構造明晰,易讀,提高程序設計質量和效率l三種根本構造l順序構造ABAB流程圖N-S圖4.2 程序的三種根本構造你現在所處的位置:首頁C語言教學幻燈片版第四章 C

3、程序流程設計5PAB真假PBA真假A1A2AiAnk=k2k=k1k=knk=ki.l二分支選擇構造二分支選擇構造l多分支選擇構造多分支選擇構造選擇構造選擇構造你現在所處的位置:首頁C語言教學幻燈片版第四章 C程序流程設計6l當型循環構造l直到型循環構造PA假真當P為真AAP真假A直到P為真注:A,B,A1.An可以是一個簡單語句,也可以是一個根本構造循環構造你現在所處的位置:首頁C語言教學幻燈片版第四章 C程序流程設計7if語句條件選擇語句if語句的三種方式方式一:格式:if (expression) statement執行過程:exprstatement非0=0例:if (xy) prin

4、tf(“%d,x);exprstatement1statement2非0=0l方式二:l格式:if (expression) l statement1l elsel statement2l執行過程:例:if (xy) max=x; else max=y;4.3 選擇型程序設計你現在所處的位置:首頁C語言教學幻燈片版第四章 C程序流程設計8l三:l格式:if ( expr1 ) statement1else if (expr2 ) statement2else if (expr3 ) statement3. else statementn expr1statemnt1非0=0expr2expr3

5、statemntnstatemnt3statemnt2非0非0=0=0u執行過程: 例:if (salary1000) index=0.4; else if (salary800) index=0.3; else if (salary600) index=0.2; else if (salary400) index=0.1; else index=0; 選擇型程序設計方式你現在所處的位置:首頁C語言教學幻燈片版第四章 C程序流程設計9如:if(a=b&x=y) printf(“a=b,x=y); if(3) printf(“OK); if(a) printf(“%d,a);lif后面的

6、表達式類型恣意u語句可以是復合語句u if(x) if(x!=0)u if(!x) if(x=0)例 思索下面程序的輸出結果: #include main() int x,y; scanf(“%d,%d,&x,&y); if(xy) x=y; y=x; else x+; y+; printf(“%d,%dn,x,y);Compile Error!闡明:你現在所處的位置:首頁C語言教學幻燈片版第四章 C程序流程設計10v:v普通方式:if (expr1) if (expr2) statement1 else statement2else if(expr3) statement3

7、else statement4內嵌if內嵌ifif (expr1) if (expr2) statement1 else statement2內嵌ifif (expr1) if (expr2) statement1else statement3 內嵌ifif (expr1) statement1else if(expr3) statement3 else statement4內嵌ifif語句嵌套你現在所處的位置:首頁C語言教學幻燈片版第四章 C程序流程設計11/*ch4_4.c*/#include main() int x,y; printf(Enter integer x,y:); scan

8、f(%d,%d,&x,&y); if(x!=y) if(xy) printf(XYn); else printf(XYn); else printf(X=Yn);運轉:Enter integer x,y:12,23 XY Enter integer x,y:12,12 X=Y例 輸入兩數并判別其大小關系你現在所處的位置:首頁C語言教學幻燈片版第四章 C程序流程設計12l缺省 時,else總是和它上面離它最近的未配對的if配對if()if()if()else.else.else.if else 配對原那么:你現在所處的位置:首頁C語言教學幻燈片版第四章 C程序流程設計13例: i

9、f (a=b) if(b=c) printf(“a=b=c); else printf(“a!=b);修正: if (a=b) if(b=c) printf(“a=b=c); else printf(“a!=b);實現if else 正確配對方法:加 實現if else 正確配對方法你現在所處的位置:首頁C語言教學幻燈片版第四章 C程序流程設計14普通方式:switch( 表達式) case E1: 語句組 1; break; case E2: 語句組 2; break; . case En: 語句組 n; break; default: 語句組 ; break; v執行過程:switch表達

10、式語句組1語句組2語句組n語句組.E 1E 2Endefaultcase switch語句開關分支語句你現在所處的位置:首頁C語言教學幻燈片版第四章 C程序流程設計15v:vE1,E2,En是常量表達式,且值必需互不一樣v語句標號作用,必需用break跳出vcase后可包含多個可執行語句,且不用加 vswitch可嵌套v多個case可共用一組執行語句如: case A: case B: case C: printf(“score60n); break; .闡明:你現在所處的位置:首頁C語言教學幻燈片版第四章 C程序流程設計16例 switch(score) case 5: printf(“Ve

11、ry good!); case 4: printf(“Good!); case 3: printf(“Pass!); case 2: printf(“Fail!); default : printf(“data error!); 運轉結果:score為5時,輸出: Very good! Good! Pass! Fail! data error!例子1你現在所處的位置:首頁C語言教學幻燈片版第四章 C程序流程設計17/*ch4_5.c*/#include main() int c; printf(Enter m or n or h or other:); c=getchar(); switch(

12、c) case m: printf(nGood morning!n);break; case n: printf(nGood night!n); break; case h: printf(nHello!n); break; default : printf(n?n); break; 例子2 根據輸入字母輸出字符串你現在所處的位置:首頁C語言教學幻燈片版第四章 C程序流程設計18概述C言語可實現循環的語句:用goto 和 if 構成循環while 語句do while 語句for 語句goto語句及用goto構成循環goto語句普通格式: goto 語句標號; .標號:語句; 4.4 循環型程

13、序設計你現在所處的位置:首頁C語言教學幻燈片版第四章 C程序流程設計19v功能:無條件轉移語句v闡明:v不能用整數作標號v只能出如今goto所在函數內,且獨一v只能加在可執行語句前面v限制運用goto語句4.4 循環型程序設計1你現在所處的位置:首頁C語言教學幻燈片版第四章 C程序流程設計201001nn/*ch6_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

14、循環初值循環終值循環變量增值循環條件循環體例 用if 和goto語句構成循環你現在所處的位置:首頁C語言教學幻燈片版第四章 C程序流程設計21普通方式:while(表達式) 循環體語句;v執行流程:expr循環體假(0)真(非0)whilewhile語句你現在所處的位置:首頁C語言教學幻燈片版第四章 C程序流程設計22普通方式:while(表達式) 循環體語句;v執行流程:expr循環體假(0)真(非0)whilewhile語句方式和執行流程你現在所處的位置:首頁C語言教學幻燈片版第四章 C程序流程設計23v特點:先判別表達式,后執行循環體v闡明:v循環體有能夠一次也不執行v循環體可為恣意類型

15、語句v以下情況,退出while循環v條件表達式不成立為零v循環體內遇break,return,gotov無限循環: while(1)v 循環體;While語句特點和闡明你現在所處的位置:首頁C語言教學幻燈片版第四章 C程序流程設計24用while循環求 1001nn/*ch6_2.c*/#include main() int i,sum=0; i=1; while(i=100) sum=sum+i; i+; printf(%d,sum);循環初值循環終值循環變量增值循環條件循環體例子你現在所處的位置:首頁C語言教學幻燈片版第四章 C程序流程設計25/*ch5_21.c*/#include ma

16、in() 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例 顯示110的平方你現在所處的位置:首頁C語言教學幻燈片版第四章 C程序流程設計26普通方式:do 循環體語句; while(表達式);v執行流程:do循環體expr假(0)真(非0)whiledowhile語句你現在所處的位置:首頁C語言教學幻燈片版第四章 C程序流程設計27v特點:先執行循環體,后判別表達式v闡明:v至少執行一次循環體vdowhil

17、e可轉化成while構造expr循環體假(0)真(非0)循環體While循環dowhile語句特點和闡明你現在所處的位置:首頁C語言教學幻燈片版第四章 C程序流程設計28v普通方式:for(expr1 ; expr2 ; expr3) 循環體語句;v執行流程:expr2循環體假(0)真(非0)forexpr1expr3for語句你現在所處的位置:首頁C語言教學幻燈片版第四章 C程序流程設計29v:for(循環變量賦初值;循環條件;循環變量增值)循環體語句;v闡明:vfor語句中expr1, expr2 ,expr3 類型恣意,都可省略,但分號;不可省v無限循環: for(;)vfor語句可以轉

18、換成while構造expr1;while(expr2)循環體語句;expr3;for語句普通運用方式你現在所處的位置:首頁C語言教學幻燈片版第四章 C程序流程設計30例:#include main( ) int i; 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(a+(i+); 例:#include main( ) int i=0; for(;i10

19、;putchar(a+i),i+) ; 例子你現在所處的位置:首頁C語言教學幻燈片版第四章 C程序流程設計31); 1; 1()*(*)()(*5 . 0)()()(2) 1()(2) 1()(21110iniihiafhssbfafhsihafhbfafhhiafihafhShiafihafhsnabhninii迭代:0yxa a+ha+ih a+(i+1)hbf(x)dxxxfba24)(例 f0r)梯形法求數值積分你現在所處的位置:首頁C語言教學幻燈片版第四章 C程序流程設計32v三種循環可相互嵌套,層數不限v外層循環可包含兩個以上內循環,但不能相互交叉v嵌套循環的執行流程(1) while() while() . (2) do do while( ); . while( );(3) while() do while( ); . (4) for( ; ;) do while(); while() .內循環外循環內循環v嵌套循環的跳轉v制止:v從外層跳入內層v跳入同層的另一循環v向上跳轉循環的嵌套你現在所處的位置:首頁C語言教學幻燈片版第四章 C程序流程設計33i10printf假(0)真(非0)i=1j+j=1j10真(非0)

溫馨提示

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

評論

0/150

提交評論