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

      <tbody id="allbo"></tbody>
      首頁 > 編程 > C++ > 正文

      C++條件操作符(表達式)—問號(?)

      2020-05-23 14:28:26
      字體:
      來源:轉載
      供稿:網友
      隨著程序越來與復雜,會在代碼中出現越來越多的if語句。有些時候我們只要電腦做一個簡單的判斷,就要用占據多行的if語句,實在有點嚇人,使得程序的可讀性受到一定的影響。比如程序4.2.1中,使用標準格式寫一段將較大數放入max中的語句占據了八行。即使是較簡便的寫法,也至少要占據兩行。那么,C++是否還提供了更為簡便的書寫方法呢?

      答案是肯定的,我們可以用一個問號來判斷一個條件,具體的語法格式為:
      (條件表達式)?(條件為真時的表達式):(條件為假時的表達式)

      “……?……:……”稱為條件操作符,它的運算優先級比邏輯或還低,是目前為止優先級最低的操作符。含有條件操作符的表達稱為條件表達式。既然是表達式,它就應該有一個計算結果。而這個結果就是已經經過判斷而得到的結果。我們可以定義一個變量來存放這個結果,也可以用輸出語句把這個結果輸出。但是,如果得到結果以后,既沒有把它存放起來,也沒把它輸出來,那么做這個條件運算就失去意義了。

      下面我們用條件操作符來改編一下程序4.2.1,看看條件表達式是如何使用的:
      #include "iostream.h"
      int main()
      {
         int a,b,max;
         cout <<"請輸入兩個數:"<<endl;
         cin >>a >>b;
         max=(a>=b)?a:b;//如果a大于等于b,則把a的值放到max中,否則把b的值放到max中
         cout <<"較大的數是" <<max <<endl;
         return 0;
      }
      運行的結果就如同程序4.2.1,沒有任何區別。而我們也達到了縮短代碼的目的,增強了程序的可讀性。 
      發表評論 共有條評論
      用戶名: 密碼:
      驗證碼: 匿名發表
      色五月色开心婷婷色丁香