麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > C++ > 正文

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

2020-05-23 14:28:26
字體:
供稿:網(wǎng)友
平時(shí)我們?cè)谡f“如果……,那么……”的時(shí)候,還經(jīng)常和“否則……”連用。比如:如果明天天氣好,就開運(yùn)動(dòng)會(huì),否則就不開。按照我們上一節(jié)學(xué)的內(nèi)容,我們只能這樣說:如果明天天氣好,就開運(yùn)動(dòng)會(huì);如果明天天氣不好,就不開運(yùn)動(dòng)會(huì)。雖然這樣也能夠把意思表達(dá)清楚,但是語句顯得冗長,要是條件再多一些則更是雜亂。可見,在程序設(shè)計(jì)中,如果沒有“否則……”語句將會(huì)多么麻煩。

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


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

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

第一次運(yùn)行結(jié)果:
請(qǐng)輸入兩個(gè)數(shù):
1 5
較大的數(shù)是5
第二次運(yùn)行結(jié)果:
請(qǐng)輸入兩個(gè)數(shù):
5 8
較大的數(shù)是8
通過以上程序,我們基本上可以了解if……else……的使用了。

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

我們知道了,if語句的主要功能是給程序提供一個(gè)分支。然而,有時(shí)候程序中僅僅多一個(gè)分支是遠(yuǎn)遠(yuǎn)不夠的,甚至有時(shí)候程序的分支會(huì)很復(fù)雜,要在一個(gè)分支里面再有一個(gè)分支。根據(jù)if語句的流程圖,我們不難想象如果要在分支里再形成分支,就應(yīng)該在if語句中使用if語句。這類在一種語句的內(nèi)部多次使用這種語句的現(xiàn)象叫做嵌套。

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

以上這段程序能夠基本實(shí)現(xiàn)表達(dá)式的識(shí)別。它所使用的if嵌套能夠分辨出到底要進(jìn)行什么運(yùn)算,并且把引起錯(cuò)誤的操作符或數(shù)據(jù)分支出來。

如何判斷哪個(gè)if...else...是一對(duì)

當(dāng)一個(gè)程序中出現(xiàn)多個(gè)if……else……的時(shí)候,也可能會(huì)引來一些麻煩的事情。因?yàn)槊總€(gè)if都具有和else配對(duì)的功能。那么我們?cè)陂喿x一段程序的時(shí)候,怎么才能夠知道哪個(gè)if和哪個(gè)else是在一起的呢?

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

在有些高級(jí)語言中,是沒有縮進(jìn)的。縮進(jìn)不僅是為了美觀,也是為了讓程序的層次更加分明。我們通過縮進(jìn)就能很容易看出一段代碼應(yīng)該從哪里開始,運(yùn)行到哪里結(jié)束。如果沒有縮進(jìn)的話,就要去找保留字,這給大型程序開發(fā)帶來了麻煩。所以保持縮進(jìn)是一種好習(xí)慣。  
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 婷婷中文字幕一区二区三区 | 91久久久久 | 最新91在线视频 | 看免费的毛片 | 国产无遮挡一级毛片 | 人禽l交免费视频观看 视频 | 欧美高清第一页 | 黄色羞羞 | 国产噜噜噜噜噜久久久久久久久 | 黑人一区 | 一本色道久久99精品综合蜜臀 | 色999中文字幕 | 亚洲xxx在线观看 | 国产伦精品一区二区三区 | 日本不卡一区二区在线观看 | 亚洲最新黄色网址 | 欧美一极视频 | 韩国草草影院 | 亚洲无av | 激情久久一区二区 | 香蕉久草视频 | 欧美一级片一区 | 毛片a区 | 密室逃脱第一季免费观看完整在线 | 欧美日本国产精品 | 国产成人精品网站 | 看免费的毛片 | 国产青草视频在线观看 | 成人羞羞视频在线观看免费 | 久久国产一| 中文字幕h | 久久久久久久久日本理论电影 | 久久精品79国产精品 | 久久国产精品区 | 亚洲视频精选 | 中文字幕在线成人 | 亚洲午夜久久久精品一区二区三区 | 久草导航 | 久国产精品视频 | 九色com| 羞羞视频免费观看入口 |