設定執行條件(if和else的用法)
本文章節包含
1.if 假如的用法
2.else 否則的用法
3.使用 else if 連接多個條件的用法
4.結語
以下正文:
在之前的範例中,我們知道使用者可以輸入數字,
不過有的時候我們希望可以自動判斷數字的大小,那要怎麼辦呢?
1.if 假如的用法
我們可以用 if 來達成,if 的意思是"假如"、"如果"
比如說我們輸入一個數字,希望他小於1的時候提醒我們,可以用下面的寫法:
std::cout << "你希望從1加到幾?";
std::cin >> n; // 讀取使用者輸入的數字
if(n < 1){
std::cout << "請輸入大於0的整數";
}
上面的if,就是告訴程式,我要給你一個條件,這個條件在小括號裡面,你幫我判斷這個條件正不正確,假如正確的話,就執行大括號範圍裡面的程式
所以以上面這個程式為例,因為我們if關鍵字後面的小括號裡面,寫的是 n < 1 ,
所以當我們輸入1、2、3等大於或等於1的數字,都不會出現請輸入大於0的整數。
而當我們輸入0、-1、-2等小於1的數字的時候,就會出現請輸入大於0的整數。
那假如我們想要加到上一個範例中,讓他小於1會出現提示,否則就繼續執行原來的1加到N程式,我們該怎麼做呢?
2.else 否則的用法
這時候我們就需要另一個功能, else , 他的意思是"否則"
用法如下:
std::cout << "你希望從1加到幾?";
std::cin >> n; // 讀取使用者輸入的數字
if(n < 1){
std::cout << "請輸入大於0的整數";
}else{
// 放不符合 if 條件的時後,需要執行的程式
// 第二行
// 第三行
}
上面這一段假如輸入是 2 ,因為不是小於 1 ,所以會跑else後面大括號裡那幾行程式。
所以當不符合 if 後面小括號裡面的條件時,
else 後面大括號裡的程式就會被執行到。
套用到上一個範例就是如下:
std::cout << "你希望從1加到幾?";
std::cin >> n; // 讀取使用者輸入的數字
if(n < 1){
std::cout << "請輸入大於0的整數";
}else{
std::cout << "從1加到" << n << "的結果是:\n";
for(int i = 0;i <= n;i++){
sum = sum + i;
}
std::cout << sum;
}
3.使用 else if 連接多個條件的用法
假如我們今天需要多個判斷的時候要怎麼辦呢?
我們可以用 else if 連接
比如說我們今天是一個成績輸入系統,我們輸入分數後,他可以給出甲乙丙丁的分級
可以像下面這樣做:
if(score >= 90){
std::cout << "甲\n";
}else if(score >= 80){
std::cout << "乙\n";
}else if(score >= 70){
std::cout << "丙\n";
}else if(score >= 60){
std::cout << "丁\n";
}else{
std::cout << "戊\n";
}
輸入數字的例子
我們今天輸入95分,
執行到下面這行的時候,
if(score >= 90)
會先檢查第一個 if 的條件,
發現 95 符合大於或等於90分這個條件,就開始執行下面括號的內容
{
std::cout << "甲\n";
}
於是程式執行大括號內的"顯示甲在螢幕上",
而 else 後面的部分就不會執行了。
我們今天輸入85分,
執行到下面這行的時候,
if(score >= 90)
會先檢查第一個 if 的條件,
發現不符合大於或等於90分這個條件,
所以繼續往下一個 else if 的條件看,
下一個條件是
else if(score >= 80)
然後程式發現85符合大於或等於80分這個條件,就開始執行下面括號的內容
{
std::cout << "乙\n";
}
於是程式執行大括號內的"顯示乙在螢幕上",
而 else 後面的部分就不會執行了。
簡單來講就是,第一個符合的會執行,其他的他不會管。
另外可能大家有時候會看到這個寫法:
if(score >= 90)
std::cout << "甲\n";
else if(score >= 80){
std::cout << "乙\n";
else if(score >= 70){
std::cout << "丙\n";
else if(score >= 60){
std::cout << "丁\n";
else
std::cout << "戊\n";
這樣還是可以作用,不過不加括號,他就只會跑下一行而已,萬一今天大括號裡面要做多件事情,容易出錯。
4.結語
在本章中我們學到了:
1.用 if 表示符合條件要做的事情
2.用 else 表示不符合條件要做的事情
3.用 else if 連接多個條件
另外,
建議 if 、 else 、 else if 後面都要加大括號,
一方面可以讓自己看清楚程式的執行範圍,
一方面也可以增加程式的良好結構。