




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、語言程序設計1第第4 4章章 分支結構程序設計分支結構程序設計語言程序設計2第第4 4章章 分支結構程序設計分支結構程序設計4.14.1關系運算符和關系表達式關系運算符和關系表達式4.24.2邏輯運算符和邏輯表達式邏輯運算符和邏輯表達式4.3 if4.3 if語句以及用語句以及用ifif語句構成的分支結構語句構成的分支結構4.4 switch4.4 switch語句以及用語句以及用switchswitch語句和語句和breakbreak語句語句構成的分支結構構成的分支結構4.54.5程序舉例程序舉例主要內容:主要內容:語言程序設計3第第4 4章章 分支結構程序設計分支結構程序設計4.14.1關
2、系運算符和關系表達式關系運算符和關系表達式 4.1.1 4.1.1 關系運算符關系運算符 C C語言提供以下語言提供以下6 6種關系運算符:種關系運算符:(1) (1) ( (大于大于) )(2)=(2)=(大于等于)(大于等于)(3)(3)(小于)(小于)(4)=(4)=(小于等于)(小于等于)(5)=(5)=(等于)(等于)(6)!=(6)!=(不等于)(不等于)語言程序設計4第第4 4章章 分支結構程序設計分支結構程序設計關系運算符都是雙目運算符,其結合性為從關系運算符都是雙目運算符,其結合性為從左到右。關系成立,則關系運算的的值為左到右。關系成立,則關系運算的的值為1 1,即,即邏輯邏
3、輯“真真”;關系不成立,則關系運算的值為;關系不成立,則關系運算的值為0 0,即邏輯即邏輯“假假”。例如:例如: 3535 ( (值為值為1) 1) 5!=3 5!=3 (值為(值為1 1) 5=35=3 (值為(值為0 0) aba 、=、 、=bcabcx=yz x=yz 語言程序設計6第第4 4章章 分支結構程序設計分支結構程序設計關系運算符的優(yōu)先級低于算術運算符,但高關系運算符的優(yōu)先級低于算術運算符,但高于賦值運算符。于賦值運算符。 例如:例如:x=yzx=yz等價于等價于x=(yz)x=(yz),先計算,先計算yzyb+cab+c等價于等價于a(b+c)a(b+c)。語言程序設計7第
4、第4 4章章 分支結構程序設計分支結構程序設計如果如果a a和和b b都是實型數據,應避免使用都是實型數據,應避免使用a=ba=b這樣這樣的關系表達式,因為在內存中存放的實型數據是的關系表達式,因為在內存中存放的實型數據是有誤差的。有誤差的。注意賦值運算符注意賦值運算符“= =”和關系運算符和關系運算符“=”的區(qū)別。的區(qū)別。語言程序設計8第第4 4章章 分支結構程序設計分支結構程序設計4.1.2 4.1.2 關系表達式關系表達式 由關系運算符構成的表達式,稱關系表達式。由關系運算符構成的表達式,稱關系表達式。關系運算符兩邊的運算對象可以是關系運算符兩邊的運算對象可以是C C語言中任意合語言中任
5、意合法的表達式。法的表達式。 關系表達式的值為關系表達式的值為“邏輯值邏輯值”,即,即“真真”和和“假假”,“真真”用整數用整數1 1來表示,來表示,“假假”用整數用整數0 0來表來表示。示。語言程序設計9第第4 4章章 分支結構程序設計分支結構程序設計以下都是合法的關系表達式:以下都是合法的關系表達式: a+bc+da+bc+d (a=3)(b=5) (a=3)(b=5) x!=y x!=y ac=c ac=c a+1=b a+1=b A+32=B A+32=B【例例4.14.1】關系運算符和關系表達式舉例。關系運算符和關系表達式舉例。 #include #include void main
6、() void main() int a=3,b=5,c=23; int a=3,b=5,c=23; char ch=A; char ch=A; printf(%d,%dn,ab,ab,ab+c); printf(%d,%dn,a!=ch,c=a+b); printf(%d,%dn,a!=ch,c=a+b); printf(%d,%dn,ac,ch+32=a); printf(%d,%dn,ac,ch+32=a); 運行結果:運行結果:0,10,11,01,00,10,1語言程序設計10第第4 4章章 分支結構程序設計分支結構程序設計4.24.2邏輯運算符和邏輯表達式邏輯運算符和邏輯表達式 4
7、.2.1 4.2.1 邏輯運算符邏輯運算符 在在C C語言中,選擇條件不僅可以由關系表達語言中,選擇條件不僅可以由關系表達式組成,還可以由邏輯表達式組成,進行邏輯判式組成,還可以由邏輯表達式組成,進行邏輯判斷時,數據的值為非斷時,數據的值為非0 0,即為邏輯,即為邏輯“真真”,數據,數據的值為的值為0 0,即為邏輯,即為邏輯“假假”。邏輯運算與關系運。邏輯運算與關系運算的結果都是算的結果都是“邏輯值邏輯值”,即,即“真真”或或“假,分假,分別用整數別用整數1 1和和0 0表示。表示。語言程序設計11第第4 4章章 分支結構程序設計分支結構程序設計 C C語言提供了語言提供了3 3種邏輯運算符:
8、種邏輯運算符: (1) (1) !(邏輯(邏輯“非非”) (2)&(2)&(邏輯(邏輯“與與”) (3)|(3)| (邏輯(邏輯“或或”) 邏輯運算符的結合性為從左到右。邏輯運算符的結合性為從左到右。 當參與邏輯當參與邏輯“與與”(&)運算的兩個操作)運算的兩個操作數都為數都為“真真”,結果才為,結果才為“真真”。 當參與邏輯當參與邏輯“或或”(|)運算的兩個操作)運算的兩個操作數中只要有一個為數中只要有一個為“真真”,結果就為,結果就為“真真”。語言程序設計12第第4 4章章 分支結構程序設計分支結構程序設計說明:說明: 3 3種邏輯運算符的優(yōu)先級從高到低是:種邏輯運
9、算符的優(yōu)先級從高到低是:! !、&、|。 邏輯運算符與關系運算符、算術運算符、賦值邏輯運算符與關系運算符、算術運算符、賦值運算符之間的優(yōu)先級從高到低是:!(邏輯運算符之間的優(yōu)先級從高到低是:?。ㄟ壿嫛胺欠恰保?、算術運算符、關系運算符、邏輯運算)、算術運算符、關系運算符、邏輯運算符(符(&和和|)、賦值運算符。)、賦值運算符。例如:例如:x=a+bc&!c+dx=a+bc&!c+d等價于:等價于:x=(a+b)c&(!c)+d)x=(a+b)c&(!c)+d)語言程序設計13第第4 4章章 分支結構程序設計分支結構程序設計關于邏輯運算符關于邏輯運算
10、符“!”例如:例如:!(ab)!(ab)/ /* *等價于等價于a=bab)&(cb)&(c=d) / /* *等價于等價于(ad)(ad)* */ /在在C C語言中,由語言中,由“&”或或“|”構成的邏輯表達式構成的邏輯表達式,在某些情況下會產生,在某些情況下會產生“短路短路”。例如:例如: int a=0,b=1;int a=0,b=1; a+&b+; a+&b+; printf(%d,%dn,a,b); printf(%d,%dn,a,b);輸出:輸出:1,1 1,1 再如:再如: int a=0,b=1;int a=0,b=1; a+|b+;
11、a+|b+; printf(%d,%dn,a,b); printf(%d,%dn,a,b);輸出:輸出:1,21,2語言程序設計14第第4 4章章 分支結構程序設計分支結構程序設計4.2.2 4.2.2 邏輯表達式邏輯表達式 由邏輯運算符構成的表達式,稱為邏輯由邏輯運算符構成的表達式,稱為邏輯表達式。邏輯運算符兩邊的運算對象可以是表達式。邏輯運算符兩邊的運算對象可以是C C語言中任意合法的表達式。語言中任意合法的表達式。 邏輯表達式的值為邏輯表達式的值為“邏輯值邏輯值”,即,即“真真”和和“假假”,“真真”用整數用整數1 1來表示,來表示,“假假”用整數用整數0 0來表示。來表示。語言程序設計
12、15第第4 4章章 分支結構程序設計分支結構程序設計以下都是合法的邏輯表達式:以下都是合法的邏輯表達式: a+3b-5&!ca+3b-5&!c a|b&c a|b&c x+y&xy x+y&xy !a !a【例例4.24.2】邏輯運算符和邏輯表達式舉例邏輯運算符和邏輯表達式舉例 #include #include void main() void main() int a=3,b=5,c=23; int a=3,b=5,c=23; int x=9,y=10; int x=9,y=10; printf(%d,%dn, a+3b-5&!c,
13、a|b&c); printf(%d,%dn, a+3b-5&!c, a|b&c); printf(%d,%dn, x+y&xy, !a); printf(%d,%dn, x+y&xb)if(ab) a+; a+;/ /* *ifif子句子句* */ /b+;b+;再如:再如:if(ab)if(ab) a+; a+; b+; b+;/ /* *此復合語句是此復合語句是ifif子句子句* */ / c+; c+;語言程序設計20第第4 4章章 分支結構程序設計分支結構程序設計說明:說明:ifif后面一對圓括號中的表達式可以是任意后面一對圓括號中的表達式可以是
14、任意合法的表達式,如:合法的表達式,如:關系表達式,如關系表達式,如xyxy邏輯表達式,如邏輯表達式,如ab&bc ab&bc 算術表達式,如算術表達式,如a+ba+b賦值表達式,如賦值表達式,如x=y x=y 變量,如變量,如a a常量,如常量,如-5-5自增(自增(+)、自減()、自減(-)也可以出現在條件)也可以出現在條件表達式里,如表達式里,如x+yx+y語言程序設計21第第4 4章章 分支結構程序設計分支結構程序設計例如:例如:if(x=y)if(x=y) printf(%dn,x+); printf(%dn,x+);printf(%dn, +y);printf(%d
15、n, +y);再如:再如:if(a+b)if(a+b) printf(%dn,a/b); printf(%dn,a/b);printf(%dn, a%b);printf(%dn, a%b);語言程序設計22第第4 4章章 分支結構程序設計分支結構程序設計使用使用ifif語句要注意以下幾個方面:語句要注意以下幾個方面:(1)if(1)if是是C C語言的關鍵字,必須小寫,而且語言的關鍵字,必須小寫,而且ifif后面的后面的一對圓括號不能省略。一對圓括號不能省略。(2)(2)不要輕易在不要輕易在ifif后面的一對圓括號后面加分號,后面的一對圓括號后面加分號,否則會出現錯誤或改變了否則會出現錯誤或改
16、變了ifif的子句。的子句。例如:例如:if(ab)if(ab); a+;a+;b+;b+;語言程序設計23第第4 4章章 分支結構程序設計分支結構程序設計2.2.雙分支雙分支ifif語句。語句格式如下:語句。語句格式如下: if(if(表達式表達式) ) 語句語句1 1 else else 語句語句2 2語句執(zhí)行過程如下:語句執(zhí)行過程如下:首先計算緊跟在首先計算緊跟在ifif后面一對圓括號中的表達式的值。后面一對圓括號中的表達式的值。(1)(1)如果表達式的值為如果表達式的值為“真真”,則執(zhí)行其后的,則執(zhí)行其后的ifif子句,子句,即其下面的最近的一條語句或其下面最近的復合語句即其下面的最近
17、的一條語句或其下面最近的復合語句,然后再去執(zhí)行,然后再去執(zhí)行ifif語句后面的其他語句。語句后面的其他語句。(2)(2)如果表達式的值為如果表達式的值為“假假”,則跳過,則跳過ifif子句,去執(zhí)行子句,去執(zhí)行elseelse子句,然后再去執(zhí)行子句,然后再去執(zhí)行ifif語句后面的其他語句。語句后面的其他語句。語言程序設計24第第4 4章章 分支結構程序設計分支結構程序設計其執(zhí)行過程可用下面流程圖來表示:其執(zhí)行過程可用下面流程圖來表示:圖圖4.2 4.2 雙分支選擇結構的執(zhí)行過程雙分支選擇結構的執(zhí)行過程語言程序設計25第第4 4章章 分支結構程序設計分支結構程序設計例如:例如:if(ab)if(a
18、b) printf(%dn,a); printf(%dn,a); / /* *ifif子句子句* */ / else printf(%dn,b);else printf(%dn,b);/ /* *elseelse子句子句* */ /使用使用ififelse else 語句應注意以下幾個方面:語句應注意以下幾個方面:(1)if(1)if和和elseelse都是都是C C語言的關鍵字,必須小寫。語言的關鍵字,必須小寫。(2)else(2)else不是一條獨立的語句,不能單獨出現,不是一條獨立的語句,不能單獨出現,必須與必須與ifif配對使用,配對的原則是:配對使用,配對的原則是:elseelse與
19、其上與其上面最近的且沒使用的面最近的且沒使用的ifif配對。配對。 語言程序設計26第第4 4章章 分支結構程序設計分支結構程序設計 #include#include void main() void main() int a=2,b=-1,c=2; int a=2,b=-1,c=2; if(ab) if(ab) if(b0) c=0; if(b0) c=0; else c+=1; else c+=1; printf(c=%d,c); printf(c=%d,c); 【例例4.34.3】分析下面程序分析下面程序 運行結果:運行結果:c=2c=2語言程序設計27第第4 4章章 分支結構程序設計分
20、支結構程序設計在在ifif和和elseelse之間不能出現第二條語句或第二條復之間不能出現第二條語句或第二條復合語句,否則會出現錯誤提示。合語句,否則會出現錯誤提示。例如:例如:if(x=y)if(x=y) x+; x+; printf(%dn,x); printf(%dn,x);else printf(%dn,xelse printf(%dn,x* *y);y);改寫成:改寫成:if(x=y)if(x=y)x+;x+; printf(%dn,x); printf(%dn,x);else else printf(%dn,xprintf(%dn,x* *y);y);語言程序設計28第第4 4章章
21、 分支結構程序設計分支結構程序設計#include#include main( ) main( ) int a,b,c,max; int a,b,c,max; printf(Enter a,b,c printf(Enter a,b,c:n);n); scanf(%d%d%d,&a,&b,&c); scanf(%d%d%d,&a,&b,&c); max=a; max=a; if(bmax) if(bmax) max=b; max=b; if(cmax) if(cmax) max=c; max=c; printf(max=%dn,max); prin
22、tf(max=%dn,max); 運行結果:運行結果:Enter a,b,cEnter a,b,c:3 5 63 5 6 max=6max=6【例例4.44.4】輸入三個整數輸入三個整數a a、b b、c c,要求輸出最大的數。,要求輸出最大的數。語言程序設計29第第4 4章章 分支結構程序設計分支結構程序設計4.3.2 4.3.2 嵌套的嵌套的ifif語句語句 1.1.在在ifif語句中嵌套不含語句中嵌套不含elseelse子句的子句的ifif語句語句語句格式如下:語句格式如下: if( if(表達式表達式1)1) if( if(表達式表達式2) 2) 語句語句1 1; / /* *ifif
23、子句子句* */ / else else 語句語句2 2;注意:上述語句格式中的一對花括號注意:上述語句格式中的一對花括號不能省不能省略,如果省略了一對花括號略,如果省略了一對花括號,則則elseelse就會與就會與第二個第二個ifif配對,形成了如下形式:配對,形成了如下形式:語言程序設計30第第4 4章章 分支結構程序設計分支結構程序設計if(if(表達式表達式1)1) if( if(表達式表達式2) 2) 語句語句1 1; else else 語句語句2 2;等價于:等價于:if(if(表達式表達式1)1) if( if(表達式表達式2) 2) 語句語句1 1; else else 語句
24、語句2 2; 例如:例如: if(a)if(a) if(b) b+; if(b) b+; else a+; else a+; 假設假設a a和和b b的初值都為的初值都為0 0,上述程序段執(zhí)行后:,上述程序段執(zhí)行后:a=1a=1,b=0b=0。如果去掉上述程序段中的一對花括號。如果去掉上述程序段中的一對花括號,則上述程序段執(zhí)行后:則上述程序段執(zhí)行后:a=0a=0,b=0b=0。 語言程序設計31第第4 4章章 分支結構程序設計分支結構程序設計2.2.在在ifif語句中嵌套含有語句中嵌套含有elseelse子句的子句的ifif語句語句 語句格式如下:語句格式如下: if(if(表達式表達式1)1
25、) if( if(表達式表達式2) 2) 語句語句1 1; else else 語句語句2 2; else else 語句語句3 3; 例如:例如: int a=2,b=4,c=0;int a=2,b=4,c=0; if(a) if(a) if(!b) c=a1; if(!b) c=a1; else c=b1; else c+=1; else c+=1;程序運行后,程序運行后,c c的值等于的值等于2 2。 語言程序設計32第第4 4章章 分支結構程序設計分支結構程序設計3.3.在在elseelse子句中嵌套不含子句中嵌套不含elseelse子句的子句的ifif語句語句語句格式如下:語句格式如
26、下:if(if(表達式表達式1) 1) 語句語句1 1; else else if( if(表達式表達式2) 2) 語句語句2 2;或寫成:或寫成:if(if(表達式表達式1) 1) 語句語句1 1;else if(else if(表達式表達式2) 2) 語句語句2 2;語言程序設計33第第4 4章章 分支結構程序設計分支結構程序設計例如:例如: int a=6,b=9,c;int a=6,b=9,c; if(a=b) if(a=b) c=ab; c=ab; else if(ab) c=a|b; else if(ab) c=a|b;程序運行后,程序運行后,c c的值等于的值等于1515。4.4
27、.在在elseelse子句中嵌套含有子句中嵌套含有elseelse子句的子句的ifif語句語句 語句格式如下:語句格式如下: if( if(表達式表達式1) 1) 語句語句1 1; else else if( if(表達式表達式2) 2) 語句語句2 2; else else 語句語句3 3; 語言程序設計34第第4 4章章 分支結構程序設計分支結構程序設計【例例4.54.5】根據輸入的學生成績輸出相應的等級,大根據輸入的學生成績輸出相應的等級,大于或等于于或等于9090分以上的等級為分以上的等級為A A,大于或等于,大于或等于8080分并且分并且小于小于9090分的等級為分的等級為B B,以
28、此類推,每,以此類推,每1010分為一個等級,分為一個等級,6060分以下的等級為分以下的等級為E E。 #include#includevoid main()void main() int score; int score; printf(Input score:); printf(Input score:); scanf(%d,&score); scanf(%d,&score); if(score=90) if(score=90) printf(The %d is belong to %cn,score,A); printf(The %d is belong to %cn,
29、score,A); else if(score=80) else if(score=80) printf(The %d is belong to %cn,score,B); printf(The %d is belong to %cn,score,B); else if(score=70) else if(score=70) printf(The %d is belong to %cn,score,C); printf(The %d is belong to %cn,score,C); else if(score=60) else if(score=60) printf(The %d is b
30、elong to %cn,score,D); printf(The %d is belong to %cn,score,D); else printf(The %d is belong to %cn,score,E); else printf(The %d is belong to %cn,score,E); 程序運行結果:程序運行結果:Input score:85Input score:85 The 85 is belong to BThe 85 is belong to BInput score:56Input score:56 The 56 is belong to E The 56 i
31、s belong to E 語言程序設計35第第4 4章章 分支結構程序設計分支結構程序設計上述程序的執(zhí)行過程可用下面流程圖來表示:上述程序的執(zhí)行過程可用下面流程圖來表示:語言程序設計36第第4 4章章 分支結構程序設計分支結構程序設計4.3.3 4.3.3 條件表達式構成的分支結構條件表達式構成的分支結構 條件運算符是由條件運算符是由“? ?”和和“:”組成的,它是一個組成的,它是一個三目運算符,即要求有三個運算對象。三目運算符,即要求有三個運算對象。 由條件運算符構成的條件表達式的一般形式為:由條件運算符構成的條件表達式的一般形式為: 表達式表達式1 1?表達式?表達式2 2:表達式:表達
32、式3 3 執(zhí)行過程為:如果表達式執(zhí)行過程為:如果表達式1 1的值為真,則以表達的值為真,則以表達式式2 2 的值作為條件表達式的值,否則以表達式的值作為條件表達式的值,否則以表達式3 3的的值作為整個條件表達式的值。值作為整個條件表達式的值。 語言程序設計37第第4 4章章 分支結構程序設計分支結構程序設計條件表達式通常用于賦值語句之中。條件表達式通常用于賦值語句之中。例如條件語句:例如條件語句: if(ab) max=a;if(ab) max=a; else max=b; else max=b;可用條件表達式寫為可用條件表達式寫為 max=(ab)?a:b;max=(ab)?a:b;使用條件
33、表達式時,還應注意以下幾點:使用條件表達式時,還應注意以下幾點:條件運算符的運算優(yōu)先級低于關系運算符和條件運算符的運算優(yōu)先級低于關系運算符和算術運算符,但高于賦值符。算術運算符,但高于賦值符。 語言程序設計38第第4 4章章 分支結構程序設計分支結構程序設計條件運算符條件運算符? ?和:是一對運算符,不能分開單和:是一對運算符,不能分開單獨使用。獨使用。條件運算符的結合方向是自右至左。條件運算符的結合方向是自右至左。 例如:例如:ab?a:cd?c:dab?a:cd?c:d應理解為應理解為ab?a:(cd?c:d)ab?a:(cd?c:d)例如例如: int a=6,b=3,c=9,d=7,t
34、1,t2;int a=6,b=3,c=9,d=7,t1,t2; t1= ab?a:(cd?c:d); t1= ab?a:(cd?c:d); t2=ab?(ac?d:c):d; t2=ab?(ac?d:c):d; printf(t1=%dnt2=%dn,t1,t2); printf(t1=%dnt2=%dn,t1,t2);程序運行結果:程序運行結果:t1=6t1=6t2=9t2=9語言程序設計39第第4 4章章 分支結構程序設計分支結構程序設計4.4 switch4.4 switch語句以及用語句以及用switchswitch語句和語句和breakbreak語語句構成的分支結構句構成的分支結構4
35、.4.1 switch4.4.1 switch語句及用語句及用switchswitch語句構成的分支結構語句構成的分支結構1.switch1.switch語句的格式語句的格式 switch(switch(表達式表達式) ) case case 常量表達式常量表達式1 1:語句組:語句組1 1或空;或空; case case 常量表達式常量表達式2 2:語句組:語句組2 2或空;或空;case case 常量表達式常量表達式n n:語句組:語句組n n或空;或空;defaultdefault:缺省語句組;:缺省語句組; 語言程序設計40第第4 4章章 分支結構程序設計分支結構程序設計在使用在使用
36、switchswitch語句時,應注意以下幾點:語句時,應注意以下幾點: switchswitch后面的表達式可以是整型常量或變量、字后面的表達式可以是整型常量或變量、字符常量或變量、關系表達式、邏輯表達式、整型算符常量或變量、關系表達式、邏輯表達式、整型算術表達式等。術表達式等。casecase后面的常量表達式可以為任何整型數據或字后面的常量表達式可以為任何整型數據或字符型數據但不能是變量。符型數據但不能是變量。每一個每一個casecase的常量表達式的值必須互不相同,否的常量表達式的值必須互不相同,否則就會出現互相矛盾的現象。則就會出現互相矛盾的現象。 每個每個casecase或或defa
37、ultdefault后的語句可以是語句組,但后的語句可以是語句組,但不需要使用不需要使用“ ”和和“ ”括起來。括起來。語言程序設計41第第4 4章章 分支結構程序設計分支結構程序設計多個多個casecase可以共用同一組執(zhí)行語句??梢怨灿猛唤M執(zhí)行語句。關鍵字關鍵字casecase和后面的常量表達式之間一定要有和后面的常量表達式之間一定要有空格??崭?。 defaultdefault語句可以缺省也可以放在花括號內的語句可以缺省也可以放在花括號內的任意位置(不一定放在最后),如果缺省,而任意位置(不一定放在最后),如果缺省,而且所有且所有casecase后面的常量表達式的值與后面的常量表達式的值
38、與switchswitch后后面的表達式的值不等,則什么也不執(zhí)行,直接面的表達式的值不等,則什么也不執(zhí)行,直接退出退出switchswitch語句。語句。switchswitch結構也可以嵌套,即在一個結構也可以嵌套,即在一個switchswitch語語句中嵌套另一個句中嵌套另一個switchswitch語句。語句。語言程序設計42第第4 4章章 分支結構程序設計分支結構程序設計(1)(1)首先計算首先計算switchswitch后面的一對小括號中的表達后面的一對小括號中的表達式的值。式的值。(2)(2)在在switchswitch語句體內尋找與其相匹配的常量表語句體內尋找與其相匹配的常量表達
39、式(值),如果找到了,則開始執(zhí)行其后面的達式(值),如果找到了,則開始執(zhí)行其后面的語句組,包括執(zhí)行其后的所有語句組,包括執(zhí)行其后的所有casecase和和defaultdefault中中的語句組,直到的語句組,直到switchswitch語句結束;如果沒有找到,語句結束;如果沒有找到,需要分兩種情況,一是有需要分兩種情況,一是有defaultdefault,則開始執(zhí)行,則開始執(zhí)行defaultdefault后面的語句,包括執(zhí)行后面的語句,包括執(zhí)行defaultdefault后面所有后面所有casecase中的語句組;二是沒有中的語句組;二是沒有defaultdefault,則跳過,則跳過swi
40、tchswitch語句體,去執(zhí)行語句體,去執(zhí)行switchswitch語句之后的其他語語句之后的其他語句。句。2.switch2.switch語句執(zhí)行過程語句執(zhí)行過程語言程序設計43第第4 4章章 分支結構程序設計分支結構程序設計【例例4.74.7】用用switchswitch語句改寫例語句改寫例4.54.5#include#includevoid main()void main() int score; int score; printf(Input score:); printf(Input score:); scanf(%d,&score); scanf(%d,&scor
41、e); switch(score/10) switch(score/10) case 10: case 10: case 9: printf(The %d is belong to %cn, case 9: printf(The %d is belong to %cn, score,A); score,A); case 8: printf(The %d is belong to %cn, case 8: printf(The %d is belong to %cn, score,B); score,B); case 7: printf(The %d is belong to %cn, case
42、 7: printf(The %d is belong to %cn, score,C); score,C); case 6: printf(The %d is belong to %cn, case 6: printf(The %d is belong to %cn, score,D); score,D); default: printf(The %d is belong to %cn, default: printf(The %d is belong to %cn, score,E); score,E); 程序執(zhí)行結果為:程序執(zhí)行結果為:Input score:85Input score:
43、85 The 85 is belong to BThe 85 is belong to BThe 85 is belong to CThe 85 is belong to CThe 85 is belong to DThe 85 is belong to DThe 85 is belong to EThe 85 is belong to E語言程序設計44第第4 4章章 分支結構程序設計分支結構程序設計4.4.2 4.4.2 在在switchswitch語句體中使用語句體中使用breakbreak語句語句breakbreak語句的作用是:跳出本層的語句的作用是:跳出本層的switchswitc
44、h語句。語句。【例例4.84.8】用用switchswitch語句和語句和breakbreak語句聯合改寫例語句聯合改寫例4.74.7#include#includevoid main()void main() int score; int score; printf(Input score:); printf(Input score:); scanf(%d,&score); scanf(%d,&score); switch(score/10) switch(score/10) case 10: case 10: case 9: printf(The %d is belong
45、to %cn, case 9: printf(The %d is belong to %cn, score,A);break; score,A);break; case 8: printf(The %d is belong to %cn, case 8: printf(The %d is belong to %cn, score,B); break; score,B); break; case 7: printf(The %d is belong to %cn, case 7: printf(The %d is belong to %cn, score,C); break; score,C);
46、 break; case 6: printf(The %d is belong to %cn, case 6: printf(The %d is belong to %cn, score,D); break; score,D); break; default: printf(The %d is belong to %cn, default: printf(The %d is belong to %cn, score,E); score,E); 程序運行結果:程序運行結果:Input score:85Input score:85 The 85 is belong to BThe 85 is be
47、long to BInput score:56Input score:56 The 56 is belong to EThe 56 is belong to E語言程序設計45第第4 4章章 分支結構程序設計分支結構程序設計4.54.5程序舉例程序舉例【例例4.94.9】從鍵盤輸入兩個整數,要求由小到大輸出從鍵盤輸入兩個整數,要求由小到大輸出#include#includevoid main()void main() int a,b,t, int a,b,t,* *pa=&a,pa=&a,* *pb=&b;pb=&b;printf(Input a,b:);pri
48、ntf(Input a,b:);scanf(%d,%d,&a,&b);scanf(%d,%d,&a,&b);if(ab)if(ab)t=t=* *pa;pa;* *pa=pa=* *pb;pb;* *pb=t;pb=t;printfprintf(“na=%d,b=%dnna=%d,b=%dn”, ,* *pa,pa,* *pbpb);); 程序運行結果:程序運行結果:Input a,b:5,3Input a,b:5,3 a=3,b=5 a=3,b=5 語言程序設計46第第4 4章章 分支結構程序設計分支結構程序設計【例例4.104.10】從鍵盤輸入一個整數,判斷
49、其是奇數還從鍵盤輸入一個整數,判斷其是奇數還是偶數是偶數#include#includevoid main()void main() int x,y; int x,y; printf(Input x:); printf(Input x:); scanf(%d,&x); scanf(%d,&x); if(x%2=0) if(x%2=0) printf(%d is printf(%d is 偶數偶數n,x);n,x); else printf(%d is else printf(%d is 奇數奇數n,x);n,x); 程序運行結果:程序運行結果:Input x:5Input x:5 5 is 5 is 奇數奇數語言程序設計47第第4 4章章 分支結構程序設計分支結構程序設計【例例4.114.11】分析下面的程序分析下面的程序#includevoid main() int a=2,b=-1,c=2; if(a+b) if(b0) c=0; else c+=1; printf(a=%d
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 第13課 西歐經濟和社會的發(fā)展(新教學設計)2023-2024學年九年級上冊歷史(部編版)
- 100米跑終點沖刺跑 教學設計-2023-2024學年高中體育與健康人教版必修第一冊
- 第1課 勝日尋芳賞春光 輕吟慢嚼悟春語-《春》教學設計七年級語文上冊同步高效課堂(統(tǒng)編版2024)
- 第十三章第2節(jié) 內能 教學設計 -2024-2025學年人教版物理九年級上學期
- 2025年湖北工業(yè)職業(yè)技術學院單招職業(yè)適應性測試題庫及答案1套
- Unit 10 I've had this bike for three years!Section A 1a-1c教學設計 2024-2025學年人教版八年級英語下冊
- 2025年湖南大眾傳媒職業(yè)技術學院單招職業(yè)傾向性測試題庫完整
- 2025年微波介質陶瓷項目合作計劃書
- 安全員練習題與答案
- 第三單元課外古詩詞誦讀《定風波》教學設計 2024-2025學年統(tǒng)編版語文九年級下冊
- 學生創(chuàng)新能力培養(yǎng)方案計劃
- 2024-2025學年第二學期教學教研工作安排表 第二版
- 開展課外讀物負面清單管理的具體實施舉措方案
- 《智能網聯汽車智能傳感器測試與裝調》電子教案
- 人體的免疫系統(tǒng)課件
- 六年級下學期開學第一課
- 中國建筑史PPT(東南大學)完整全套教學課件
- 體育原理課件
- 合理化建議獎勵制度(共8頁)
- 三界天人表格-
- 國內外會計名家簡介
評論
0/150
提交評論