重慶電子科技職業(yè)學院_第1頁
重慶電子科技職業(yè)學院_第2頁
重慶電子科技職業(yè)學院_第3頁
重慶電子科技職業(yè)學院_第4頁
重慶電子科技職業(yè)學院_第5頁
已閱讀5頁,還剩30頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 重慶電子科技職業(yè)學院 精品課 程序設計基礎 劉江林制 第第1頁頁2005年年7月月7日星期四日星期四 第四章第四章 C C程序中的流程控制程序中的流程控制C語句概述程序的三種基本結(jié)構(gòu)選擇型程序設計循環(huán)型程序設計輔助控制語句 重慶電子科技職業(yè)學院 精品課 程序設計基礎 劉江林制 第第2頁頁2005年年7月月7日星期四日星期四第四章第四章 C C程序中的流程控制程序中的流程控制 C C程序語言的語句分類程序語言的語句分類C語句:以“;”作分隔符,編譯后產(chǎn)生機器指令。C語句分類表達式語句:表達式加分號構(gòu)成。空語句: ;程序控制語句(9種):if( )else switchfor( )while(

2、)dowhile( )continuebreakgotoreturn分支循環(huán)輔助控制如 total=total+limit; a=3; func( ); printf(“Hello,world!n”); 重慶電子科技職業(yè)學院 精品課 程序設計基礎 劉江林制 第第3頁頁2005年年7月月7日星期四日星期四定義 :用 括起來的一組語句。一般形式: 數(shù)據(jù)說明部分; 執(zhí)行語句部分; 說明:“”后不加分號語法上和單一語句相同復合語句可嵌套第四章第四章 C C程序中的流程控制程序中的流程控制 復合語句復合語句 重慶電子科技職業(yè)學院 精品課 程序設計基礎 劉江林制 第第4頁頁2005年年7月月7日星期四日星

3、期四結(jié)構(gòu)化程序設計基本思想:任何程序都可以用三種基本結(jié)構(gòu)表示,限制使用無條件轉(zhuǎn)移語句(goto)結(jié)構(gòu)化程序:由三種基本結(jié)構(gòu)反復嵌套構(gòu)成的程序叫優(yōu)點:結(jié)構(gòu)清晰,易讀,提高程序設計質(zhì)量和效率三種基本結(jié)構(gòu)順序結(jié)構(gòu)ABAB流程圖N-S圖第四章第四章 C C程序中的流程控制程序中的流程控制 程序的三種流程結(jié)構(gòu)程序的三種流程結(jié)構(gòu) 重慶電子科技職業(yè)學院 精品課 程序設計基礎 劉江林制 第第5頁頁2005年年7月月7日星期四日星期四PAB真假PBA真假kA1A2AiAnk=k2k=k1k=knk=ki.l二分支選擇結(jié)構(gòu)二分支選擇結(jié)構(gòu)l多分支選擇結(jié)構(gòu)多分支選擇結(jié)構(gòu)第四章第四章 C C程序中的流程控制程序中的流程

4、控制 三種流程之選擇結(jié)構(gòu)三種流程之選擇結(jié)構(gòu) 重慶電子科技職業(yè)學院 精品課 程序設計基礎 劉江林制 第第6頁頁2005年年7月月7日星期四日星期四PA假真當P為真AAP真假A直到P為真注:A,B,A1.An可以是一個簡單語句,也可以是一個基本結(jié)構(gòu)。第四章第四章 C C程序中的流程控制程序中的流程控制 三種流程之循環(huán)結(jié)構(gòu)三種流程之循環(huán)結(jié)構(gòu) 重慶電子科技職業(yè)學院 精品課 程序設計基礎 劉江林制 第第7頁頁2005年年7月月7日星期四日星期四if語句(條件選擇語句)if語句的三種形式形式一:形式一: 格式:if (expression) statement 執(zhí)行過程:exprstatement非0=0

