C++入門教程(8):if 語句

小古銀的官方網站(完整教程):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 ifelse。當沒有遇到true時,就執行else的代碼。其中,若是不須要else ifelse的時候,它們均可以省略不寫。網站

基礎示例

舉個栗子:小於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)而直接寫elseci

固然,若是隻須要及格不及格,能夠這樣寫: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;
}

初學者若是以爲一些判斷條件很複雜的話,能夠嘗試先畫出流程圖,而後再將流程圖寫成代碼。

鞏固練習

  1. 輸入三個數,求最大值。
  2. 求一元二次方程的解。對於一元二次方程公式a*x^2+bx+c=0,要求用戶輸入abc的值,而後程序輸出方程中x的值。
  3. 輸入三個double類型的值,判斷這三個值是否能夠表示一個三角形的三條邊(即任意兩邊之和大於第三邊的條件成立)。
相關文章
相關標籤/搜索