在編程中,條件判斷語句是控制程序流程的核心元素之一。它們使得程序能夠根據(jù)不同的輸入和狀態(tài),做出相應(yīng)的決策。特別是在C語言中,條件判斷語句的使用極為廣泛,涵蓋了從簡單的if語句到更復(fù)雜的switch語句和條件運算符。這些結(jié)構(gòu)不僅增強了代碼的靈活性,還提高了程序的可讀性和可維護性。本文將深入探討C語言中的主要條件判斷語句,包括它們的語法、使用方法及實際應(yīng)用,通過具體示例幫助讀者更好地理解和掌握這些重要概念。
01#
一:什么是條件判斷語句
判斷結(jié)構(gòu)要求指定一個或多個要評估或測試的條件,以及條件為真時要執(zhí)行的語句(必需的)和條件為假時要執(zhí)行的語句(可選的)。
C 語言把任何非零和非空的值假定為true,把零或null假定為 false。
以下是C語言的三種條件判斷語句:
02#
二:if語句
(1):if語句
一個 if 語句 由一個布爾表達式后跟一個或多個語句組成。
如果布爾表達式為 true ,則 if 語句內(nèi)的代碼塊將被執(zhí)行。如果布爾表達式為 false ,則 if 語句結(jié)束后的第一組代碼(閉括號后)將被執(zhí)行
編寫一個簡單的程序:
運行結(jié)果為:
(2):if...else 語句
一個 if 語句 后可跟一個可選的 else 語句,else 語句在布爾表達式為 false 時執(zhí)行。
如果布爾表達式為 true,則執(zhí)行 if 塊內(nèi)的代碼。如果布爾表達式為 false,則執(zhí)行 else 塊內(nèi)的代碼。
編寫一個簡單的程序:
運行結(jié)果為:
(3)if...else if...else語句
一個 if 語句后可跟一個可選的 else if...else 語句,這可用于測試多種條件。
當(dāng)使用 if...else if...else 語句時,以下幾點需要注意:
l 一個 if 后可跟零個或一個 else,else 必須在所有 else if 之后。
l 一個 if 后可跟零個或多個 else if,else if 必須在 else 之前。
l 一旦某個 else if 匹配成功,其他的 else if 或 else 將不會被執(zhí)行。
編寫一個簡單的程序:
運行結(jié)果為:
(4)嵌套 if...else語句
在 C 語言中,嵌套 if...else 語句是合法的,可以在一個 if 或 else if 語句內(nèi)使用另一個 if 或 else if 語句。
編寫一個簡單的程序:
運行結(jié)果為:
03#
三:switch語句
(1):switch語句
switch 語句是一種有限制的控制流語句,它用于根據(jù)表達式的值執(zhí)行不同的代碼塊。
一個 switch 語句允許測試一個變量等于多個值時的情況,每個值稱為一個 case,且被測試的變量會對每個 switch case 進行檢查。
編寫一個簡單的程序:
運行結(jié)果為:
l switch 后面的表達式的值將會與每個 case 后面的常量值進行比較,直到找到匹配的值或者執(zhí)行到 default(如果存在)。
l 如果找到匹配的值,將執(zhí)行相應(yīng) case 后面的代碼塊,然后跳出 switch 語句。
l 如果沒有匹配的值,并且有 default,則執(zhí)行 default 后面的代碼塊。
l 如果沒有匹配的值,并且沒有 default,則跳過整個 switch 語句直到結(jié)束。
(2):嵌套switch語句
可以在一個 switch 語句內(nèi)使用另一個 switch 語句。
編寫一個簡單的程序:
運行結(jié)果為:
推導(dǎo)一下流程:
l 第6行:開始時n=1,匹配下方case1
l 第8行:m自增1,此時m=3
l 第9行:由于沒有break,繼續(xù)執(zhí)行n自增1,此時n=2
l 第10行:由于沒有break,繼續(xù)執(zhí)行case3
l 第11行:此時匹配n=2
l 第14行:m自增1,n自增1,此時m=4 , n=3
l 第15行:由于存在break,退出該switch語句
l 第19行:m自增1,此時m=5
l 第20行:由于存在break,退出該switch語句
l 最終結(jié)果:m=5 , n=3
04#
四:條件運算符
我們在運算符部分提到了條件運算符 ? :,它是C語言唯一一個三目運算符,可以用來替代 if...else 語句。
其中,condition 、block1 和 block2 是表達式。
如果 condition 為真,則計算 block1 的值,結(jié)果即為整個表達式的值。如果 condition 為假,則計算 block2 的值,結(jié)果即為整個表達式的值。
編寫一個簡單的程序:
運行結(jié)果為:
關(guān)于更多嵌入式學(xué)習(xí)資料
將持續(xù)更新中
敬請期待
-
C語言
+關(guān)注
關(guān)注
180文章
7596瀏覽量
135943 -
運算符
+關(guān)注
關(guān)注
0文章
171瀏覽量
11052
發(fā)布評論請先 登錄
相關(guān)推薦
評論