第4章 分支結(jié)構(gòu).ppt_第1頁
第4章 分支結(jié)構(gòu).ppt_第2頁
第4章 分支結(jié)構(gòu).ppt_第3頁
第4章 分支結(jié)構(gòu).ppt_第4頁
第4章 分支結(jié)構(gòu).ppt_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1,第四章 選擇(分支)結(jié)構(gòu)程序設(shè)計(jì),4.1 if結(jié)構(gòu),4.2 switch結(jié)構(gòu),4.3 程序范例,2,if語句(條件語句),if語句的三種形式 形式一 格式 if (表達(dá)式)語句; 執(zhí)行過程 形式二 格式 if (表達(dá)式)語句1; else語句2; 執(zhí)行過程,3,形式三 格式 執(zhí)行過程,if語句(條件語句),if ( expr1 ) statement1 ; else if (expr2 ) statement2 ; else if (expr3 ) statement3 ; . else statementN ;,例:if (score=90) level=A; else if (scor

2、e =80) level=B; else if (score =70) level=C; else if (score =60) level=D; else level=E;,4,如:if(a=b,if后面的表達(dá)式類型任意,語句可以是復(fù)合語句 if(x) if(x!=0) if(!x) if(x=0),例 考慮下面程序的輸出結(jié)果: #include main() int x,y; scanf(“%d,%d”, ,Compile Error!,if語句的說明,5,if else 配對(duì)原則:缺省 時(shí),else總是和它上面離它最近的未配對(duì)的if配對(duì)。,注意:,6,例: if (a=b) if(b=c

3、) printf(“a=b=c”); else printf(“a!=b”);,修改: if (a=b) if(b=c) printf(“a=b=c”); else printf(“a!=b”);,實(shí)現(xiàn)if else 正確配對(duì)方法:加 ,7,一般形式:,if語句嵌套,8,例 考慮下面程序輸出結(jié)果: main() int x=100,a=10,b=20; int v1=5,v2=0; if(ab) if(b!=15) if(!v1) x=1; else if(v2) x=10; x=-1; printf(“%d”,x); ,結(jié)果:-1,9,#include main() char c; prin

4、tf(Enter a character:); c=getchar(); if(c=0 ,例 判斷輸入字符種類,運(yùn)行:Enter a character: The character is a control character,運(yùn)行:Enter a character:8 The character is a digit,運(yùn)行: Enter a character: D The character is a capital letter,運(yùn)行: Enter a character: h The character is a lower letter,運(yùn)行: Enter a character

5、:$ The character is other character,10,switch語句(開關(guān)語句),switch( 表達(dá)式) case E1: 語句組 1; break; case E2: 語句組 2; break; . case En: 語句組 n; break; default: 語句組n+1 ; ,執(zhí)行過程:,一般形式:,11,E1,E2,En是常量表達(dá)式,且值必須互不相同 語句標(biāo)號(hào)作用,必須用break跳出 case后可包含多個(gè)可執(zhí)行語句,且不必加 switch可嵌套 多個(gè)case可共用一組執(zhí)行語句,如: case A: case B: case C: printf(“scor

6、e60n”); break; .,說明:,12,例 switch(score) case 5: printf(“Very good!”); case 4: printf(“Good!”); case 3: printf(“Pass!”); case 2: printf(“Fail!”); default : printf(“data error!”); ,運(yùn)行結(jié)果:score為5時(shí),輸出: Very good! Good! Pass! Fail! data error!,13,例 void main() int x=1,y=0,a=0,b=0; switch(x) case 1: switch

7、(y) case 0: a+; break; case 1: b+; break; case 2: a+;b+; break; case 3: a+;b+; printf(“na=%d,b=%d”,a,b); ,運(yùn)行結(jié)果:a=2,b=1,14,#include main() int c; printf(Enter m or n or h or other:); c=getchar(); switch(c) case m: printf(nGood morning!n);break; case n: printf(nGood night!n); break; case h: printf(nHe

8、llo!n); break; default : printf(n?n); break; ,例 根據(jù)輸入字母輸出字符串,15,例學(xué)生成績統(tǒng)計(jì),從鍵盤輸入30個(gè)學(xué)生的成績,根據(jù)成績的高低將其轉(zhuǎn)換為A,B,C,D,E五個(gè)等級(jí),并統(tǒng)計(jì)各分?jǐn)?shù)級(jí)別學(xué)生的人數(shù)及正確的輸入次數(shù)和錯(cuò)誤的輸入次數(shù)。,16,例學(xué)生成績統(tǒng)計(jì),從鍵盤輸入30個(gè)學(xué)生的成績,根據(jù)成績的高低將其轉(zhuǎn)換為A,B,C,D,E五個(gè)等級(jí),并統(tǒng)計(jì)各分?jǐn)?shù)級(jí)別學(xué)生的人數(shù)及正確的輸入次數(shù)和錯(cuò)誤的輸入次數(shù)。 分析:程序需要定義7個(gè)計(jì)數(shù)變量(整型),一個(gè)浮點(diǎn)型數(shù)組??梢允褂胕f語句 或者switch語句,17,#include main() int aCoun

9、t=0,bCount=0,cCount=0,dCount=0,eCount=0; int total=0,errTotal=0; float score32; int i ,level; for (i=0;i30;i+) printf(please input score 0-100n); scanf(%f, ,18,for (i=0;i30;i+) level = (int)(scorei/10); switch(level) case 10: case 9: aCount+;total+; break; case 8: bCount+;total+; break; case 7: cCount+;total+; break; case 6: dCount+;total+; break; case 5: case 4: case 3: case 2: case 1: case 0: eCount+;total+; break; default: errTo

溫馨提示

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

評(píng)論

0/150

提交評(píng)論