浙江大學(xué)C顏暉原版C4PPT優(yōu)秀課件_第1頁(yè)
浙江大學(xué)C顏暉原版C4PPT優(yōu)秀課件_第2頁(yè)
浙江大學(xué)C顏暉原版C4PPT優(yōu)秀課件_第3頁(yè)
浙江大學(xué)C顏暉原版C4PPT優(yōu)秀課件_第4頁(yè)
浙江大學(xué)C顏暉原版C4PPT優(yōu)秀課件_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1 第四章 分支結(jié)構(gòu)程序設(shè)計(jì) q表達(dá)式 o 關(guān)系表達(dá)式 o 邏輯表達(dá)式 o 條件表達(dá)式 q語(yǔ)句 o if 語(yǔ)句 o 多分支語(yǔ)句 (switch) 2 4.1.1 關(guān)系運(yùn)算符和關(guān)系表達(dá)式 q比較兩個(gè)量(x, y)之間的關(guān)系 x y x y x = y x != y q比較的結(jié)果: 真真 31 假假 13 int x=2, y=6; x = (y 3) x = (x y) 1 0 x=1 x=0 3 關(guān)系運(yùn)算符的優(yōu)先級(jí) 運(yùn)算符優(yōu)先級(jí): 算術(shù)運(yùn)算符 高高 = = != = 低低 d = b+2 = 3 d = (b+2) = 3) b - 1 = a != c (b 1) = a) != c 4 關(guān)

2、系表達(dá)式 3 x 5 x=1時(shí) x=4時(shí) ( 3x ) 5 恒為恒為 1 5 4.1.2 邏輯運(yùn)算符和邏輯表達(dá)式 3 x 3 并且并且 x 5 3 x y = (31 y = (31 | x+); exp1 else y=x*x; 16 if else結(jié)構(gòu) if (exp) statement_1 else statement_2 scanf(%d%d, if ( a != b ) t = a; a=b; b=t; printf(%d,%d, a, b); else printf(a=b); 一條語(yǔ)句 一條語(yǔ)句 17 4.2.1 基本的if語(yǔ)句 2、省略else的if結(jié)構(gòu) if (exp) s

3、tatement_1 語(yǔ)句1 表達(dá)式 非00 ch=getchar(); if(ch=a putchar(ch); 18 例47 求最大值 輸入3個(gè)數(shù),輸出其中的最大值。 #include void main( ) int a, b, c, max; printf(input a, b, c:n); scanf(%d%d%d, max = a; if(max b) max = b; if(max 0 y = 0 當(dāng) x=0 -1 當(dāng) x0) y = 1; else if (x=0) y = 0; else y = -1; 0 x 0 x = 0 y = 1 y = 0 非0 0 非0 y =

4、-1 輸入變量x, 計(jì)算y: x+1 x1 y = x+2 1=x2 x+3 2=x=3 例4-9 if (x1) y = x+1; else if (x2) y = x+2; else if(x3) y = x+3; else y = x+4; y = x+4 0 x 1 x 2 y = x+1 y = x+2 非0 0 非0 x 0 y = 0 當(dāng) x=0 -1 當(dāng) x=0) if(x0) y = 1; else y = 0; else y = -1; x = 0 x 0 y = 1 y = 0 非0 0 非0 y = -1 0 輸入變量x, 計(jì)算y: x+1 x1 y = x+2 1=x

5、2 x+3 2=x=3 例4-9 if (x2) if(x1) y = x+1; else y = x+2; else if(x3) y = x+3; else y = x+4; x 2 x 1 y = x+1 y = x+2 非0 0 非0 0 x 0) y = 1; else if (x=0) y = 0; else y = -1; if (x=0) if(x0) y = 1; else y = 0; else y = -1; x=0 x 0 y = 1 y = 0 非0 0 非0 y = -1 0 0 x 0 x = 0 y = 1 y = 0 非0 0 非0 y = -1 2種嵌套if

6、語(yǔ)句的比較 27 else 和 if 的匹配 if (exp_1) if(exp_2) statement_1 else statement_2 else if(exp_3) statement_3 else statement_4 if (exp_1) if(exp_2) statement_1 else if(exp_3) statement_3 else statement_4 else 與最靠近它的、沒(méi)有與別的 else 匹配過(guò)的 if 匹配 if (exp_1) if(exp_2) statement_1 else if(exp_3) statement_3 else stateme

7、nt_4 28 改變else 和 if 的配對(duì) if (exp_1) if(exp_2) statement_1 else if(exp_3) statement_3 else statement_4 if (exp_1) if(exp_2) statement_1 else if(exp_3) statement_3 else statement_4 if (exp_1) if(exp_2) statement_1 else if(exp_3) statement_3 else statement_4 if (exp_1) if(exp_2) statement_1 else else if

8、(exp_3) statement_3 else statement_4 29 4.2.3 條件表達(dá)式 exp1 ? exp2 : exp3 非00 exp1 y = (x0) ? x+2 : x*x; int n; (n0) ? 2.9 : 1 n = 10 n = -10 2.9 1.0 x+2 x0 y = x2 x0 ) y=x+2; else y=x*x; 30 4.3 switch語(yǔ)句 switch(表達(dá)式) case 常量表達(dá)式1:語(yǔ)句段段1 case 常量表達(dá)式2:語(yǔ)句段段2 . case 常量表達(dá)式n:語(yǔ)句段段n default :語(yǔ)句段段n+1 switch(表達(dá)式) ca

9、se 常量表達(dá)式1:語(yǔ)句段段1 case 常量表達(dá)式2:語(yǔ)句段段2 . case 常量表達(dá)式n:語(yǔ)句段段n default :語(yǔ)句段段n+1 表達(dá)式的值表達(dá)式的值=常量表達(dá)式常量表達(dá)式 2 的值的值 表表 達(dá)達(dá) 式式 語(yǔ)句段語(yǔ)句段1 語(yǔ)句段語(yǔ)句段2 語(yǔ)句段語(yǔ)句段n 語(yǔ)句段語(yǔ)句段n+1 表達(dá)式表達(dá)式的值的值= =常量表達(dá)式常量表達(dá)式 1 的值的值 表達(dá)式的值表達(dá)式的值=常量表達(dá)式常量表達(dá)式 n 的值的值 其他其他 32 例413 # include void main( ) int k; scanf(%d, switch( k ) case 1: printf ( Im in the case1

10、n ); case 2: printf ( Im in the case2n ); case 3: printf ( Im in the case3n ); default: printf ( Im in the defaultn); 輸入 2 輸入 6 # include void main( ) int k; scanf(%d, switch( k ) case 1: printf ( Im in the case1n ); break; case 2: printf ( Im in the case2n ); break; case 3: printf ( Im in the case3

11、n ); break; default: printf ( Im in the defaultn); break; 輸入 2 輸入 6 if(k=1) printf ( Im in the case1n ); else if(k=2) printf ( Im in the case2n ); else if(k=3) printf ( Im in the case3n ); else printf ( Im in the defaultn); 34 例414 void main( ) char c; printf(Please input a character:n); c = getchar(); switch(c) case : case n: printf(This is a blank or enter); break; case 0 : case 1 : case 2 : case 3 : case 4 : case 5 : case 6 : case 7 : case 8 : case 9 : printf(This is a digit.n); break; default: printf(This is an other character. n); 輸入 2 輸入 a 幾個(gè)常量表達(dá)式共有 一個(gè)語(yǔ)句段 35 例4

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論