最詳細最生動的選擇結(jié)構(gòu)教程


前言
上章節(jié)講解了程序的數(shù)據(jù)的類型轉(zhuǎn)換,忘記了的同學(xué)可以復(fù)習(xí)哦。本章節(jié)主要講解下C語言選擇結(jié)構(gòu)中的分支語句。

什么是選擇語句
在C語言中,程序執(zhí)行流程是從上到下
在c編程語言中,有兩個決策制定語句如下......
if語言
switch語句

if語句
在c語言中,if語句用于根據(jù)條件做出決策。if語句驗證給定條件并根據(jù)條件結(jié)果決定是否執(zhí)行語句塊。在c語言中,if語句分為以下四種類型......
簡單的if語句
if - else語句
嵌套if語句
if-else if-if語句(if-else梯形圖)
簡單if語句
簡單的if語句用于驗證給定條件并根據(jù)條件結(jié)果執(zhí)行語句塊。簡單的if語句評估指定的條件。如果為TRUE,則執(zhí)行下一個語句或語句塊。如果條件為FALSE,則會跳過下一個語句或語句塊的執(zhí)行。簡單if語句的一般語法和執(zhí)行流程如下:

當(dāng)我們只有一個根據(jù)條件執(zhí)行或跳過的選項時,使用簡單的if語句。
示例程序| 測試給定數(shù)字是否可被5整除:

if-else 語句
if-else語句用于驗證給定條件,并根據(jù)條件結(jié)果僅執(zhí)行兩個語句塊中的一個。if-else語句評估指定的條件。如果為TRUE,則執(zhí)行一個語句塊(True block)。如果條件為FALSE,則執(zhí)行另一個語句塊(False塊)。if-else語句的一般語法和執(zhí)行流程如下:

當(dāng)我們有兩個選項并且只有一個選項必須根據(jù)條件結(jié)果(TRUE或FALSE)執(zhí)行時,使用if-else語句。
示例程序| 測試給定數(shù)量是偶數(shù)還是奇數(shù)。

嵌套if語句
在另一個if語句中編寫if語句稱為嵌套if語句。嵌套if語句的一般語法如下:

可以使用簡單的if和if-else語句的任意組合來定義嵌套的if語句。
示例程序| 如果給定數(shù)字低于100,則測試給定數(shù)字是偶數(shù)還是奇數(shù)。

if-else if-else語句
if-else if-else語句的一般語法如下:

示例程序| 找到三個數(shù)字中最大的一個


當(dāng)我們使用if語句之類的條件控制語句時,condition可能是一個表達式,它被計算為數(shù)值,變量或直接數(shù)值。如果表達式值或直接值為零,則條件變?yōu)镕ALSE,否則變?yōu)門RUE。
if(10)
為TRUE
if(x)
x為零則為FALSE,否則為TRUE
if(a + b)
a + b值為零為FALSE,否則為TRUE
if(a = 99)
由于值為非零而為TRUE
if( 10,5,0 )
為FALSE,因為它考慮了最后一個值
if(0)
?為FALSE
if(a = 10,b = 15,c = 0)
為FALSE,因為最后一個值為零

C語言中switch語句
考慮一種情況,其中我們有許多選項,我們只需要選擇一個要執(zhí)行的選項。使用嵌套的if語句可以解決這類問題。但隨著選項數(shù)量的增加,程序的復(fù)雜性也會增加。使用switch語句可以很容易地解決這類問題。使用switch語句,可以非常容易地從更多選項中選擇一個選項。在switch語句中,我們提供了一個值,該值與每個選項關(guān)聯(lián)的值進行比較。只要給定值與選項關(guān)聯(lián)的值匹配,就從該選項開始執(zhí)行。在switch語句中,每個選項都被定義為一個案例。
switch語句具有以下語法和執(zhí)行流程圖:

switch語句包含一個或多個case,每個case都有一個與之關(guān)聯(lián)的值。首先,switch語句將第一個case值與switchValue進行比較,如果匹配,則從第一個case開始執(zhí)行。如果它不匹配,則switch語句將第二個case值與switchValue進行比較,如果匹配則執(zhí)行從第二個case開始。此過程將繼續(xù),直到找到匹配項。如果沒有case值與switch語句中指定的switchValue匹配,則執(zhí)行一個名為default的特殊情況。
當(dāng)case值與switchValue匹配時,執(zhí)行從該特定情況開始。此執(zhí)行流程也繼續(xù)下一個案例語句。為避免這種情況,我們在每個案例的末尾使用“ break ”語句。這意味著break語句用于終止switch語句。
示例程序| 用單詞顯示按下的數(shù)字


switch注意項
關(guān)鍵字所以他們必須是小寫字母
case值的類型和switch指定的值必須相同。
switch和case值必須是整數(shù)或字符,但不能是float或string。
switch語句可以包含任意數(shù)量的case。
關(guān)鍵字case及其值必須使用空格填充。
不需要按順序定義案例值,它們可以按任何順序排列。
在默認情況下是可選的,它可以在任何地方的開關(guān)語句內(nèi)定義。
切換值可以是直接值,變量或表達式。

尾言
作業(yè):用戶輸入年月,采用switch和if實現(xiàn)當(dāng)前月份的天數(shù)。
人生的每一筆經(jīng)歷,都在書寫你的簡歷。原本你以為微不足道的事情,回頭看的時候,都有著無法細數(shù)的刻度。自己拼出來的東西,和別人送到嘴邊的東西,意義和珍惜的程度都大為不同。加油!

