• <menu id="aeakq"></menu>
  • <menu id="aeakq"><strong id="aeakq"></strong></menu>
    首頁 > 編程 > C++ > 正文

    C++教程:C++ if else語句講解

    2020-05-23 14:28:26
    字體:
    來源:轉載
    供稿:網友
    平時我們在說“如果……,那么……”的時候,還經常和“否則……”連用。比如:如果明天天氣好,就開運動會,否則就不開。按照我們上一節學的內容,我們只能這樣說:如果明天天氣好,就開運動會;如果明天天氣不好,就不開運動會。雖然這樣也能夠把意思表達清楚,但是語句顯得冗長,要是條件再多一些則更是雜亂??梢?,在程序設計中,如果沒有“否則……”語句將會多么麻煩。

    和平時說話的習慣一樣,“否則”應該與“如果”連用,其語法格式為:
    C++教程:C++ if else語句講解if (條件)
       語句塊1;
    else
       語句塊2;


    運行到該語句時,當條件滿足,則運行語句塊1中的語句;當條件不滿足,則運行語句塊2中的語句。我們也可以用流程圖(圖4.2.1)來直觀地表示if……else……語句。和if語句一樣,else語句的結尾是沒有分號的。

    我們來看一段程序:(程序4.2.1)
    #include "iostream.h"
    int main() 
    {
       int a,b,max;
       cout <<"請輸入兩個數:"<<endl;
       cin >>a >>b;
       if (a>=b)//如果a大于等于b,則把a的值放到max中
       {
          max=a;
       }
       else//否則把b的值放到max中
       {
          max=b;
       }
       cout <<"較大的數是" <<max <<endl;
       return 0;
    }

    第一次運行結果:
    請輸入兩個數:
    1 5
    較大的數是5
    第二次運行結果:
    請輸入兩個數:
    5 8
    較大的數是8
    通過以上程序,我們基本上可以了解if……else……的使用了。

    if...else...嵌套使用

    我們知道了,if語句的主要功能是給程序提供一個分支。然而,有時候程序中僅僅多一個分支是遠遠不夠的,甚至有時候程序的分支會很復雜,要在一個分支里面再有一個分支。根據if語句的流程圖,我們不難想象如果要在分支里再形成分支,就應該在if語句中使用if語句。這類在一種語句的內部多次使用這種語句的現象叫做嵌套。

    我們來看一段程序,熟悉一下if的嵌套。(程序4.2.2)
    #include "iostream.h"
    int main()
    {
       float a,b;
       char oper;//創建一個字符型變量用于存放操作符
       cout <<"請輸入一個表達式(eg.1+2):" <<endl;
       cin >>a >>oper >>b;//輸入表達式,操作符處于中間
       if (oper=='+')//如果操作符是加號
       {
          cout <<a <<oper <<b <<'=' <<a+b <<endl;//輸出兩數的和
       }
       else//否則
       {
          if (oper=='-')//如果操作符是減號
          {
             cout <<a <<oper <<b <<'=' <<a-b <<endl;//輸出兩數的差
          }
          else//否則
          {
             if (oper=='*')//如果操作符是乘號
             {
                cout <<a <<oper <<b <<'=' <<a*b <<endl;//輸出兩數的積
             }
             else//否則
             {
                if (oper=='/' && b!=0)//如果操作符為除號且除數不為零
                {
                   cout <<a <<oper <<b <<'=' <<a/b <<endl;//輸入兩數的商
                }
                else//否則
                {
                   cout <<"出錯啦!" <<endl;//操作符不正確或除數為零,輸出錯誤信息
                }
             }
          }
       }
       return 0;
    }
    第一次運行結果:
    請輸入一個表達式(eg.1+2):
    1.5+3
    1.5+3=4.5
    第二次運行結果:
    請輸入一個表達式(eg.1+2):
    8/0
    出錯啦!
    第三次運行結果:
    請輸入一個表達式(eg.1+2):
    5p3
    出錯啦!

    以上這段程序能夠基本實現表達式的識別。它所使用的if嵌套能夠分辨出到底要進行什么運算,并且把引起錯誤的操作符或數據分支出來。

    如何判斷哪個if...else...是一對

    當一個程序中出現多個if……else……的時候,也可能會引來一些麻煩的事情。因為每個if都具有和else配對的功能。那么我們在閱讀一段程序的時候,怎么才能夠知道哪個if和哪個else是在一起的呢?

    如果你嘗試過在VC++中輸入程序4.2.2,那么你一定會發現,每輸入一次{},括號內部的語句就會自動向右側縮進一段。而if……else……正是根據括號和縮進來判斷它們是不是匹配的。具體的規則是,else向上尋找最近的一個和它處于相同縮進位置的if配對,我們把這種規則理解為“門當戶對”。很顯然,如果你沒有改變過自動產生的縮進位置,else不會去找一個比它更右邊或者更左邊的if的。
    C++教程:C++ if else語句講解

    在有些高級語言中,是沒有縮進的??s進不僅是為了美觀,也是為了讓程序的層次更加分明。我們通過縮進就能很容易看出一段代碼應該從哪里開始,運行到哪里結束。如果沒有縮進的話,就要去找保留字,這給大型程序開發帶來了麻煩。所以保持縮進是一種好習慣。  
    發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    国产成a人亚洲精v品无码樱花|无码人妻久久一区二区三区|国产精品视频全国免费观看|成人国产亚洲日本欧美
  • <menu id="aeakq"></menu>
  • <menu id="aeakq"><strong id="aeakq"></strong></menu>