tags: tgirc早修book

if else

一條道路上可能會出現分岔,根據條件不同要選擇該往哪邊走。
這種情況下,就會需要使用 if else 這個語法

比較運算子

等於 ==
大於 >
小於 <
大於等於 >=
小於等於 <=
不等於 !=

基本架構

#include <iostream> using namespace std; int main(){ if(條件句){ 指令; } else{ 指令; } return 0; }

if 後方的括號中要放入一段條件句,像是 a>10 ,達成這個條件後要執行的事要放在大括號中,而未滿足這個條件就會執行 else 中的指令

但如果只有滿足這個條件的需要做事,可以不用加上 else

else if

當題目具有多個條件時,只有一個 if 來判斷是不夠的,因此就會用到 else if

#include <iostream> using namespace std; int main(){ if(條件句){ 指令; } else if(條件句){ 指令; } else{ 指令; } return 0; }

只要 if 在第一個,要在後方插入多少個 else if 都沒問題

若只需執行一條程式碼,後方的 {} 可不加,但剛開始練習時建議養成加上 {} 的好習慣
if 連接 else if ,以及 else if 連接 else 中,都不可在中間加上程式碼,它們都要緊接在後

邏輯運算子

邏輯運算子可用於串接多個條件式

&& -> 兩條件同時成立
|| -> 兩條件其中之一成立
否定 ! -> 反轉(!truefalse!falsetrue

範例 1

#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; }

範例 2

#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; }

當 a 能被 b 整除時,a%b 會等於 0,而被反轉後 0 會變成 1 表示正確(true),因此會執行 if 中的指令

範例 3

#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; }

邏輯運算子可以一次使用多個,會先執行 && 再執行 ||,使用 () 就能先執行 () 中的指令

除了 if else 之外,三元運算子也可以做到條件判斷

條件式 ? 符合條件 : 不符合條件

範例 1

#include <iostream> using namespace std; int main(){ int a=3; cout<<(a%2 == 0 ? "a 是偶數":"a 是奇數")<<"\n"; return 0; }