




免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第5章 選擇結(jié)構(gòu)程序設(shè)計(jì)選擇結(jié)構(gòu)的作用是,根據(jù)所指定的條件是否滿足,決定從給定的兩組操作選擇其一。在C語言中選擇結(jié)構(gòu)是用if語句實(shí)現(xiàn)的。5.1 關(guān)系運(yùn)算符和關(guān)系表達(dá)式1.關(guān)系運(yùn)算符實(shí)際上是比較運(yùn)算符。2.C的關(guān)系運(yùn)算符有: (小于) (大于) = (大于或等于) = (等于) != (不等于) 優(yōu)先級(jí)相同 (低)3.關(guān)于優(yōu)先次序: 前4種關(guān)系運(yùn)算符(,)的優(yōu)先級(jí)別相同,后兩種也相同。前4種高于后兩種。例如,“”優(yōu)先于“”。而“”與“a+b 等效于 c(a+b) ab=c 等效于(ab)=c a=bc 等效于a=(bc 等效于a=(bc)4. 關(guān)系表達(dá)式(1)用關(guān)系運(yùn)算符將兩個(gè)表達(dá)式(可以是算術(shù)表達(dá)式或關(guān)系表達(dá)式、邏輯表達(dá)式、賦值表達(dá)式、字符表達(dá)式)連接起來的式子,稱為關(guān)系表達(dá)式。例如:ab, a+bb+c,(a= =3)(b= =5), ab)(b=0”的值為“真”。(3)在C中都用數(shù)值1代表“真”,用0代表“假”。如果有以下賦值表達(dá)式:假定 a=3,b=2,c=1d=ab 則d得到的值為1f=abc f得到的值為0(4)關(guān)系運(yùn)算符的運(yùn)算方向?yàn)椋河勺笙蛴?.2 邏輯運(yùn)算符和邏輯表達(dá)式1.用邏輯運(yùn)算符將關(guān)系表達(dá)式或邏輯量連接起來的式子就是邏輯表達(dá)式。2.C提供3種邏輯運(yùn)算符: & 邏輯與 | 邏輯或 ! 邏輯非邏輯運(yùn)算舉例如下: a & b 若a,b為真,則a & b為真。 a|b 若a,b之一為真,則a|b為真。 !a 若a為真,則!a為假。2.優(yōu)先次序:(1) !(非) &(與) |(或),即“!”為三者中最高的。(2) 邏輯運(yùn)算符中的“&”和“|”低于關(guān)系運(yùn)算符,“!”高于算術(shù)運(yùn)算符。例如: (ab) & (xy) 可寫成 ab & xy (a=b) | (x=y) 可寫成 a=b | x=y (!a) | (ab) 可寫成 !a | ab3. 邏輯表達(dá)式 將兩個(gè)關(guān)系表達(dá)式用邏輯運(yùn)算符連接起來就成為一個(gè)邏輯表達(dá)式,邏輯表達(dá)式的值是一個(gè)邏輯量“真”或“假”。采取的標(biāo)準(zhǔn)是: 如果其值是0就認(rèn)為是“假”,如果其值是非0就認(rèn)為是“真”。例如:(1) 若a=4,則!a的值為0。因?yàn)閍的值為非0,被認(rèn)作“真”,對(duì)它進(jìn)行“非”運(yùn)算,得“假”,“假”以0代表。(2) 若a=4,b=5,則a & b的值為1。因?yàn)閍和b均為非0,被認(rèn)為是“真” 。(3) a,b值同前,a-b|a+b的值為1。因?yàn)閍-b和a+b的值都為非零值。(4) a,b值同前,!a | b的值為1。(5) 4 & 0 | 2 的值為1。4. 對(duì)&運(yùn)算符來說,只有前面的表達(dá)式為真,才繼續(xù)進(jìn)行右面的運(yùn)算,例如:a&b&c。對(duì)| |運(yùn)算符來說只有前面的表達(dá)式為假,才繼續(xù)進(jìn)行右面的運(yùn)算,例如:a|b|c。5. 3 if語句1.if語句是用來判斷所給定的條件是否滿足,根據(jù)判斷的結(jié)果(真或假)決定執(zhí)行給出的兩種操作之一。2.if語句的3種形式(1)if (條件表達(dá)式 ) 語句; if (xy) printf(“%d”,x); if(條件表達(dá)式) 復(fù)合語句; 例如:求x的絕對(duì)值#includevoid main( )int x, absx;printf(please input x=);scanf(%d,&x);absx=x;if(x0)absx=-x;printf(x=%dt|x|=%dn,x,absx);(2)if ( 條件 )語句1;else語句2;例如:求x的絕對(duì)值#includevoid main( )int x, absx;printf(please input x=);scanf(%d,&x);if(x=0)absx=x; else absx=-x;printf(x=%dt|x|=%dn,x,absx);(3)在if語句中又包含一個(gè)或多個(gè)if語句,形式為: if(表達(dá)式1) 語句1; elseif (表達(dá)式2) 語句2;else if(表達(dá)式3) 語句3;else 語句n+1;語句2,n可以是復(fù)合語句,每層的if與else配對(duì),或者用來確定層次關(guān)系。表達(dá)式1語句1表達(dá)式2語句2表達(dá)式3語句3表達(dá)式4語句5語句4即:注意:(1)3種形式的if語句中在if后面都有表達(dá)式,一般為邏輯表達(dá)式或關(guān)系表達(dá)式。 (2)第二、第三種形式的if語句中,在每個(gè)else前面有一個(gè)分號(hào),整個(gè)語句結(jié)束處有一個(gè)分號(hào)。 (3)else語句不能單獨(dú)使用,它必須是if語句的一部分,與if配對(duì)使用。3.If語句的嵌套 在if語句中又包含一個(gè)或多個(gè)if語句的嵌套。 If() If()語句1 else語句2Else If()語句3 Else 語句4 (1)if與else的配對(duì)原則:else總是與它上面最近的且尚未配對(duì)的if配對(duì)。 (2)如果if與else的數(shù)目不一樣,為實(shí)現(xiàn)程序設(shè)計(jì)者的企圖,可以加花括號(hào)來確定配對(duì)關(guān)系。3. 條件運(yùn)算符: ? : 條件運(yùn)算符是C語言中唯一一個(gè)三目運(yùn)算符。4. 條件表達(dá)式的一般形式: 表達(dá)式1?表達(dá)式2:表達(dá)式3例如: (ab) ? c=a:c=b c=(ab)?a:b 說明:(1)條件運(yùn)算符的執(zhí)行順序:先求解表達(dá)式1,若為非0(真)則求解表達(dá)式2,此時(shí)表達(dá)式2的值就作為整個(gè)條件表達(dá)式的值。若為表達(dá)式1的值為0(假)則求解表達(dá)式3,此時(shí)表達(dá)式3的值就作為整個(gè)條件表達(dá)式的值。(2) 條件運(yùn)算符優(yōu)先于賦值運(yùn)算符,低于關(guān)系運(yùn)算符和算術(shù)運(yùn)算符。(3)條件運(yùn)算符的結(jié)合方向?yàn)椤白杂抑磷蟆?。結(jié)合方向?yàn)椤白杂抑磷蟆盿b?a:cd?c:d 等價(jià)于 ab?a:(cd?c:d)例如:#includevoid main() char ch; scanf(%c,&ch); ch=(ch=A&ch=Z)?(ch+32):ch; printf(%cn,ch);5.4 switch語句1.switch語句直接處理多分支選擇。2.switch語句的一般形式:switch(表達(dá)式)case 常量表達(dá)式1: 語句1case 常量表達(dá)式2: 語句2default: 語句n+1說明:(1) switch后面括號(hào)內(nèi)的“表達(dá)式”,可以為任何類型。(2) 當(dāng)表達(dá)式的值與某一個(gè)case后面的常量表達(dá)式的值相等時(shí),就執(zhí)行case后面的語句,若所有的case中的常量表達(dá)式的值都沒有與表達(dá)式的值匹配的,就執(zhí)行default后面的語句。(3) 每一個(gè)case常量表達(dá)式的值必須互不相同;否則就會(huì)出現(xiàn)相互矛盾的現(xiàn)象。(4) 每個(gè)case和default的出現(xiàn)次序不影響執(zhí)行結(jié)果。(5) 執(zhí)行完一個(gè)case后面的語句后,流程控制轉(zhuǎn)移到下一個(gè)case繼續(xù)執(zhí)行。例如:根據(jù)學(xué)生成績(jī)等級(jí)打印出分?jǐn)?shù)段#includevoid main() char grade; scanf(“%c”,&grade); switch(grade) case A:printf(“85100n“); break;case B:printf(“7084n“); break;case C:printf(“6069n“); break;case D:printf(“60n“); break;default: printf(“errorn“); #includevoid main() char grade; scanf(“%c”,&grade); switch(grade) case A: case B:case C:printf(“PASSn“); break;case D:printf(“FAILn“); break; default: printf(“errorn“); 5.5 程序舉例運(yùn)輸公司對(duì)用戶計(jì)算運(yùn)費(fèi)。路程(s)越遠(yuǎn),每公里運(yùn)費(fèi)越低。標(biāo)準(zhǔn)如下: s250km 沒有折扣 250s500 2折扣 500s1000 5折扣 1000s2000 8折扣 2000s3000 10折扣 3000s 15折扣設(shè)每公里每噸貨物的基本運(yùn)費(fèi)為p(price的縮寫),貨物重為w(wright的縮寫),距離為,折扣為d(discount的縮寫),則總運(yùn)費(fèi)f(freight的縮寫)的計(jì)算公式為 f = p * w * s * (1 - d)程序如下: #include void main( )int c,s; float p,w,d,f; printf(please enter p,w,s:);scanf(“%f,%f,%d”,&p,&w,&s); if(s=3000) c=12; else c=s/250; switch (c) case 0:d=0;break; case 1:d=2;break; case 2: case 3:d=5;break; case 4:case 5: case 6: case 7:d=8;break; case 8: case 9: case 10: case 11:d=10;break; case 12:d=15;break
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年漢語言文學(xué)核心技能題及答案
- 小自考漢語言文學(xué)知識(shí)回顧與試題答案
- 2024年視覺傳播設(shè)計(jì)自考準(zhǔn)備清單與試題及答案
- 線上團(tuán)員考試試題及答案
- 語文中職測(cè)試題及答案
- 2024年漢語言文學(xué)自考命題趨勢(shì)試題及答案
- 急性胰腺炎小試題及答案
- 2024年行政管理小自考應(yīng)試策略及試題答案
- 幫扶村入戶面試題及答案
- 小自考視覺傳播設(shè)計(jì)設(shè)計(jì)理念調(diào)整策略試題及答案
- 工業(yè)互聯(lián)網(wǎng)基礎(chǔ) 課件 3.1 工業(yè)互聯(lián)網(wǎng)平臺(tái)概述
- 智慧酒店智能化系統(tǒng)解決方案
- 2025年合肥濱湖職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫完美版
- 《中建三局工程管理實(shí)習(xí)報(bào)告》2000字
- 家庭牧場(chǎng)申請(qǐng)書
- 軍隊(duì)文職考試(會(huì)計(jì)學(xué))近年考試真題題庫(含真題、典型題)
- 2025年遼寧醫(yī)藥職業(yè)學(xué)院高職單招職業(yè)技能測(cè)試近5年??及鎱⒖碱}庫含答案解析
- 模塊綜合試卷-2024版化學(xué)高三總復(fù)習(xí)
- 福建省寧德市2024-2025學(xué)年九年級(jí)上學(xué)期期末考試道德與法治試題
- 第3課 珍惜水資源(說課稿)-2023-2024學(xué)年五年級(jí)下冊(cè)科學(xué)教科版
- 《肺功能測(cè)定及報(bào)告》課件
評(píng)論
0/150
提交評(píng)論