国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > 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進不僅是為了美觀,也是為了讓程序的層次更加分明。我們通過縮進就能很容易看出一段代碼應該從哪里開始,運行到哪里結束。如果沒有縮進的話,就要去找保留字,這給大型程序開發帶來了麻煩。所以保持縮進是一種好習慣。  
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 江城| 项城市| 察隅县| 额济纳旗| 临潭县| 夏邑县| 察哈| 鹤山市| 河曲县| 边坝县| 乌恰县| 台北市| 方山县| 滕州市| 赫章县| 秀山| 闻喜县| 临朐县| 阜新| 綦江县| 平和县| 亚东县| 山东省| 格尔木市| 东平县| 和政县| 江达县| 扎囊县| 剑河县| 祁东县| 遂宁市| 内乡县| 泌阳县| 大名县| 大邑县| 崇左市| 兰坪| 台北县| 都江堰市| 什邡市| 汶上县|