版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第4章 分支結(jié)構(gòu),1) if 語句的一般形式 if (表達(dá)式) 語句; if (表達(dá)式) 語句1; else 語句2; 其中: “語句”和“語句1”可以是用 括起來的復(fù)合語句。 “語句2”既可以是用 括起來的復(fù)合語句,也可以是或形式的if 語句。 “語句1”后面的“ ; ”是必須的。,4.1 if 語句,例4.1 輸入三個實(shí)數(shù),按小到大順序輸出。 main( ) float a,b,c,t; scanf(“%f,%f,%f ”, ,2) if 語句的嵌套形式一,if(表達(dá)式1),else if (表達(dá)式2),else if (表達(dá)式3),else if(表達(dá)式n),else,語句體1,語句體2
2、,語句體3,語句體n,語句體n +1,流程:,在 if 語句中又包含一個或多個 if 語句稱為 if 語句的嵌套。,注:從最內(nèi)層開始,else總是與它前面最近的未曾配對的if 配對,除非用花括號改變其配對關(guān)系。,2) if 語句的嵌套形式二,例4.2 編程求,的值。x的值從鍵盤輸入。,main( ) int x,y; scanf(“%d”, ,P58p59有多種寫法,若有如下 if 語句: if (ab) max=a; else max=b; 則可以用下面的條件運(yùn)算符處理: max=(ab) ? a : b; 同樣,對如下 if 語句: if (ab) printf(“%d”,a); else
3、 printf(“%d”,b); 也可用下面的語句代替: printf(“%d”,ab ? a : b);,3) 條件運(yùn)算符(p20), 條件運(yùn)算符的優(yōu)先級高于賦值運(yùn)算符,低于關(guān)系運(yùn)算符和算 術(shù)運(yùn)算符。如: ab?a:b+1; / 相當(dāng)于ab?a:(b+1) / 條件運(yùn)算符的結(jié)合方向?yàn)?“自右至左”。 如:ab?a:cd?c:d /* 相當(dāng)于ab?a:(cd?c:d) */ 若a=1, b=2, c=3, d=4,則條件表達(dá)式的值為4。 僅在if 語句內(nèi)嵌的語句為賦值語句時,才能用條件表達(dá)式取代該if語句。 條件表達(dá)式中的操作對象可以是不同的類型,且其值取較高 的類型。如: x?a:b 當(dāng)x
4、= 0時,條件表達(dá)式的值為b xy?1:1.5 當(dāng)x y時,條件表達(dá)式的值為1.5,否則為1.0。, 條件運(yùn)算符 “ ? : ” 是一個三目運(yùn)算符,必須有三個操作對象。,例4.3 求一元二次方程的解。 #include “math.h” main( ) float a,b,c,d,x1,x2,p,q; scanf(“%f,%f,%f ”, ,4.2 switch 語句,用if或if/else或它們的嵌套也可使程序?qū)崿F(xiàn)多路分支,但容易出現(xiàn)下面的問題:,(1) 可讀性差,(2) 破壞結(jié)構(gòu),解決問題的方法:采用switch語句。,switch(變量) case 常量表達(dá)式1: 語句體1 case 常
5、量表達(dá)式2: 語句體2 case 常量表達(dá)式n: 語句體n default : 語句體(n+1) ,一般形式:,(1) 根據(jù)表達(dá)式的取值, 判斷其與哪一個常量表達(dá)式相等。如=表達(dá)式i,則自語句i開始執(zhí)行,直到語句n+1止。,(2) 若與所有常量表達(dá)式值不相等,則從default后的語句開始執(zhí)行。,功能:,注:default 可有可無。,找入口,例: 根據(jù)成績等級打印百分?jǐn)?shù)段.,switch (grade) case A: printf (85100n); case B: printf (7084n); case C: printf (6069n); case D: printf (60n);
6、default: printf (errorn); ,#include main() char grade; printf(please input a character:); scanf(%c, ,程序如下: 4_3_1,運(yùn)行結(jié)果為:,A ,程序運(yùn)行結(jié)果不在預(yù)料之中!,產(chǎn)生錯誤的原因: 沒有完全起到分支作用。,85-100 70-84 60-69 60 Error,switch 語句為多路分支選擇語句。其一般形式如下: switch (表達(dá)式) case 常量表達(dá)式1: 語句1; break; case 常量表達(dá)式2: 語句2; break; case 常量表達(dá)式n: 語句n; break; defaul t : 語句n+1; 其中: “表達(dá)式”可以是任何類型的表達(dá)式。 “常量表達(dá)式”的值必須互不相同。 各個case出現(xiàn)的先后順序?qū)?zhí)行結(jié)果沒有影響。 執(zhí)行完一個case后面的語句后,通過break語句結(jié)束該控制結(jié)構(gòu)。 若所有的“常量表達(dá)式”的值都不與“表達(dá)式”的值相匹配,就執(zhí)行default 后面的語句。 多個case可以共用一組執(zhí)行語句。 case后面若有多個語句,可以不用 括起。,4.2 switch語句,例4.4 某商店按如下折扣優(yōu)惠購貨的顧客(演示4_4.c),試編程,輸入購貨金額M,求顧
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年智能體工作流自動化平臺項(xiàng)目營銷方案
- 柴油車電噴培訓(xùn)課件
- 醫(yī)療政策效果評估
- 杜邦安全管理理念
- 課件點(diǎn)評語教學(xué)課件
- 《FZT 74007-2019戶外防曬皮膚衣》專題研究報告
- 《DZT 0198.11-1997地質(zhì)儀器 工藝管理導(dǎo)則 工藝驗(yàn)證》專題研究報告深度
- 鋼材運(yùn)輸安全培訓(xùn)課件
- 2026年建筑施工質(zhì)量體系題含答案
- 2026年消防燃?xì)馐鹿示仍}庫含答案
- 醫(yī)保藥械管理制度內(nèi)容
- 商業(yè)地產(chǎn)投資講座
- 機(jī)房動力環(huán)境監(jiān)控系統(tǒng)調(diào)試自檢報告
- 電網(wǎng)勞務(wù)分包投標(biāo)方案(技術(shù)方案)
- 2023年北京第二次高中學(xué)業(yè)水平合格考化學(xué)試卷真題(含答案詳解)
- NB-T20048-2011核電廠建設(shè)項(xiàng)目經(jīng)濟(jì)評價方法
- 4第四章 入侵檢測流程
- 鈀金的選礦工藝
- JCT640-2010 頂進(jìn)施工法用鋼筋混凝土排水管
- 赤壁賦的議論文800字(實(shí)用8篇)
- 輸變電工程技術(shù)標(biāo)書【實(shí)用文檔】doc
評論
0/150
提交評論