<style> html, body, .ui-content { background-color: #333; color: #ddd; } body > .ui-infobar { display: none; } .ui-view-area > .ui-infobar { display: block; } .markdown-body h1{ color: #9CCEF2; } .markdown-body h2, .markdown-body h3{ color: #B1D6CA; } .markdown-body h4, .markdown-body h5, .markdown-body h6 { color: #ddd; } .markdown-body h1, .markdown-body h2 { border-bottom-color: #ffffff69; } .markdown-body h1 .octicon-link, .markdown-body h2 .octicon-link, .markdown-body h3 .octicon-link, .markdown-body h4 .octicon-link, .markdown-body h5 .octicon-link, .markdown-body h6 .octicon-link { color: #fff; } .markdown-body img { background-color: transparent; } .ui-toc-dropdown .nav>.active:focus>a, .ui-toc-dropdown .nav>.active:hover>a, .ui-toc-dropdown .nav>.active>a { color: white; border-left: 2px solid white; } .expand-toggle:hover, .expand-toggle:focus, .back-to-top:hover, .back-to-top:focus, .go-to-bottom:hover, .go-to-bottom:focus { color: white; } .ui-toc-dropdown { background-color: #333; } .ui-toc-label.btn { background-color: #191919; color: white; } .ui-toc-dropdown .nav>li>a:focus, .ui-toc-dropdown .nav>li>a:hover { color: white; border-left: 1px solid white; } .markdown-body blockquote { color: #bcbcbc; } .markdown-body table tr { background-color: #5f5f5f; } .markdown-body table tr:nth-child(2n) { background-color: #4f4f4f; } .markdown-body code, .markdown-body tt { color: #eee; background-color: rgba(230, 230, 230, 0.36); } a, .open-files-container li.selected a { color: #5EB7E0; } </style> ###### tags: `tgirc早修book` # if else 一條道路上可能會出現分岔,根據條件不同要選擇該往哪邊走。 這種情況下,就會需要使用 if else 這個語法 ## 比較運算子 等於 `==` 大於 `>` 小於 `<` 大於等於 `>=` 小於等於 `<=` 不等於 `!=` ## 基本架構 ```cpp= #include <iostream> using namespace std; int main(){ if(條件句){ 指令; } else{ 指令; } return 0; } ``` if 後方的括號中要放入一段條件句,像是 `a>10` ,達成這個條件後要執行的事要放在大括號中,而未滿足這個條件就會執行 else 中的指令 但如果只有滿足這個條件的需要做事,可以不用加上 else ## else if 當題目具有多個條件時,只有一個 if 來判斷是不夠的,因此就會用到 <font color="F5F6B6">**else if**</font> ```cpp= #include <iostream> using namespace std; int main(){ if(條件句){ 指令; } else if(條件句){ 指令; } else{ 指令; } return 0; } ``` 只要 if 在第一個,要在後方插入多少個 else if 都沒問題 :::info 若只需執行一條程式碼,後方的 `{}` 可不加,但剛開始練習時建議養成加上 `{}` 的好習慣 `if` 連接 `else if` ,以及 `else if` 連接 `else` 中,都不可在中間加上程式碼,它們都要緊接在後 ::: ## 邏輯運算子 邏輯運算子可用於串接多個條件式 且 `&&` -> 兩條件同時成立 或 `||` -> 兩條件其中之一成立 否定 `!` -> 反轉(`!true` 為 `false` , `!false` 為 `true`) <font color="F5F6B6">**範例 1**</font> ```cpp= #include <iostream> using namespace std; int main(){ int a=3,b=6; if(a<4 && b%2==0){ cout<<"ouob\n"; } else{ cout<<"onoq\n"; } return 0; } ``` ![](https://i.imgur.com/oSIO1a6.png) ![](https://i.imgur.com/VqDbi4R.png) <font color="F5F6B6">**範例 2**</font> ```cpp= #include <iostream> using namespace std; int main(){ int a,b; cin>>a>>b; if(!(a%b)){ cout<<"a 可以被 b 整除\n"; } else{ cout<<"a 不可以被 b 整除\n"; } return 0; } ``` ![](https://i.imgur.com/R125agS.png) ![](https://i.imgur.com/nc2sI9t.png) 當 a 能被 b 整除時,a%b 會等於 0,而被反轉後 0 會變成 1 表示正確(true),因此會執行 if 中的指令 <font color="F5F6B6">**範例 3**</font> ```cpp= #include <iostream> using namepsace std; int main(){ int num,num2; cin>>num>>num2; if(num>3 && num<20 || num2%2!=0){ cout<<"ouob\n"; } else if(num2 >100){ cout<<"num2 is so bigggggg\n"; } return 0; } ``` ![](https://i.imgur.com/363xY5R.png) ![](https://i.imgur.com/72zmtP1.png) 邏輯運算子可以一次使用多個,會先執行 `&&` 再執行 `||`,使用 `()` 就能先執行 `()` 中的指令 除了 if else 之外,三元運算子也可以做到條件判斷 :::info 條件式 ? 符合條件 : 不符合條件 ::: <font color="F5F6B6">**範例 1**</font> ```cpp= #include <iostream> using namespace std; int main(){ int a=3; cout<<(a%2 == 0 ? "a 是偶數":"a 是奇數")<<"\n"; return 0; } ``` ![](https://i.imgur.com/DXz85aP.png)