![C語言復習1第4章_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/18/0baa38be-e2aa-43e9-b129-1faf2364fc65/0baa38be-e2aa-43e9-b129-1faf2364fc651.gif)
![C語言復習1第4章_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/18/0baa38be-e2aa-43e9-b129-1faf2364fc65/0baa38be-e2aa-43e9-b129-1faf2364fc652.gif)
![C語言復習1第4章_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/18/0baa38be-e2aa-43e9-b129-1faf2364fc65/0baa38be-e2aa-43e9-b129-1faf2364fc653.gif)
![C語言復習1第4章_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/18/0baa38be-e2aa-43e9-b129-1faf2364fc65/0baa38be-e2aa-43e9-b129-1faf2364fc654.gif)
![C語言復習1第4章_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/18/0baa38be-e2aa-43e9-b129-1faf2364fc65/0baa38be-e2aa-43e9-b129-1faf2364fc655.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、河北大學河北大學.Hebei UniversityHebei University河北大學河北大學第四章第四章 選擇結(jié)構(gòu)程序設(shè)計選擇結(jié)構(gòu)程序設(shè)計選擇結(jié)構(gòu)和條件判斷選擇結(jié)構(gòu)和條件判斷用用ifif語句實現(xiàn)選擇結(jié)構(gòu)語句實現(xiàn)選擇結(jié)構(gòu)關(guān)系運算符和關(guān)系表達式關(guān)系運算符和關(guān)系表達式邏輯運算符和邏輯表達式邏輯運算符和邏輯表達式條件運算符和條件表達式條件運算符和條件表達式選擇結(jié)構(gòu)的嵌套選擇結(jié)構(gòu)的嵌套用用switchswitch語句實現(xiàn)多分支選擇結(jié)構(gòu)語句實現(xiàn)多分支選擇結(jié)構(gòu)選擇結(jié)構(gòu)程序舉例選擇結(jié)構(gòu)程序舉例河北大學河北大學.Hebei UniversityHebei University河北大學河北大學結(jié)構(gòu)結(jié)構(gòu)化程序
2、設(shè)計的特點化程序設(shè)計的特點 1.C 1.C語言是典型的結(jié)構(gòu)化程序設(shè)計語言。結(jié)語言是典型的結(jié)構(gòu)化程序設(shè)計語言。結(jié)構(gòu)化程序設(shè)計使程序結(jié)構(gòu)清晰、易讀性強,構(gòu)化程序設(shè)計使程序結(jié)構(gòu)清晰、易讀性強,適用于初學者。適用于初學者。 2.2.有三種基本結(jié)構(gòu):有三種基本結(jié)構(gòu): 順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu) 3.3.已經(jīng)證明,由以上基本結(jié)構(gòu)組成的程序能已經(jīng)證明,由以上基本結(jié)構(gòu)組成的程序能處理任何復雜的問題。處理任何復雜的問題。 河北大學河北大學.Hebei UniversityHebei University河北大學河北大學順序結(jié)構(gòu)流程圖:順序結(jié)構(gòu)流程圖: 先執(zhí)行先執(zhí)行A A操作,再執(zhí)行
3、操作,再執(zhí)行B B操作,兩者時間關(guān)系操作,兩者時間關(guān)系是順序執(zhí)行的關(guān)系。是順序執(zhí)行的關(guān)系。A A和和B B可以是語句、函數(shù)和程可以是語句、函數(shù)和程序段,序段,是程序默認的執(zhí)行順序是程序默認的執(zhí)行順序。例程:例程: mainmain( ) int aint a,b b,c c; a=8a=8;b=9b=9; c=a+bc=a+b; printfprintf(“%d”,c%d”,c);); AB河北大學河北大學.Hebei UniversityHebei University河北大學河北大學二分支選擇結(jié)構(gòu)流程圖:二分支選擇結(jié)構(gòu)流程圖: 其中其中p p代表一個條件,當條件成立則執(zhí)行代表一個條件,當條
4、件成立則執(zhí)行a a,否則,否則執(zhí)行執(zhí)行b b;在;在abab之中選擇一個且只能執(zhí)行之中選擇一個且只能執(zhí)行abab之一。之一。例程:例程: mainmain( ) int aint a,b b,c c; a=8a=8;b=9b=9; if (aif (a b) c=ab) c=a;else c=belse c=b; printfprintf(“%d”,c%d”,c);); pab河北大學河北大學.Hebei UniversityHebei University河北大學河北大學A1A2AiAnk=k2k=k1k=knk=ki.多分支選擇結(jié)構(gòu)流程圖:多分支選擇結(jié)構(gòu)流程圖: switch(a)swit
5、ch(a)case 0:c=0;break;case 0:c=0;break; case 1:c=1;break; case 1:c=1;break; case 10:c=10;break; case 10:c=10;break; 河北大學河北大學.Hebei UniversityHebei University河北大學河北大學循環(huán)結(jié)構(gòu)流程圖:循環(huán)結(jié)構(gòu)流程圖: 當型循環(huán)當型循環(huán) 直到型循環(huán)直到型循環(huán) 其中其中P P代表一個條件,當條件成立則執(zhí)行循環(huán)的代表一個條件,當條件成立則執(zhí)行循環(huán)的內(nèi)容內(nèi)容A A,否則退出循環(huán)。,否則退出循環(huán)。PAPAwhile (i 5)s=s+i ; i+ +;dos=
6、s+i ; i+ +;while (iy) printf(“%d”,x); 這種這種if語句的執(zhí)行過程見圖語句的執(zhí)行過程見圖:xyprint(“%d”,x);可以是一個語句也可以是一個語句也可以是復合語句可以是復合語句一般為邏輯一般為邏輯表達式或關(guān)表達式或關(guān)系表達式系表達式. .理論上可以理論上可以是任意數(shù)值是任意數(shù)值類型類型河北大學河北大學.Hebei UniversityHebei University河北大學河北大學 if (表達式表達式) 語句語句1 else 語句語句2標準結(jié)構(gòu)標準結(jié)構(gòu)例如例如:if(x y) printf(“%d”,x); else printf(“%d”,y);x
7、yprintf(“%d”,x);printf(“%d”,y)真假注意注意河北大學河北大學.Hebei UniversityHebei University河北大學河北大學如:if(a=b&x=y) printf(“a=b,x=y”); if(3) printf(“OK”); if(a) printf(“%d”,a);l說明:uif后面的表達式類型可以任意,按照0或非0判斷u語句可以是復合語句或空語句u條件的一般設(shè)置需要關(guān)系或邏輯表達式例 考慮下面程序的輸出結(jié)果: #include main() int x,y; scanf(“%d,%d”,&x,&y); if(xy)
8、x=y; y=x; else x+; y+; printf(“%d,%dn”,x,y);Compile Error!河北大學河北大學.Hebei UniversityHebei University河北大學河北大學思考題:思考題:用if語句編寫一個整數(shù)排序程序。數(shù)值由鍵盤任意輸入,屏幕輸出排序結(jié)果。 任意輸入三個整數(shù),按照大小排序;任意輸入三個整數(shù),按照大小排序; 任意輸入四個整數(shù),按照小大排序;任意輸入四個整數(shù),按照小大排序;河北大學河北大學.Hebei UniversityHebei University河北大學河北大學main( )int a,b,c; scanf(“%d%d%d”,&a
9、mp;a,&b,&c);if(ab)if(bc)printf(“%d%d%d”,a,b,c); else if(ac)printf(“%d%d%d”,a,c,b); else printf(“%d%d%d”,c,a,b); else if(ac)printf(“%d%d%d”,b,a,c); else if(bc)printf(“%d%d%d”,b,c,a); else printf(“%d%d%d”,c,b,a); 河北大學河北大學.Hebei UniversityHebei University河北大學河北大學main( )int a,b,c,d; scanf(“%d%d%
10、d%d”,&a,&b,&c,&d);if(ab&bc&cd) printf(“%d%d%d”,a,b,c,d);if(ab&bd&dc) printf(“%d%d%d”,a,b,d,c); if(ac&cb&bd) printf(“%d%d%d”,a,c,b,d);if(ac&cd&db) printf(“%d%d%d”,a,c,d,b);if(ad&db&bc) printf(“%d%d%d”,a,d,b,c);if(ad&dc&cb) printf(“%d%d%d
11、”,a,d,c,b);if(ba&ac&cd) printf(“%d%d%d”,b,a,c,d);if(ba&ad&dc) printf(“%d%d%d”,b,a,d,c); if(bc&ca&ad) printf(“%d%d%d”,b,c,a,d);if(bc&cd&da) printf(“%d%d%d”,b,c,d,a);if(bd&da&ac) printf(“%d%d%d”,b,d,a,c);if(bd&dc&ca) printf(“%d%d%d”,b,d,c,a);if(cb&ba
12、&ad) printf(“%d%d%d”,c,b,a,d);if(cb&bd&da) printf(“%d%d%d”,c,b,d,a); if(ca&ab&bd) printf(“%d%d%d”,c,a,b,d);if(ca&ad&db) printf(“%d%d%d”,c,a,d,b);if(cd&db&ba) printf(“%d%d%d”,c,d,b,a);if(cd&da&ab) printf(“%d%d%d”,c,d,a,b);if(db&bc&ca) printf(“%d%d%d
13、”,d,b,c,a);if(db&ba&ac) printf(“%d%d%d”,d,b,a,c); if(dc&cb&ba) printf(“%d%d%d”,d,c,b,a);if(dc&ca&ab) printf(“%d%d%d”,d,c,a,b);if(da&ab&bc) printf(“%d%d%d”,d,a,b,c);if(da&ac&cb) printf(“%d%d%d”,d,a,c,b);河北大學河北大學.Hebei UniversityHebei University河北大學河北大學關(guān)系運算符和表達式
14、關(guān)系運算符和表達式關(guān)系運算符關(guān)系運算符種類種類: = != = !=結(jié)合方向:結(jié)合方向:左結(jié)合性左結(jié)合性優(yōu)先級別:優(yōu)先級別:=!=優(yōu)先級6(高)優(yōu)先級7(低)例 ca+b /*c(a+b) * / ab!=c /* (ab)!=c*/ a=bc /*a=(bc /*a=(bc) */關(guān)系表達式的值:是邏輯值關(guān)系表達式的值:是邏輯值“真真”或或“假假”,用,用1 1和和0 0表示表示例 int a=3,b=2,c=1,d,f; ab (ab)= =c b+cb/*表達式值1*/*表達式值1*/*表達式值0*/*d=1*/河北大學河北大學.Hebei UniversityHebei Univers
15、ity河北大學河北大學關(guān)系運算符和表達式關(guān)系運算符和表達式例 注意區(qū)分“=”與“= =” int a=0,b=1; if(a=b) printf(“a equal to b”); else printf(“a not equal to b”);例 應(yīng)避免對實數(shù)作相等或不等的判斷如 1.0/3.0*3.0= =1.0 結(jié)果為可改寫為:fabs(1.0/3.0*3.0-1.0)bc的值為 0例 8752在C中是允許的, 值為0例 int i=1, j=7,a; a=i+(j%4!=0); 則a=2例 a0 結(jié)果為 A100 結(jié)果為10注意:多個關(guān)系運算聯(lián)立時,結(jié)果與平時習慣不同。注意:多個關(guān)系運算
16、聯(lián)立時,結(jié)果與平時習慣不同。多個關(guān)系運算需要用邏輯運算連接。多個關(guān)系運算需要用邏輯運算連接。河北大學河北大學.Hebei UniversityHebei University河北大學河北大學邏輯運算符和表達式邏輯運算符和表達式ab!a!ba&ba|b真假真假假假真真邏輯運算符邏輯運算符種類:種類: ! & |! & |邏輯運算真值表邏輯運算真值表真假假假假假真真假假真真真假真真河北大學河北大學.Hebei UniversityHebei University河北大學河北大學邏輯運算符和表達式邏輯運算符和表達式C C語言中語言中, ,運算量運算量: : 0 0表示表示“假
17、假”, 非非0 0表示表示“真真”,”, 運算結(jié)果運算結(jié)果: : 0 0表示表示“假假”, 1 1表示表示“真真”,”,河北大學河北大學.Hebei UniversityHebei University河北大學河北大學邏輯運算符和表達式邏輯運算符和表達式! (2)& (11)| (12)高低l優(yōu)先級:優(yōu)先級:l結(jié)合方向:結(jié)合方向:! :右結(jié)合性& :左結(jié)合性| :左結(jié)合性例 ab & bc ab&xy a= =b|x= =y !a|ab (ab) & (bc) (ab)&(xy)(a= =b)|(x= =y)(!a)|(ab)河北大學河北大學.H
18、ebei UniversityHebei University河北大學河北大學邏輯運算符和表達式邏輯運算符和表達式! (2)& (11)| (12)高低l優(yōu)先級:優(yōu)先級:l結(jié)合方向:結(jié)合方向:! :右結(jié)合性& :左結(jié)合性| :左結(jié)合性例例 a=4;b=3;c=2; !a ab&bc a|b !a|b 4&0|2 53&2|83)&2|(8b)&(n=cd)結(jié)果m=0,n=1河北大學河北大學.Hebei UniversityHebei University河北大學河北大學完成下列敘述的完成下列敘述的C語言描述語言描述x取值在取值在110之間
19、的開區(qū)間之間的開區(qū)間x取值取值在小于在小于0,大于大于1的閉區(qū)間的閉區(qū)間c為大寫英文字符的條件為大寫英文字符的條件 C語言描述為:語言描述為: x1&x10 x=1c=A&c=“Z 關(guān)系表達式和邏輯表達式常用來做條件描述式關(guān)系表達式和邏輯表達式常用來做條件描述式 ,應(yīng)用于選,應(yīng)用于選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)中。擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)中。 河北大學河北大學.Hebei UniversityHebei University河北大學河北大學/*11-3*/#include main() char c; printf(Enter a character:); c=getchar(); if(c=0&
20、amp;c=A&c=a&cb) printf(“%d”,a); else printf(“%d”,b);printf(“%d”,ab?a:b);例 求 a+|b| printf(“a+|b|=%dn”,b0?a+b:a-b);expr1取expr2值取expr3值非0=0例 (a=b)?Y:N (x%2=1)?1:0 (x=0)?x:-x (c=a & c0?1:(x0?1:(xb?a:cd?c:d ab?a:cd?c:d ab?a:(cd?c:d) ab?a:(cd?c:d)expr1expr1、expr2expr2、expr3expr3類型可不同,表達式值取較高的類
21、型類型可不同,表達式值取較高的類型例 x?a:b x=0,表達式值為b; x0,表達式值為a xy?1:1.5 xy ,值為1.0; x1000) index=0.4; else if (salary800) index=0.3; else if (salary600) index=0.2; else if (salary400) index=0.1; else index=0; 河北大學河北大學.Hebei UniversityHebei University河北大學河北大學if else 配對原則:配對原則:缺省缺省 時,時,else總是和它上面總是和它上面離它最近的未配對的離它最近的未配
22、對的if配對配對if()if()if()else.else.else.河北大學河北大學.Hebei UniversityHebei University河北大學河北大學switch語句v一般形式:switch( 表達式表達式)case E1: 語句組語句組 1; break;case E2: 語句組語句組 2; break; .case En: 語句組語句組 n; break;default: 語句組語句組 ; break; v執(zhí)行過程:switch表達式表達式語句組語句組1語句組語句組2語句組語句組n語句組語句組.E 1E 2Endefaultcase 多分支程序設(shè)計多分支程序設(shè)計河北大學河
23、北大學.Hebei UniversityHebei University河北大學河北大學v說明:說明:lE1,E2,EnE1,E2,En是是常量表達式常量表達式, ,且值必須互不相同且值必須互不相同l語句標號作用,必須用語句標號作用,必須用breakbreak跳出跳出lcasecase后可包含多個可執(zhí)行語句,且不必加后可包含多個可執(zhí)行語句,且不必加 lswitchswitch可嵌套可嵌套l多個多個casecase可共用一組執(zhí)行語句可共用一組執(zhí)行語句如: case A: case B: case C: printf(“score60n”); break; .河北大學河北大學.Hebei Univ
24、ersityHebei University河北大學河北大學例 輸入五分制成績,輸出結(jié)果main() int score;printf(Input score!n);scanf(“%d”,&score); switch(score) case 5: printf(“Very good!”); case 4: printf(“Good!”); case 3: printf(“Pass!”); case 2: printf(“Fail!”); default : printf(“data error!”); 運行結(jié)果:score為5時,輸出: Very good! Good! Pass! Fail! data error!河北大學河北大學.Hebei UniversityHebei University河北大學河北大學main() int score;printf(Input score!n);scanf(“%d”,&score); switch(score) case 5: printf(“Very good!”);break; case 4: printf(“Good!”); break; case 3: printf(“Pass!”); break; case 2: printf(“Fail!”); break; default : printf(“data
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度爆炸事故和解賠償及后期修復服務(wù)合同
- 數(shù)據(jù)科學在商業(yè)決策中的應(yīng)用作業(yè)指導書
- 農(nóng)業(yè)生產(chǎn)循環(huán)經(jīng)濟方案
- 一機簽首批電焊條出口合同
- 五金機電購銷合同
- 農(nóng)民培訓教材農(nóng)業(yè)科技知識普及手冊
- 商業(yè)策劃實戰(zhàn)手冊
- 調(diào)研報告式公司規(guī)章制度匯編
- 離婚房子給小孩離婚協(xié)議書
- 股權(quán)收購協(xié)議書樣式年
- GB/T 45177-2024人工光型植物工廠光環(huán)境技術(shù)規(guī)范
- 2025年個人學習領(lǐng)導講話心得體會和工作措施例文(6篇)
- 2025大連機場招聘109人易考易錯模擬試題(共500題)試卷后附參考答案
- 2020-2025年中國中小企業(yè)行業(yè)市場調(diào)研分析及投資戰(zhàn)略咨詢報告
- 物流中心原材料入庫流程
- 新HSK一至六級詞匯表
- 過松源晨炊漆公店(其五)課件
- 安全事故案例圖片(76張)課件
- 預應(yīng)力錨索施工方案
- 豇豆生產(chǎn)技術(shù)規(guī)程
- MES運行管理辦法
評論
0/150
提交評論