# 判斷式
教學長 莊孟寰(JSON / JASON)
---
# 功用
根據 電腦內的特定數值
的
特定條件 來 分類要做啥事
---
# 語法
----
## 語法一
```cpp=
if(/*條件式一*/){
陳述句一;
陳述句二;
}else if(/*條件式二*/){
陳述句三;
陳述句四;
}else{
陳述句五;
陳述句六;
}
```
----
## 語法二
```cpp=
if(/*條件式一*/)
陳述句一;
else if(/*條件式二*/)
陳述句二;
else
陳述句三;
```
---
# switch 結構
當需要根據某個變數的值來執行不同的程式碼段時,switch 語句是一種更清晰的方式。switch 語句常用來替代多個 else if 判斷。當為特定值時執行相對應特定區塊。跟 else if 鏈一樣,如果前一個值被滿足,後面的 case 會被直接跳過。
```cpp=
switch(<var>):
case <值1>:
// var符合值1時執行
break;
case <值2>:
// var符合值2時執行
break;
default:
// 都不滿足時執行
break;
```
---
# 運算子
----
## 關係運算子
```cpp=
1 == 1 // true
2 != 1 // true
1 > 2 // false
2 < 3 // true
10 >= 10 // true
20 <= 10 // false
```
----
## 邏輯運算子
```cpp=
(1 == 1 && 2 == 2) // true
(1 == 2 || 1 == 1) // true
int wow = 31415;
(! wow) // false (邏輯反運算符,用來取反)
```
----
## 三元運算子
```cpp=
// int result = (a > b) ? a : b;
int a = 20;
int b = 30;
int result = (a > b) ? a : b;
```
---
# 舉個有用的比較栗子
----
```cpp=
if(score >= 90)
cout<<"very_good\n";
else if(score >=70)
cout<<"good\n";
else
cout<<"keep it up\n";
```
```cpp=
if(score >= 90)
cout<<"very_good\n";
if(score >=70)
cout<<"good\n";
else
cout<<"keep it up\n";
```
---
# 使用時機
----
1. 判斷數值範圍
2. 分類資料
3. 流程控制
4. 錯誤處理(特判)
---
# 小提醒
----
條件式的結果必須是布林值。(True 或 False)
小心條件重疊,避免邏輯錯誤。(見前面)
使用縮排來清楚表達代碼層級。(方便debug)
---
# 練習題
----
CSDC 55
CSDC 179
CSDC 180
{"title":"CSDC 判斷式","description":"教學長 莊孟寰(JSON / JASON)","contributors":"[{\"id\":\"159a1fd1-6940-4374-8600-52c07b23dee7\",\"add\":1576,\"del\":59,\"latestUpdatedAt\":1768832760106}]"}