首頁 > 編程 > 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,沒有任何區別。而我們也達到了縮短代碼的目的,增強了程序的可讀性。 
            發表評論 共有條評論
            用戶名: 密碼:
            驗證碼: 匿名發表