小古銀的官方網站(完整教程):http://www.xiaoguyin.com/
C++入門教程視頻:https://www.bilibili.com/vide...ios
如下整個是一條if
語句:ide
if (true或者false) { // 執行你想執行的代碼 } else if (true或者false) { // 執行你想執行的代碼 } else if (true或者false) { // 執行你想執行的代碼 } 這裏能夠有一堆else if (true或者false)... else // 當上面都是false的時候 { // 執行你想執行的代碼 }
if
語句從上向下一步步判斷,當遇到第一個true
時就執行緊接着的{}
中的代碼,執行完畢後跳過剩下的else if
和else
。當沒有遇到true
時,就執行else
的代碼。其中,若是不須要else if
和else
的時候,它們均可以省略不寫。網站
舉個栗子:小於60不及格
,等於60及格
,(60, 70]是差
,(70, 80]是中
,(80, 90]是良
,大於90分是優
。spa
流程圖:code
那麼,代碼就能夠這樣寫:視頻
#include <iostream> // std::cout std::endl int main(void) { unsigned int score = 72; if (score > 90) // 是否大於90?false { std::cout << "優" << std::endl; } else if (score > 80) // 是否大於80?false { std::cout << "良" << std::endl; } else if (score > 70) // 是否大於70?true!執行完括號內的代碼後,後面的else都不執行 { std::cout << "中" << std::endl; } else if (score > 60) // true,可是不會被執行 { std::cout << "差" << std::endl; } else if (score == 60) // false { std::cout << "及格" << std::endl; } else // 當以上都是false時執行 { std::cout << "不及格" << std::endl; } return 0; }
輸出結果:教程
中
因爲它判斷到第一個true
就會中止判斷,而後執行對應代碼。上面代碼中,它判斷到score > 70
就會中止判斷,下面就算符合條件也不會執行。因此,不須要像score > 60 && score <= 70
這樣逐個狀況去判斷。不過建議你們都寫一次加深理解。圖片
else
是其餘狀況的意思。而當上面全部判斷條件都是大於,那麼,剩下的狀況固然只有score < 60
。因此,不須要寫明else if (score < 60)
而直接寫else
。ci
固然,若是隻須要及格
和不及格
,能夠這樣寫:get
#include <iostream> // std::cin std::cout std::endl int main(void) { unsigned int score = 0; std::cin >> score; if (score >= 60) { std::cout << "及格" << std::endl; } else { std::cout << "不及格" << std::endl; } return 0; }
並且,若是隻須要知道及格
,其餘無論,能夠這樣寫:
#include <iostream> // std::cin std::cout std::endl int main(void) { unsigned int score = 0; std::cin >> score; if (score >= 60) { std::cout << "及格" << std::endl; } return 0; }
初學者若是以爲一些判斷條件很複雜的話,能夠嘗試先畫出流程圖,而後再將流程圖寫成代碼。
a*x^2+bx+c=0
,要求用戶輸入a
、b
和c
的值,而後程序輸出方程中x
的值。double
類型的值,判斷這三個值是否能夠表示一個三角形的三條邊(即任意兩邊之和大於第三邊的條件成立)。