###### tags: `FoShiShi` # 判斷 ## What 就是去判斷一件事**是真的或是假的** 然後做出相對應的操作 :::success 這應該**非常直觀** 就是我們生活中每分每秒都在做的事 **判斷現在情況做事** 例如買午餐的時候 判斷現在的財力、飢餓程度、喜好.. .. 決定要買什麼 ::: 有玩過`Scratch`的可以看一下下面的圖片  就是這些東西 ## When 當我們要**對各種事情做判斷的時候** 就是要對一些條件做出對應的選擇 ## How ### if 就是 **"如果"** 語法如下: ```cpp= if(條件) { 要做的事; } ``` **"如果"** 符合 **"條件"** 就去做 **"要做的事"** 其中的條件可以用之前教的**關係運算子跟邏輯運算子**去判斷 例: ```cpp= int a = 10, b = 10; if(a == b) { cout << "a is equal to b" << endl; } ``` --- ### else 就是 **"否則"**,必須搭配 **"如果"** 使用 語法如下: ```cpp= if(條件) { 要做的事; } else { 要做的事2; } ``` **"如果"** 符合 **"條件"** 就去做 **"要做的事"** **"否則"** 就去做 **"要做的事2"** 例: ```cpp= int a = 10, b = 10; if(a == b) { cout << "a is equal to b" << endl; } else { cout << "a is not equal to b" << endl; } ``` --- ### else if 就是 **"否則,如果"**,必須搭配 **"如果"** 使用 語法如下: ```cpp= if(條件) { 要做的事; } else if(條件2) { 要做的事2; } else if(條件3) { 要做的事3; } .... else { 要做的事N; } ``` **"如果"** 符合 **"條件"** 就去做 **"要做的事"** **"否則,如果"** 符合 **"條件2"** 就去做 **"要做的事2"** **"否則,如果"** 符合 **"條件3"** 就去做 **"要做的事3"** ... ... **"否則** 就去做 **"要做的事N"** :::success 這些判斷就像一連串的選擇 必須**先有一個"如果"才能去做更多判斷** 後面**可以接無數個"否則,如果"** 但**最後只能有$1$或$0$個"否則"** ::: --- ## 實際應用 ### 題目1 輸入一正整數`N` 如果`N >= 100`,輸出`Perfect` 如果`100 > N >= 60`,輸出`Ok` 如果`60 > N`,輸出`Oh...` :::spoiler solution 因為這些情形成立的條件不衝突 所以可以只用`if`去判斷 喔然後要記得在 [**`運算子`**](https://chrislaiisme.github.io/FoShiShi/operators) 裡面的`a < b && b < c`的寫法 ```cpp= #include<iostream> using namespace std; int main() { int N; cin >> N; if(N >= 100) { cout << "Perfect" << endl; } if(100 > N && N >= 60) { cout << "Ok" << endl; } if(60 > N) { cout << "Oh..." << endl; } } ``` 或是也可以用`if`跟`else`有順序的方法減少不必要計算 (可以想一下為什麼這樣寫合法) ```cpp= #include<iostream> using namespace std; int main() { int N; cin >> N; if(N >= 100) { cout << "Perfect" << endl; } else if(N >= 60) { cout << "Ok" << endl; } else { cout << "Oh..." << endl; } } ``` :::
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up