C++ 條件判斷
我先舉個栗子
添柴很怕他的英文與數學成績不及格,
因為添柴的朋友跳跳說如果添柴的英文與數學都要補考,
就不能打code一個月,
但如果添柴兩科都及格了,
就可以得到葉葉的同屆愛。
((我以為是跳跳要請www
我們可以這樣想...
如果添柴兩科都及格->葉葉ㄉ同屆愛
如果添柴數學不及格->需要參加數學補考><
如果添柴兩科都不及格->需要參加英文跟數學的補考而且不能 打code一個月QAQ
如果添柴英文不及格->需要參加英文補考><
判斷
輸出
簡單來說
條件判斷就是
如果(符合條件)就{做什麼事}
的句型
接下來就進入語法吧--------->
if判斷式-----單向選擇
語法
if(條件)
{
//符合條件時要做的事
}
if(a) //條件
{
//a成立
b; //執行b
}
簡化剛剛的栗子
如果添柴的英文及格--->不用補考
如果添柴的英文不及格--->要補考
if(及格)
{
不用補考;
}
if(不及格)
{
要補考;
}
完整程式碼
#include <iostream>
using namespace std;
int main()
{
int English_score;
cin>>English_score;
if(English_score>=60)
{
cout<<"不用補考"<<endl;
}
if(English_score<60)
{
cout<<"要補考"<<endl;
}
return 0;
}
回到剛剛不知歡喜還是悲慘的故事...
if(兩科都及格){
cout<"葉葉的同屆愛GET!"<<endl;
}
if(英文不及格){
cout<<"噢no要參加英文補考"<<endl;
}
if(數學不及格){
cout<<"噢no要參加數學補考"<<endl;
}
if(兩科都不及格){
cout<<"噢不我一個月不能打code了嗚嗚嗚嗚嗚好sad"<<endl;
}
完整程式碼
#include <iostream>
using namespace std;
int main()
{
int English_score,Math_score;
cin>>English_score>>Math_score;
if(English_score>=60&&Math_score>=60)
{
cout<<"葉葉的同屆愛GET!"<<endl;
}
if(English_score<60)
{
cout<<"噢no要參加英文補考"<<endl;
}
if(Math_score<60)
{
cout<<"噢no要參加數學補考"<<endl;
}
if(English_score<60&&Math_score<60)
{
cout<<"噢不我一個月不能打code了嗚嗚嗚嗚嗚好sad"<<endl;
}
return 0;
}
噢對了
如果你想要同時滿足兩個條件才執行,可以使用&&(and)
如果你想要滿足兩個條件中的其中一個就執行,
可以使用||(or)
if(a && b)
{
//a,b皆滿足
x;
}
if(c || d)
{
//c,d其中一個或兩個滿足
y;
}
if判斷式-----雙向選擇
語法
if(條件)
{
//符合條件時要做的事
}
else
{
//不符合條件時要做的事
}
if(a)
{
//a成立
b; //執行b
}
else
{
//a不成立
c; //執行c
}
回到是否需要補考的例子
我們可以改成
if(及格)
{
不用補考;
}
else //不及格
{
要補考;
}
完整程式碼
#include <iostream>
using namespace std;
int main()
{
int English_score;
cin>>English_score;
if(English_score>=60)
{
cout<<"不用補考"<<endl;
}
else
{
cout<<"要補考"<<endl;
}
return 0;
}
if判斷式-----多項選擇
使用多項選擇,
就是從程式碼最上面讀下來,
如果條件符合了,
就會執行那個條件對應要做的事,
而後面所有的判斷式將不會執行。
如果都沒有任何一個條件符合,
則執行else裡要做的事,
ㄚ 痾 你說沒有else的話那程式就什麼都不會做囉
語法
if(條件1){ //如果符合
//符合條件時要做的事,不執行接下來的程式碼
} //如果不符合
else if(條件2){ //如果符合
//符合條件時要做的事,不執行接下來的程式碼
} //如果不符合
else if(條件3){ //如果符合
//符合條件時要做的事,不執行接下來的程式碼
}
...
else{ //還是沒符合的
//不符合所有上述條件時要做的事
}
程式碼
if(a){
//a成立,不執行接下來的程式碼
一;
}
else if(b){
//b成立,不執行接下來的程式碼
二;
}
else if(c){
//c成立,不執行接下來的程式碼
三;
}
...
else{
//不符合a,b,c
十;
}
栗子
學期成績在90以上(含),可以拿到優;
學期成績在80-89,可以拿到甲;
學期成績在70-79,可以拿到乙;
學期成績在60-69,可以拿到丙;
學期成績在60以下,則會拿到丁
寫法
if(學期成績>=90){
cout<<"優"<<endl;
}
else if(學期成績>=80){
//進到這裡代表學期成績<90
cout<<"甲"<<endl;
}
else if(學期成績>=70){
//進到這裡代表學期成績<80
cout<<"乙"<<endl;
}
else if(學期成績>=60){
//進到這裡代表學期成績<70
cout<<"丙"<<endl;
}
else{
//進到這裡代表學期成績<60
cout<<"丁"<<endl;
}
完整程式碼
#include <iostream>
using namespace std;
int main()
{
int score;
cin>>score;
if(score>=90){
cout<<"優"<<endl; //不執行後面的判斷式
}
else if(score>=80){ //如果進到這裡代表score<90
cout<<"甲"<<endl; //不執行後面的判斷式
}
else if(score>=70){ //如果進到這裡代表score<80
cout<<"乙"<<endl; //不執行後面的判斷式
}
else if(score>=60){ //如果進到這裡代表score<70
cout<<"丙"<<endl; //不執行後面的判斷式
}
else{ //如果進到這裡代表score<60
cout<<"丁"<<endl;
}
return 0;
}
巢狀if
巢狀if就是
if裡面還有if
if
if
對 就醬
語法
if(條件1)
{
if(條件2)
{
//條件1與條件2皆成立時要做的事
}
}
if(a)
{
if(b)
{
//a,b皆成立
c;
}
}
阿剛剛那個你也4可以這樣寫喇
if(a&&b)
{
//a,b皆成立
c;
}
這是最初的栗子
如果英文及格---->
如果數學及格---->
同屆愛
---->否則---->
數學要補考
否則---->
((太sad了吧還好我都及格
英文要補考
英文數學都要補考而且不能打 code一個月
如果數學及格---->
---->否則---->
程式碼
#include <iostream>
using namespace std;
int main()
{
int English_score,Math_score;
cin>>English_score>>Math_score;
if(English_score>=60)
{
if(Math_score>=60){
cout<<"葉葉的同屆愛GET!"<<endl;
}
else{
cout<<"噢no要參加數學補考"<<endl;
}
}
else
{
if(Math_score>=60)
{
cout<<"噢no要參加英文補考"<<endl;
}
else
{
cout<<"噢不我一個月不能打code了嗚嗚嗚嗚嗚好sad還要參加英文跟數學的補考ㄟ好想自sa"<<endl;
}
}
return 0;
}
END
就到這裡結束,謝謝大家聆聽(ノ´∀ ˋ*)
((東條希賽高
C++條件判斷
By Yeye Leaf
C++條件判斷
- 183