條件判斷

if else

— 廖姸惁

目錄

定義

當符合條件時,則執行後面的程式,

若不符合,則繼續判斷下一個條件是否符合。

簡單來說就是:

根據不同的條件執行不同的程式碼區塊

定義

舉例:

考試

及格(>=60分)

不及格(40<=n<60分)

哇你真棒

補考加油

if(及格) cout << 哇你真棒

被死當(<40分)

else cout << 暑假見

else if(不及格) cout << 補考加油

暑假見

定義

架構:

if(條件1){
	程式碼1
}
else if(條件2){
	程式碼2
}
else{
	程式碼n
}

舉例

在漫長英都旅行的某一天,陸光因不擅長判斷天氣的變化,常常穿錯衣服,所以經常感冒,於是他請程小時幫他設計一個程式,是依照當天的天氣來幫他決定衣服的款式。現在,請你幫助程小時一起完成這個程式叭:D

舉例

輸入今日天氣

 

如果是"非常好"

輸出"穿短袖"

否則如果"非常差"

輸出"穿長袖"

以上皆不是的話

輸出"穿短袖加外套"

if

else if

else

舉例

解答

#include <iostream>
using namespace std;
int main(){
    string n;
    cin >> n;
    
    if(n == "非常好"){
        cout << "穿短袖" << endl;
    }
    else if(n == "非常差"){
        cout << "穿長袖" << endl;
    }
    else{
        cout << "穿短袖加外套" << endl;
    }
    
    return 0;
}

運算子

  • 算數運算子
  • 關係運算子
  • 邏輯運算子

在if else 的運算中經常使用

運算子

  • 算數運算子
運算子 意義
% 取餘數
+= 左邊的變數等於左邊加右邊
a++ 後加一
++a 先加一

都是先乘除後加減

若a=1

cout << a++ 

cout << ++a 

a會等於1

a會等於2

運算子

  • 關係運算子
運算子 意義
= = 等於
!= 不等於
> 大於
< 小於
>= 大於等於
<= 小於等於

運算子

  • 邏輯運算子
運算子 意義
&&
||
!

&&

||

條件2

條件1

條件1

條件2

皆成立時執行

其中一個成立時執行

#include <iostream>
using namespace std;
int main() {
    bool isRainy = false;

    if(!isRainy){
        cout << "今天是晴天";
    }

    return 0;
}

isRainy = false

!isRainy = true

優先順序:! > && > ||

舉例

在一個與往常無別的放學路上,小孤獨偶然發現了一家正在舉行年終拍賣會的超市,想起媽媽千叮嚀萬交代一定要買的晚餐食材後,她毫不猶豫地轉身,沒入了看不見盡頭的人潮。

以上皆為廢話 題目在下一頁

啊 人好多qwq

舉例

輸入商品價格

 

如果滿1000元

商品打8折

否則如果滿500元

商品打9折

以上皆不是的話

商品打9.5折

if

else if

else

舉例

解答

#include <iostream>
using namespace std;
int main(){
    int a;
    cin >> a;

    if(a >= 1000){
        a *= 0.8;
    }
    else if(a >= 500){
        a *= 0.9;
    }
    else{
        a *= 0.95;
    }
    cout << a << endl;
    
    return 0;
}

補充

三元運算子

定義:

一種簡潔的if else 寫法

int a = 10,b = 20;
int max = (a > b) ? a : b;
cout << "Max value: " << max << endl;

可讀性較差 不用特別去記

題目

某天白柳突發奇想想幫流浪馬戲團全員的智力值做等級分類,於是他收購了你的靈魂想請你幫他寫一個程式,你在金錢的誘惑下答應了他,以下是他們的智力值:

題目

白柳

智力值:89

牧四誠

智力值:74

木柯

智力值:83

劉佳儀

智力值:91

唐二打

智力值:68

木柯和唐二打的智力值原文中找不到所以是我假設的:D

題目

輸入他們的智力值

 

如果>=90

輸出"哇小女巫真聰明"

否則如果>=80

輸出"你也不錯"

否則如果>=70

輸出"再努力一下"

以上皆不是的話

輸出"再加油喔"

if

else if

else if

else

基礎題

挑戰題

如果>=85

輸出"不愧是戰術師"

以上皆不是的話

輸出"記憶力超強"

題目

基礎題答案

#include <iostream>
using namespace std;
int main(){
    int n;
    cin >> n;
    
    if(n>=90){
        cout << "哇你真聰明" << endl;
    }
    else if(n>=80){
        cout << "你也不錯" << endl;
    }
    else if(n>=70){
        cout << "再努力一下" << endl;
    }
    else{
        cout << "再加油喔" << endl;
    }
    
    return 0;
}

題目

挑戰題答案

#include <iostream>
using namespace std;
int main(){
    int n;
    cin >> n;
    
    if(n>=90){
        cout << "哇你真聰明" << endl;
    }
    else if(n>=80){
        cout << "你也不錯" << endl;
        
        if(n>=85) cout << "不愧是戰術師" << endl;
        else cout << "記憶力超強" << endl;
    }
    else if(n>=70){
        cout << "再努力一下" << endl;
    }
    else{
        cout << "再加油喔" << endl;
    }
    
    return 0;
}
Made with Slides.com