5、例:if (xy) printf(“%d”,x);exprstatement1statement2非0=0形式二:格式:if (expression) statement1 else statement2執(zhí)行過程: 例:if (xy) max=x; else max=y;第四章第四章 C C程序中的流程控制程序中的流程控制 C C程序種的選擇結(jié)構(gòu)(程序種的選擇結(jié)構(gòu)(ifif) 重慶電子科技職業(yè)學院 精品課 程序設計基礎 劉江林制 第第8頁頁2005年年7月月7日星期四日星期四語法格式:if ( expr1 ) statement1else if (expr2 ) statement2else

6、if (expr3 ) statement3. else statementn expr1statemnt1非0=0expr2expr3statemntnstatemnt3statemnt2非0非0=0=0執(zhí)行過程 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程序中的流程控制程序中的流程控制 選擇結(jié)構(gòu)(選擇結(jié)構(gòu)(ififelse if else if )

7、重慶電子科技職業(yè)學院 精品課 程序設計基礎 劉江林制 第第9頁頁2005年年7月月7日星期四日星期四如:if(a=b&x=y) printf(“a=b,x=y”); if(3) printf(“OK”); if(a) printf(“%d”,a);if后面的表達式類型任意語句可以是復合語句 if(x) if(x!=0) if(!x) if(x=0)例 考慮下面程序的輸出結(jié)果: #include main() int x,y; scanf(“%d,%d”,&x,&y); if(xy) x=y; y=x; else x+; y+; printf(“%d,%dn”,x,y);

8、Compile Error!第四章第四章 C C程序中的流程控制程序中的流程控制 ifif結(jié)構(gòu)使用說明結(jié)構(gòu)使用說明 重慶電子科技職業(yè)學院 精品課 程序設計基礎 劉江林制 第第10頁頁2005年年7月月7日星期四日星期四if (expr1) if (expr2) statement1 else statement2else if(expr3) statement3 else statement4內(nèi)嵌if內(nèi)嵌ifif (expr1) if (expr2) statement1 else statement2內(nèi)嵌ifif (expr1) if (expr2) statement1else state

9、ment3 內(nèi)嵌ifif (expr1) statement1else if(expr3) statement3 else statement4內(nèi)嵌if第四章第四章 C C程序中的流程控制程序中的流程控制 ifif結(jié)構(gòu)的嵌套形式結(jié)構(gòu)的嵌套形式 重慶電子科技職業(yè)學院 精品課 程序設計基礎 劉江林制 第第11頁頁2005年年7月月7日星期四日星期四#include main() int x,y; printf(Enter integer x,y:); scanf(%d,%d,&x,&y); if(x!=y) if(xy) printf(XYn); else printf(XYn);

10、 else printf(X=Yn);運行結(jié)果:Enter integer x,y:12,23 XY Enter integer x,y:12,12 X=Y第四章第四章 C C程序中的流程控制程序中的流程控制 ifif結(jié)構(gòu)程序舉例結(jié)構(gòu)程序舉例例 輸入兩數(shù)并判斷其大小 重慶電子科技職業(yè)學院 精品課 程序設計基礎 劉江林制 第第12頁頁2005年年7月月7日星期四日星期四缺省缺省 時,時,else總是和它上面離它最近的總是和它上面離它最近的未配對的未配對的if配對配對if()if()if()else.else.else.第四章第四章 C C程序中的流程控制程序中的流程控制 ififelseelse

11、的配對原則的配對原則 重慶電子科技職業(yè)學院 精品課 程序設計基礎 劉江林制 第第13頁頁2005年年7月月7日星期四日星期四例: if (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”);實現(xiàn)if else 正確配對方法:加 第四章第四章 C C程序中的流程控制程序中的流程控制 ififelseelse的配對舉例的配對舉例 重慶電子科技職業(yè)學院 精品課 程序設計基礎 劉江林制 第第14頁頁2005年年7月月7日星期四日星期四一般形

12、式:switch( 表達式) case E1: 語句組 1; break; case E2: 語句組 2; . case En: 語句組 n; default: 語句組 ; 執(zhí)行過程:switch表達式語句組1語句組2語句組n語句組.E 1E 2Endefaultcase 第四章第四章 C C程序中的流程控制程序中的流程控制 選擇結(jié)構(gòu)(選擇結(jié)構(gòu)(switch switch ) 重慶電子科技職業(yè)學院 精品課 程序設計基礎 劉江林制 第第15頁頁2005年年7月月7日星期四日星期四lE1,E2,En是常量表達式,且值必須互不相同l語句標號作用,必須用break跳出lcase后可包含多個可執(zhí)行語句,

13、且不必加 lswitch可嵌套l多個case可共用一組執(zhí)行語句如: case A: case B: case C: printf(“score60n”); break; .第四章第四章 C C程序中的流程控制程序中的流程控制 選擇結(jié)構(gòu)(選擇結(jié)構(gòu)(switch switch )說明)說明 重慶電子科技職業(yè)學院 精品課 程序設計基礎 劉江林制 第第16頁頁2005年年7月月7日星期四日星期四例 switch(score) case 5: printf(“Very good!”); case 4: printf(“Good!”); case 3: printf(“Pass!”); case 2: p

14、rintf(“Fail!”); default : printf(“data error!”); 運行結(jié)果:score為5時,輸出: Very good! Good! Pass! Fail! data error!第四章第四章 C C程序中的流程控制程序中的流程控制 選擇結(jié)構(gòu)(選擇結(jié)構(gòu)(switch switch )舉例)舉例 重慶電子科技職業(yè)學院 精品課 程序設計基礎 劉江林制 第第17頁頁2005年年7月月7日星期四日星期四#include main() int c; printf(Enter m or n or h or other:); c=getchar(); switch(c) c

15、ase m: printf(nGood morning!n);break; case n: printf(nGood night!n); break; case h: printf(nHello!n); break; default : printf(n?n); break; 第四章第四章 C C程序中的流程控制程序中的流程控制 選擇結(jié)構(gòu)(選擇結(jié)構(gòu)(switch switch )舉例)舉例 重慶電子科技職業(yè)學院 精品課 程序設計基礎 劉江林制 第第18頁頁2005年年7月月7日星期四日星期四概述C語言可實現(xiàn)循環(huán)的語句:用goto 和 if 構(gòu)成循環(huán)while 語句do while 語句for

16、語句goto語句及用goto構(gòu)成循環(huán)goto語句一般格式:goto 語句標號; .標號:語句; 第四章第四章 C C程序中的流程控制程序中的流程控制 三種流程之循環(huán)結(jié)構(gòu)三種流程之循環(huán)結(jié)構(gòu) 重慶電子科技職業(yè)學院 精品課 程序設計基礎 劉江林制 第第19頁頁2005年年7月月7日星期四日星期四v功能:無條件轉(zhuǎn)移語句v說明:l不能用整數(shù)作標號l只能出現(xiàn)在goto所在函數(shù)內(nèi),且唯一l只能加在可執(zhí)行語句前面l限制使用goto語句第四章第四章 C C程序中的流程控制程序中的流程控制 循環(huán)結(jié)構(gòu)之循環(huán)結(jié)構(gòu)之gotogoto語句語句 重慶電子科技職業(yè)學院 精品課 程序設計基礎 劉江林制 第第20頁頁2005年年

17、7月月7日星期四日星期四1001nn#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循環(huán)初值循環(huán)終值循環(huán)變量增值循環(huán)條件循環(huán)體第四章第四章 C C程序中的流程控制程序中的流程控制 用用if if 和和gotogoto語句構(gòu)成循環(huán)語句構(gòu)成循環(huán) 重慶電子科技職業(yè)學院 精品課 程序設計基礎 劉江林制 第第21頁頁2005年年7月月7日星期四日星期四v一般形式:while(表達式)

18、 循環(huán)體語句;v執(zhí)行流程:expr循環(huán)體假(0)真(非0)while第四章第四章 C C程序中的流程控制程序中的流程控制 循環(huán)結(jié)構(gòu)之循環(huán)結(jié)構(gòu)之whilewhile語句語句 重慶電子科技職業(yè)學院 精品課 程序設計基礎 劉江林制 第第22頁頁2005年年7月月7日星期四日星期四v特點:先判斷表達式,后執(zhí)行循環(huán)體v說明:l循環(huán)體有可能一次也不執(zhí)行l(wèi)循環(huán)體可為任意類型語句l下列情況,退出while循環(huán)u條件表達式不成立(為零)u循環(huán)體內(nèi)遇break,return,gotol無限循環(huán): while(1) 循環(huán)體;第四章第四章 C C程序中的流程控制程序中的流程控制 whilewhile語句特點語句特點

19、重慶電子科技職業(yè)學院 精品課 程序設計基礎 劉江林制 第第23頁頁2005年年7月月7日星期四日星期四用while循環(huán)求 1001nn#include main() int i,sum=0; i=1; while(i=100) sum=sum+i; i+; printf(%d,sum);循環(huán)初值循環(huán)終值循環(huán)變量增值循環(huán)條件循環(huán)體第四章第四章 C C程序中的流程控制程序中的流程控制 whilewhile循環(huán)程序舉例循環(huán)程序舉例 重慶電子科技職業(yè)學院 精品課 程序設計基礎 劉江林制 第第24頁頁2005年年7月月7日星期四日星期四#include main() int i=1; while(i=1

20、0) printf(%d*%d=%dn,i,i,i*i); i+; 運行結(jié)果:1*1=12*2=43*3=94*4=165*5=256*6=367*7=498*8=649*9=8110*10=100第四章第四章 C C程序中的流程控制程序中的流程控制 whilewhile循環(huán)程序舉例循環(huán)程序舉例例例 顯示顯示110的平方的平方 重慶電子科技職業(yè)學院 精品課 程序設計基礎 劉江林制 第第25頁頁2005年年7月月7日星期四日星期四v一般形式:do 循環(huán)體語句; while(表達式);v執(zhí)行流程:do循環(huán)體expr假(0)真(非0)while第四章第四章 C C程序中的流程控制程序中的流程控制 循

21、環(huán)結(jié)構(gòu)之循環(huán)結(jié)構(gòu)之do whiledo while語句語句 重慶電子科技職業(yè)學院 精品課 程序設計基礎 劉江林制 第第26頁頁2005年年7月月7日星期四日星期四特點:先執(zhí)行循環(huán)體,后判斷表達式說明:至少執(zhí)行一次循環(huán)體第四章第四章 C C程序中的流程控制程序中的流程控制 do whiledo while語句的特點語句的特點 重慶電子科技職業(yè)學院 精品課 程序設計基礎 劉江林制 第第27頁頁2005年年7月月7日星期四日星期四語法格式:for(expr1 ; expr2 ; expr3) 循環(huán)體語句;執(zhí)行流程:第四章第四章 C C程序中的流程控制程序中的流程控制 循環(huán)結(jié)構(gòu)之循環(huán)結(jié)構(gòu)之forfor

22、語句語句expr2循環(huán)體假(0)真(非0)forexpr1expr3 重慶電子科技職業(yè)學院 精品課 程序設計基礎 劉江林制 第第28頁頁2005年年7月月7日星期四日星期四for(循環(huán)變量賦初值;循環(huán)條件;循環(huán)變量增值)循環(huán)體語句;v說明:lfor語句中expr1, expr2 ,expr3 類型任意,都可省略,但分號;不可省l無限循環(huán): for(;)lfor語句可以轉(zhuǎn)換成while結(jié)構(gòu)expr1;while(expr2)循環(huán)體語句;expr3;第四章第四章 C C程序中的流程控制程序中的流程控制 forfor語句特點語句特點 重慶電子科技職業(yè)學院 精品課 程序設計基礎 劉江林制 第第29頁頁

23、2005年年7月月7日星期四日星期四 #include main( ) int i=0; for(i=0;i10;i+) putchar(a+i); 運行結(jié)果:abcdefghij#include main( ) int i=0; for(;i10;i+) putchar(a+i); #include main( ) int i=0; for(;i10;) putchar(a+(i+); #includestdio.h main( )int i=0; for(;i10;putchar(a+i),i+); 第四章第四章 C C程序中的流程控制程序中的流程控制 forfor循環(huán)舉例循環(huán)舉例 重慶電

24、子科技職業(yè)學院 精品課 程序設計基礎 劉江林制 第第30頁頁2005年年7月月7日星期四日星期四v三種循環(huán)可互相嵌套,層數(shù)不限v外層循環(huán)可包含兩個以上內(nèi)循環(huán),但不能相互交叉v嵌套循環(huán)的執(zhí)行流程while() while() . do do while( ); . while( );while() do while( ); . (4) for( ; ;) do while(); while() .內(nèi)循環(huán)外循環(huán)內(nèi)循環(huán)v嵌套循環(huán)的跳轉(zhuǎn)l從外層跳入內(nèi)層l跳入同層的另一循環(huán)l向上跳轉(zhuǎn)第四章第四章 C C程序中的流程控制程序中的流程控制 循環(huán)的嵌套循環(huán)的嵌套 重慶電子科技職業(yè)學院 精品課 程序設計基礎 劉江林制 第第31頁頁2005年年7月月7日星期四日星期四第四章第四章 C C程序中的流程控制程序中的流程控制 breakbreak語句語句break語句:功能:在循環(huán)語句和switch語句中,終止并跳出循環(huán)體或開關(guān)體。說明:break只能終止并跳出最近一層的結(jié)構(gòu)。break不能用于循環(huán)語句和switch語句之外的任何其它語句之中。 重慶電子科技職業(yè)學院 精品課 程序設計基礎 劉江林制 第第32頁頁2005年年7月月7日星期四日星

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論