條件分支
無論是什么編程語言着绊,都會有條件判斷,選擇分支熟尉,本講归露,將介紹條件判斷和選擇分支的使用。
1斤儿、if() else()型和if()
#include<iostream>
using namespace std;
const float pi = 3.14;
int main(){
int age = 18;
if (age < 18){
cout << "對不起剧包,您未成年!" << endl;
}
else{
cout << "您已經(jīng)是成年人往果!" << endl;
}
return 0;
}
當age = 18時疆液,不滿足if()條件,選擇else分支
當age=18時陕贮,滿足條件堕油,選擇if()分支
if()語句是if else的特例,這里省略了else肮之,記住其實是有個else分支的掉缺,只是省略沒寫,因為這個分支什么都沒做局骤。
2攀圈、if() else if() else if() ... else型
#include<iostream>
using namespace std;
const float pi = 3.14;
int main(){
int goal = 60;
cout << "goal = " << goal << endl;
if (goal <60 ){
cout << "對不起暴凑,不及格峦甩!" << endl;
}
else if (goal<80){
cout << "你獲得良!" << endl;
}
else{
cout << "很棒现喳,你得了優(yōu)秀凯傲!" << endl;
}
return 0;
}
說明:if else類型的選擇語句是可以嵌套的,但是嵌套的時候要注意else的匹配問題嗦篱,為了便于閱讀冰单,盡量每個關(guān)鍵字后面都帶上括號{},沒有括號時灸促,else與最近符if 匹配=肭贰!浴栽!
舉例說明:
#include<iostream>
using namespace std;
const float pi = 3.14;
int main(){
int day;
cout << "please input a number between 1 and 7: ";
cin >> day;
if (day < 6)
if (day == 1)
cout << "今天周一荒叼,是工作日" << endl;
else
cout << "今天是工作日,但不是周一典鸡,else與最近的if匹配" << endl;
return 0;
}
3被廓、switch()開關(guān)語句
當有多個類似的選擇分支時,通常使用switch語句進行選擇萝玷,使得代碼清晰明了嫁乘,便于閱讀和理解昆婿。
例如輸入數(shù)字1-7,判斷對應(yīng)的星期蜓斧。
#include<iostream>
using namespace std;
const float pi = 3.14;
int main(){
int day;
cout << "please input a number between 1 and 7: ";
cin >> day;
switch (day){
case 1:cout << "今天是星期一仓蛆!" << endl; break;
case 2:cout << "今天是星期二!" << endl; break;
case 3:cout << "今天是星期三法精!" << endl; break;
case 4:cout << "今天是星期四多律!" << endl; break;
case 5:cout << "今天是星期五!" << endl; break;
case 6:cout << "今天是星期六搂蜓!" << endl; break;
default:cout << "今天是星期日狼荞!" << endl;
}
return 0;
}
在switch語句中switch()括號中的值分別與case中的值比較,從相同的一項開始執(zhí)行帮碰,break相味;跳出當前選擇,不然會一直執(zhí)行殉挽,看下面代碼丰涉,比較不同。
#include<iostream>
using namespace std;
const float pi = 3.14;
int main(){
int day;
cout << "please input a number between 1 and 7: ";
cin >> day;
switch (day){
case 1:cout << "今天是星期一斯碌!" << endl; break;
case 2:cout << "今天是星期二一死!" << endl; break;
case 3:cout << "今天是星期三!" << endl;
case 4:cout << "今天是星期四傻唾!" << endl;
case 5:cout << "今天是星期五投慈!" << endl;
case 6:cout << "今天是星期六!" << endl;
default:cout << "今天是星期日冠骄!" << endl;
}
return 0;
}
因為case 3:之后的分支都沒有寫break伪煤;語句所以一直往后執(zhí)行。實際操作中要注意A堇薄1Ъ取!
在switch語句中default常常用來處理錯誤的情況扁誓,也就是未知的情況防泵,但有時情況確定時可以作為其中一個情況分支使用。還有就是default要放在最后蝗敢,以為switch中的值是從上往下依次比較的捷泞,并且default 的執(zhí)行塊中不用再寫break;語句前普。