




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、上一章所講到的順序結構程序中,各上一章所講到的順序結構程序中,各語句是按照語句的前后順序依次執行,沒語句是按照語句的前后順序依次執行,沒有選擇,沒有跳躍,也沒有重復執行的問有選擇,沒有跳躍,也沒有重復執行的問題,但是我們在解決實際問題時,經常遇題,但是我們在解決實際問題時,經常遇到這樣的問題:當客觀現實事物滿足不同到這樣的問題:當客觀現實事物滿足不同的條件,會有不同的結果出現。的條件,會有不同的結果出現。比如:某一門課程考試成績大于等于比如:某一門課程考試成績大于等于60分,該課程考核視為通過;如果考試成分,該課程考核視為通過;如果考試成績小于績小于60分,則視為不通過。遇到類似這分,則視為不
2、通過。遇到類似這樣的問題,首先需要判斷一下具體的情況樣的問題,首先需要判斷一下具體的情況是什么,然后決定選擇什么樣的處理方式。是什么,然后決定選擇什么樣的處理方式。不同的情況,會有不同的處理結果。不同的情況,會有不同的處理結果。對以上問題的解決,在程序設計中需對以上問題的解決,在程序設計中需要采用分支結構,也稱為選擇結構。上述要采用分支結構,也稱為選擇結構。上述提到的提到的“條件條件”,在,在C語言中是如何表示語言中是如何表示的呢?的呢?語句形式:語句形式:if(表達式)語句表達式)語句if語句的執行是:遇到語句的執行是:遇到if關鍵字,首先關鍵字,首先計算圓括號中的表達式的值,如果表達式計算
3、圓括號中的表達式的值,如果表達式的值為非的值為非0,則執行圓括號其后的語句,然,則執行圓括號其后的語句,然后執行后執行if語句后面的下一個語句。如果表語句后面的下一個語句。如果表達式的值為達式的值為0,則跳過圓括號后面的語句,則跳過圓括號后面的語句,直接執行直接執行if語句后面的下一個語句。語句后面的下一個語句。if語句語句執行過程如圖執行過程如圖4-1所示。所示。圖圖4-1 if語句的執行語句的執行語句形式:語句形式:if(表達式)語句表達式)語句1else語句語句2該語句遇到關鍵字該語句遇到關鍵字if,首先運算小括首先運算小括號中的表達式,如表達式的值為非號中的表達式,如表達式的值為非0,
4、則執,則執行緊跟其后的語句行緊跟其后的語句1,執行完語句,執行完語句1后,執后,執行行if-else結構后面的語句;如果表達式的值結構后面的語句;如果表達式的值為為0,則執行關鍵字,則執行關鍵字else后面的語句后面的語句2,接著,接著執行執行if-else結構后面的語句。執行過程如圖結構后面的語句。執行過程如圖4-2所示。所示。圖圖4-2 if-else語句的執行過程語句的執行過程在在if語句結構中,根據關鍵字語句結構中,根據關鍵字if后面的后面的表達式的值。決定選擇那一個分支,執行表達式的值。決定選擇那一個分支,執行相應的語句。這個對應的語句只要是合法相應的語句。這個對應的語句只要是合法的
5、語句,都可以執行。因此有時根據實際的語句,都可以執行。因此有時根據實際問題的需要,我們可以在問題的需要,我們可以在if語句結構中再語句結構中再包含包含if語句結構,這就稱為語句結構,這就稱為if語句的嵌套。語句的嵌套。在在C語言中使用語言中使用if語句,實現了分支結語句,實現了分支結構,同時系統還提供了條件運算符,同樣構,同時系統還提供了條件運算符,同樣可以實現簡單的分支結構。可以實現簡單的分支結構。條件運算符為:條件運算符為: ? :該運算符是由兩個運算符所組成,為該運算符是由兩個運算符所組成,為三目運算符。由條件運算符所構成的條件三目運算符。由條件運算符所構成的條件表達式為:表達式表達式為
6、:表達式1?表達式?表達式2 : 表達式表達式3它的運算功能是:當表達式它的運算功能是:當表達式1的值為的值為非非0時,運算表達式時,運算表達式2,此時表達式,此時表達式2的值就的值就作為整個條件表達式的值;當表達式作為整個條件表達式的值;當表達式1的值的值為為0時,運算表達式時,運算表達式3,此時表達式,此時表達式3的值就的值就作為整個條件表達式的值。作為整個條件表達式的值。條件運算符的優先級高于賦值運算符,條件運算符的優先級高于賦值運算符,但低于邏輯運算、關系運算和算術運算符。但低于邏輯運算、關系運算和算術運算符。例如:例如:y = x 9 ? 100 200,由于賦,由于賦值號的優先級低
7、于條件運算符,因此先求值號的優先級低于條件運算符,因此先求條件表達式的值,如條件表達式的值,如x9關系表達式成立,關系表達式成立,則條件表達式的值為則條件表達式的值為100;如;如x9 不成立,不成立,則條件表達式的值為則條件表達式的值為200,然后將條件表達,然后將條件表達式的值賦給變量式的值賦給變量y。請看以下語句結構:請看以下語句結構:if (表達式表達式1) if (表達式表達式1) 語句語句1 語句語句1else if (表達式表達式2) else if (表達式表達式2) 語句語句2 語句語句2 else if (表達式表達式3) else if (表達式表達式3)語句語句3 整理
8、后整理后 語句語句3 . . . . . . else else 語句語句n+1 語句語句n+1以上語句結構,除最后一個以上語句結構,除最后一個else子句子句中,均嵌入了中,均嵌入了if-else語句,此語句結構執行語句,此語句結構執行過程是:從上到下逐一對過程是:從上到下逐一對if后面的表達式后面的表達式進行運算。當某一個表達式的值為非進行運算。當某一個表達式的值為非0時,時,就執行緊跟其后的相關子句中的語句,而就執行緊跟其后的相關子句中的語句,而后面的其余部分均被跳過。因此有后面的其余部分均被跳過。因此有n個個if語語句,就有句,就有n+1個分支。個分支。除了使用嵌套的除了使用嵌套的if
9、語句,實現多重分語句,實現多重分支選擇之外,支選擇之外,C語言系統還專門提供了一語言系統還專門提供了一種多重分支選擇語句種多重分支選擇語句switch語句。語句。switch語句的一般形式為:語句的一般形式為:switch (表達式)(表達式) case 常量表達式常量表達式1: 語句語句1 case 常量表達式常量表達式2: 語句語句2 . . . case 常量表達式常量表達式n: 語句語句n default: 語句語句n+1說明說明(1)switch關鍵字后面的表達式,可關鍵字后面的表達式,可以是任意合法的表達式。每個以是任意合法的表達式。每個case關鍵字關鍵字后面的常量表達式的類型,
10、必須與后面的常量表達式的類型,必須與switch關鍵字后面的表達式類型一致。關鍵字后面的表達式類型一致。(2)執行)執行switch語句,首先計算其后語句,首先計算其后的表達式的值,然后自上而下順序尋找一的表達式的值,然后自上而下順序尋找一個個case后面的常量與該值相匹配,找到后后面的常量與該值相匹配,找到后按順序執行此按順序執行此case后面的所有語句,包括后面的所有語句,包括后續的后續的case子句,而不再進行判斷。如果子句,而不再進行判斷。如果所有所有case中的常量值都不能與中的常量值都不能與switch后面的后面的表達式的值相等,就執行表達式的值相等,就執行default關鍵字后關鍵字后面的語句;若既沒有相匹配的面的語句;若既沒有相匹配的case,也沒也沒有有d
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國調料行業發展潛力預測及投資戰略研究報告
- 電器可行性報告范文
- 2025年中國智能控制器行業發展趨勢及投資前景預測報告
- 2025-2030年中國建材預制構件項目投資可行性研究分析報告
- 名表培訓課件
- 建筑工程施工合同
- 中國音樂播放器行業發展監測及市場發展潛力預測報告
- 輪紋特膠懸劑行業深度研究分析報告(2024-2030版)
- 中國汽車防銹市場競爭格局及投資戰略規劃報告
- 2025年中國冶礦機械零部件行業市場發展前景及發展趨勢與投資戰略研究報告
- 2024-2030年中國小型渦噴發動機行業競爭格局展望及投資策略分析報告
- 《酒店營銷推廣方案》課件
- 大學生積極心理健康教育知到智慧樹章節測試課后答案2024年秋運城職業技術大學
- 危險化學品安全管理領導小組及工作職責
- 工程建筑勞務合作協議范本
- 房屋優先購買權申請書
- 留學銷售話術培訓
- 酒店安全生產月培訓
- 高中美術高中美術鑒賞《抒情與寫意-文人畫》課件
- 110kV變電站施工組織總設計
- DB32T-中小學生健康管理技術規范 第1部分:心理健康編制說明
評論
0/150
提交評論