條件判斷
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
*字元與數字不同
a003.兩光法師占卜術
兩光法師的占卜規則很簡單,輸入一個日期,然後依照下面的公式:
M=月,D=日,S=(M*2+D)%3
再依照 S 的值
從 0 到 2 分別給與普通、吉、大吉三種不同的運勢

| 範例輸入 | 範例輸出 |
|---|---|
| 1 1 | 普通 |
| 1 2 | 吉 |
a003.兩光法師占卜術
#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 愛錢成癡,嗜賭成癮
條件判斷
- 253