C語言 選擇結構

2021-08-28 14:04:56 字數 3867 閱讀 5642

1. 單分支選擇結構

2. 雙分支選擇結構

3. 多分支選擇結構

1. 單分支選擇結構

1.1何為單分支選擇結構?

從開始到結束之間只有一條路可供選擇。

1.2何為雙分支結構?

從開始到結束之間有兩條路可供選擇。

1.3何為多分支結構

從開始到結束之間有三條及三條以上的路可供選擇。

**接招看題004.**用單分支選擇結構的條件語句程式設計,計算並輸出兩個整數的最大值

2. 雙分支選擇結構

2.1 如何使用雙分支控制條件的語句?

if(表示式p) 語句1

else 語句2

使用if-else流程是:如果表示式p的值為真,就執行語句1,否則就執行語句2.

if-else語句跟簡單的if語句的區別是?

使用簡單的if語句,可供的選擇是:要麼執行一條語句;要麼就不執行,跳過它。而if-else 語句可供的選擇是:在兩條語句中選擇其中的一條來執行。

接題看招005:用雙分支控制條件的語句程式設計,計算並輸出兩個整數的最大值。**

知識拓展:條件運算子和條件表示式

1.何為條件運算子?(關於條件運算子知多少?)

條件運算子是c語言中的唯一乙個三元運算子,即參與運算時需要三個運算元。比如通過加減乘除運算子,將x,y,z(任意三個變數)進行相關的運算。

2.條件運算子跟if-else有何區別?

由條件運算子構成的條件表示式,會使程式變得更加簡單,直觀。

接招看題006:用條件運算子程式設計,計算並輸出兩個整數的最大值

1.記住這句話:程式是解決問題的一種演算法。是使用**(字元)來實現的。

因此,解題前,我們首先要知道解決問題的演算法是什麼,然後將演算法轉換成**(字元)

本題演算法:首先通過關係運算子,比較兩個數的關係,即誰大誰小?

然後將最大值賦值給變數max,或者說將最大值存於變數max中。*

2.何為條件表示式?

表示式1?表示式2:表示式3

講解說明:當表示式1的值為真,那麼將表示式2的結果賦值給表示式1,否則將表示式3的結果賦值給表示式1.

現在講解接招看題006是如何使用條件表示式的。

max=a>b?a:b;//注意運算子的優先順序

運算子的優先順序順序,記住五個字:非術關邏賦。

非,!。優先順序第一。最大。這是校長。

術,算數運算子,+,-,*,/,%。優先順序第二。這是院長。

關,>,>=,

其中,>,>=,

邏,!,&&,||。優先順序第四。這是班長。

賦,=。優先順序第五。最小。這是組長。

這些專業知識你只需有個大概的了解就行,不需要死記硬背。只需要在用的過程中,你知道知識在哪兒,並且會用(當然少不了動手練習嘍),就ok了。網際網路時代,記憶交給儲存器(u盤,雲盤,行動硬碟),分析理解交給大腦(cpu)。

3. 多分支選擇結構

3.1多分支選擇結構

即else-if形式的條件語句。如下:

if(表示式1) 語句1

else if (表示式2) 語句2

else if (表示式n) 語句n

else 語句n+1

多分支選擇結構流程圖如下:

條件語句語法規定,每個條件分支只能帶一條語句。(這個缺點就產生了復合語句)但是實際中條件分支裡往往會有多條語句才能完成這時就需要{}括起來。

知識總結歸納:

1.何為條件語句的三種形式?分別是怎麼用的?

第一種單分支—if(表示式p) 語句a

第二種雙分支—if(表示式p) 語句a

else 語句b

第三種多分支—if(表示式1) 語句1

else if(表示式2) 語句2

else if(表示式n) 語句n

else 語句n+1

2.何為復合語句?

用{}括起來的語句叫復合語句。

例如,max=a;

printf(「max=%d」,a);

以上為兩條語句。但是若用{}括起來,就是一條復合語句。(復合語句是乙個整體,可看作一條語句。)例如:

3.2用於多路選擇的switch語句

使用條件:多分支選擇。

舉例:分類統計學生成績;90分以上為a,80-90分之間為b;60-70分之間為c。常用於分類統計,選單等問題。

語句格式:

switch(表示式)

:首先計算表示式的值,並逐個與其後的常量表示式相比較,如果表示式的值與某個常量表示式的值相等,即執行該常量表示式後的語句;如果沒有找到與表示式匹配的常量表示式,則執行defualt 語句。

(1)在switch語句中,「case常量表示式」相當於乙個語句標號,表示式的值和某標號相等就執行該標號後的語句,碰到break跳出本層switch。

(2)switch括號內表示式的值和case後面的常量的表示式的值只能是整型或字元型。讀者注意記憶重點知識。

(3)同乙個switch語句中,case後的各常量表示式的值不能相同。

(4)在case後允許有多個語句,可以不用{}括起來。

(5)各case和default語句的先後順序可以變動,不會影響程式執行的結果。

(6)在需要用switch語句選擇關係型執行條件的時候,應先用if進行判斷。

接招看題007:從鍵盤接受乙個數字,輸出對應的星期幾的英文單詞。

(1)結合接招看題007進行理解。注意沒有break和有break的效果(這就是理解)

當case常量表示式沒有break結尾,會導致連續輸出case後面語句裡的字串。加上break結尾,會直接跳出本層switch,好處是避免輸出不應有的結果。(顯然連續輸出不是我們想要的輸出結果。我們想要的結果是「一對一」的邏輯關係,1—monday,7—sunday,而不是1—monday****fridaysunday)

(2)因為continue語句只用在for,while,do-while等迴圈體中,所以在後續迴圈結構會涉及到。

if語句只有2個分支—是 和 否;而switch語句至少有3個分支。

最後,目前此文**到此,後面會繼續更新。歡迎各位提供反饋,繼續豐富此文件!2018-9-29

c語言 選擇結構

1 條件判斷 1 條件判斷的含義 用選擇結構來檢查所指定的條件是否滿足,並根據判斷的結果決定執行哪種操作 2 關係運算子 用來比較大小的符號 關係表示式 式子不是表示數值,而是乙個邏輯值 關係運算子 小於 小於或等於 大於 大於或等於 優先級別相同,大於後面兩種,等於 不等於 3 邏輯運算子及其優先...

C語言 選擇結構

一 if語句 實現兩個分支 if 語句可以寫成不同形式 if 表示式 語句1 可以沒有else語句 if 表示式 語句 1 else 語句 2 有else語句 if 表示式 1 語句 1 else if 表示式 2 語句 2 else if 表示式3 語句 3 可以使用巢狀 注意 1 如果語句 1,...

C語言 選擇結構程式設計

幫乙個同學完成c語言的實驗報告,看到這些熟悉的一年之前的內容,還是有點蒙,所以有些知識點還是開啟書看了看,有點印象就開始寫了。但是,現在想要重拾c語言的全部知識還是有些苦難的。1.將輸入的小寫字母改寫成大寫字母輸出,其他字元不變 include int main 這個按要求修改,基本滿足要求,但是如...