條件判斷

10^11(C.Y)

目錄

  • 條件判斷是什麼
  • if else 運算
  • 三元運算子

ㄟ不對

我要先自我介紹一下

自我介紹

姓名:陳芊邑(10^11)

職位:社長x教學

用戶名:C.Y/愛錢成癡,嗜賭成癮

綽號:學妹叫我千億姊姊我會很開心

興趣:休眠、寫文、跟數學嗨、看小說、音樂、心理學、桌遊

專長:壓線不遲到

附註:以後教學簡報可能會丟一堆梗圖,見諒一下

然後我很喜歡跟其他幹部們偷抱抱,但我是異性戀

這是我DC頭像

對這是情頭

定義

程式在符合指定的條件下,

執行特定的程式碼,

程式會依據每次執行的條件狀況,

執行不同的程式碼區塊

字太多了啦看不懂不想看

模板

超好用的萬用模板

if(A條件){
  達成A條件時執行;
}
else if(B條件){
  未達成A條件、達成B條件時執行;
}
else{
  未達成B條件和A條件時執行;
}

舉例

在某一片海洋上,正漂浮著一座名為「哎咕島」的島嶼,島上居民唯一的娛樂就是傾聽歌姬「世界末日」的歌聲。

但自從歌姬失蹤事件發生後,島上便開始出現各種憤怒、懷疑與不安等負面情緒。

請幫幫島上居民找出失蹤的舔甜歌姬吧!

舉例

嫌疑犯有誰呢?

1號嫌疑人炸彈

2號嫌疑人八兵衛

3號嫌疑人魔法師

4號嫌疑人

吉他盒

5號嫌疑人

不速之客

舉例

放心我不會劇透

舉例

現在有一個神奇的水晶球,可以回答你任何問題

但它只會回答這個人是否是犯人,不會直接說出答案

可以這樣問:

如果1號嫌疑人(炸彈)是犯人,就說「1是」

否則如果2號嫌疑人(八兵衛)是犯人,就說「2是」

以此類推...

否則如果5號嫌疑人(不速之客)是犯人,就說「5是」

否則就上述都不成立,嫌疑人都不是犯人

if

else if

else if

else

舉例

#include <iostream>
using namespace std;
int main()
{
    if("1號嫌疑人(炸彈)是犯人"){
        cout<<"1是"
    }
    else if("2號嫌疑人(炸彈)是犯人"){
        cout<<"2是"
    }
    else if("3號嫌疑人(炸彈)是犯人"){
        cout<<"3是"
    }
    else if("4號嫌疑人(炸彈)是犯人"){
        cout<<"4是"
    }
    else if("5號嫌疑人(炸彈)是犯人"){
        cout<<"5是"
    }
    else{
        cout<<"都不是"
    }
}

這個程式不能跑

只是舉例使用

if else 運算

if else 運算

先備知識的運算符號:

符號 意義
>= 大於等於
<= 小於等於
> 大於
< 小於
== 等於
!= 不等於

if else 運算

先備知識的運算符號:

符號 意義
&& 且AND
|| 或OR
^ 異或XOR
! 否NOT

if else 運算

先備知識的運算符號:

      &&         1         0
        1   
        0

1是true,0是false

AND 運算的兩邊都是true,答案才是true

0

0

0

1

if else 運算

先備知識的運算符號:

      ||        1         0
       1
       0

1是true,0是false

OR運算只要一邊是true,答案就是true

1

1

0

1

if else 運算

先備知識的運算符號:

       ^        1         0
       1
       0

1是true,0是false

XOR運算需要兩邊不同布林值,答案才是true

0

1

0

1

if else 運算

先備知識的運算符號:

             !        
             1
             0

1是true,0是false

NOT運算結果會與原本布林值相反

1

0

題目

亞洲成績判斷標準:

輸入分數,根據下列表格輸出對應評語

成績 評語
95-100 A++
90-94 Average
80-89 stooBid
79以下 Failure

題目

這題目我亂出的

不要當真

題目

#include <iostream>
using namespace std;
int main()
{
    int score;
    cin>>score;
    if(score>=95) cout<<"A++"<<endl;
    else if(score>=90) cout<<"Average"<<endl;
    else if(score>=80) cout<<"stooBid"<<endl;
    else cout<<"Failure"<<endl;
    
}

如果今天小明拿了80分,

哪行程式會回傳true?

第9行

*注意,這邊沒有大括號是因為程式只有一行

  但多行程式需執行時,就要有大括號

題目

#include <iostream>
using namespace std;
int main()
{
    int score;
    cin>>score;
    if(score>=95) cout<<"A++"<<endl;
    if(score>=90&&score<95) cout<<"Average"<<endl;
    if(score>=80&&score<90) cout<<"stooBid"<<endl;
    if(score<80)cout<<"Failure"<<endl;
    
}

只使用if

不用else if會長這樣

看起來有點麻煩

對吧?對吧?

題目

#include <iostream>
using namespace std;
int main()
{
    if(0=='0') cout<<"true";
    else cout<<"false";
    
}

會輸出什麼?

false

*字元與數字不同

兩光法師的占卜規則很簡單,輸入一個日期,然後依照下面的公式:

M=月,D=日,S=(M*2+D)%3

再依照 S 的值

從 0 到 2 分別給與普通、吉、大吉三種不同的運勢

範例輸入 範例輸出
1 1 普通
1 2
#include <iostream>
using namespace std;
int main()
{
    int M,D,S;
    cin>>M>>D;
    S=(M*2+D)%3;
    if(S==0){
        cout<<"普通\n";
    }
    else if(S==1){
        cout<<"吉\n";
    }
    else{
        cout<<"大吉\n";
    }
    return 0;
}
#include <iostream>
using namespace std;
int main()
{
    int M,D,S;
    cin>>M>>D;
    S=(M*2+D)%3;
    if(S==0){
        cout<<"普通\n";
    }
    if(S==1){
        cout<<"吉\n";
    }
    if(S==2){
        cout<<"大吉\n";
    }
    return 0;
}

else if

 if

補充

三元運算子

三元運算子

 情況a? 條件b : 條件c

當 a 為true則執行 b,

當 a 為false則執行 c

長相有三個部分,所以叫做三元

三元運算子

不是這個三原Japan

這個梗應該不會太老叭

五十嵐的珍珠奶茶~

(我沒有業配的意思

三元運算子

#include <iostream>
using namespace std;
int main()
{
    int score;
    cin>>score;
    string ans;
    ans=score>=95?"A++":"Failure";
    cout<<ans;

}

再寫一次成績判斷程式

三元運算子

#include <iostream>
using namespace std;
int main()
{
    int a=5;
	int b=10;
	int c=15;

	int ans=(a>0)?(b>10?b:c):20;
	cout<<ans;
}

這東西會輸出什麼?

15

三元運算子

這個神祕的鬼畫符看起來超級非人類

但很省時間就是了,懶得打字就可以這樣寫XD

Kahoot!

條件判斷

By 愛錢成癡,嗜賭成癮