1. <th id="osa2k"><track id="osa2k"></track></th>
        <rp id="osa2k"><strike id="osa2k"><u id="osa2k"></u></strike></rp>
        首頁 > 編程 > 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進不僅是為了美觀,也是為了讓程序的層次更加分明。我們通過縮進就能很容易看出一段代碼應該從哪里開始,運行到哪里結束。如果沒有縮進的話,就要去找保留字,這給大型程序開發帶來了麻煩。所以保持縮進是一種好習慣。  
        發表評論 共有條評論
        用戶名: 密碼:
        驗證碼: 匿名發表
        亚洲性爱高潮视频_夜夜爽一区二区三区精品_亚洲国产第一福利一区二区_久久精品亚洲国产av

            1. <th id="osa2k"><track id="osa2k"></track></th>
              <rp id="osa2k"><strike id="osa2k"><u id="osa2k"></u></strike></rp>