C語言學習之條件和?if...else語句詳解
C 語言中的條件和 if...else 語句
您已經學習過 C 語言支持數學中的常見邏輯條件:
- 小于:
a < b - 小于或等于:
a <= b - 大于:
a > b - 大于或等于:
a >= b - 等于:
a == b - 不等于:
a != b
您可以使用這些條件來根據不同的決策執(zhí)行不同的操作。
C 語言具有以下條件語句:
- 使用
if來指定要執(zhí)行的代碼塊,如果指定的條件為真 - 使用
else來指定要執(zhí)行的代碼塊,如果相同的條件為假 - 使用
else if來指定要測試的新條件,如果第一個條件為假 - 使用
switch來指定要執(zhí)行的許多備選代碼塊
if 語句
使用 if 語句指定要執(zhí)行的代碼塊,如果條件為真。
語法
if (condition) {
// 要在條件為真時執(zhí)行的代碼塊
}
請注意,if 是小寫字母。大寫字母(If 或 IF)會生成錯誤。
在下面的示例中,我們測試兩個值以找出 20 是否大于 18。如果條件為真,則打印一些文本:
if (20 > 18) {
printf("20 is greater than 18");
}
我們也可以測試變量:
int x = 20;
int y = 18;
if (x > y) {
printf("x is greater than y");
}
例子解釋
在上面的示例中,我們使用兩個變量 x 和 y 來測試 x 是否大于 y(使用 > 運算符)。由于 x 為 20,y 為 18,并且我們知道 20 大于 18,因此我們在屏幕上打印“x is greater than y”。
else 語句
使用 else 語句指定要執(zhí)行的代碼塊,如果條件為假。
語法
if (condition) {
// 如果條件為真,則執(zhí)行的代碼塊
} else {
// 如果條件為假,則執(zhí)行的代碼塊
}
int time = 20;
if (time < 18) {
printf("Good day.");
} else {
printf("Good evening.");
}
// 輸出 "Good evening."
例子解釋
在上面的示例中,時間 (20) 大于 18,因此條件為假。因此,我們移動到 else 條件并打印到屏幕“Good evening”。如果時間小于 18,則程序將打印“Good day”。
else if 語句
使用 else if 語句指定新的條件,如果第一個條件為假。
語法
if (condition1) {
// 如果條件1為真,則執(zhí)行的代碼塊
} else if (condition2) {
// 如果條件1為假且條件2為真,則執(zhí)行的代碼塊
} else {
// 如果條件1為假且條件2為假,則執(zhí)行的代碼塊
}
int time = 22;
if (time < 10) {
printf("Good morning.");
} else if (time < 20) {
printf("Good day.");
} else {
printf("Good evening.");
}
// 輸出 "Good evening."
例子解釋
在上面的示例中,時間 (22) 大于 10,因此第一個條件為假。下一個條件,在 else if 語句中,也是假的,因此我們移動到 else 條件,因為 condition1 和 condition2 都是假的 - 并打印到屏幕“Good evening”。
但是,如果時間是 14,我們的程序會打印“Good day”。
另一個例子
此示例展示了如何使用 if..else 找出數字是正數還是負數:
int myNum = 10; // 這是一個正數還是負數?
if (myNum > 0) {
printf("The value is a positive number.");
} else if (myNum < 0) {
printf("The value is a negative number.");
} else {
printf("The value is 0.");
}
C 語言中的簡潔 if...else 語句(三元運算符)
除了標準的 if...else 語句之外,C 語言還提供了一種簡寫形式,稱為三元運算符,因為它由三個操作數組成。它可以將多行代碼替換為一行,通常用于替換簡單的 if...else 語句。
語法
variable = (condition) ? expressionTrue : expressionFalse;
示例
以下代碼用標準的 if...else 語句判斷時間是否晚于 18 點:
int time = 20;
if (time < 18) {
printf("Good day.");
} else {
printf("Good evening.");
}
使用三元運算符可以簡寫為:
int time = 20;
(time < 18) ? printf("Good day.") : printf("Good evening.");
兩種方式都將輸出 "Good evening."。
優(yōu)點
三元運算符的優(yōu)點在于簡潔,可以將多行代碼替換為一行,使代碼更易讀。
缺點
三元運算符的缺點在于可讀性下降,尤其是嵌套使用時,可能會使代碼難以理解。
使用建議
建議在簡單的 if...else 語句中使用三元運算符,以簡化代碼。在復雜的情況下,建議使用標準的 if...else 語句,以保持代碼的可讀性。
最后
以上就是C語言學習之條件和 if...else語句詳解的詳細內容,更多關于C語言條件和 if...else語句的資料請關注腳本之家其它相關文章!
相關文章
C語言創(chuàng)建線程thread_create()的方法
這篇文章主要介紹了C語言創(chuàng)建線程thread_create()的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-02-02
C++中int?main(int?argc,?char**?argv)的參數使用
int?main(int?argc,?char**?argv)?是C和C++程序的入口點,其中argc和argv是用來接收從命令行傳遞給程序的參數的,本文就來介紹一下這兩個參數的含義,感興趣的可以了解一下的相關資料2024-01-01
C++實現LeetCode(142.單鏈表中的環(huán)之二)
這篇文章主要介紹了C++實現LeetCode(142.單鏈表中的環(huán)之二),本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下2021-07-07

