1. <th id="allbo"><track id="allbo"></track></th>

      <tbody id="allbo"></tbody>
      首頁 > 編程 > 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進不僅是為了美觀,也是為了讓程序的層次更加分明。我們通過縮進就能很容易看出一段代碼應該從哪里開始,運行到哪里結束。如果沒有縮進的話,就要去找保留字,這給大型程序開發帶來了麻煩。所以保持縮進是一種好習慣。  
      發表評論 共有條評論
      用戶名: 密碼:
      驗證碼: 匿名發表
      色五月色开心婷婷色丁香