日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

MATLAB三元条件运算符,C++ ?:条件运算符(三目运算符)用法详解

發布時間:2023/12/16 c/c++ 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MATLAB三元条件运算符,C++ ?:条件运算符(三目运算符)用法详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

條件運算符強大而獨特,它提供了一種表達簡單 if-else 語句的簡寫方法。該運算符由問號(?)和冒號(:)組成,其格式如下:

表達式 ? 表達式 : 表達式 ;

以下是使用條件運算符的語句示例:

x < 0 ? y = 10 : z = 20;

這個語句被稱為條件表達式,它由 3 個子表達式組成,使用問號 ? 和冒號 : 分隔。這 3 個表達式分別是:x<0,y = 10 和 z = 20。

上面的條件表達式與以下 if-else 語句執行相同的操作:

if (x < 0)

y = 10;

else

z = 20;

問號前面的條件表達式的部分是要測試的條件。這就像 if 語句的括號中的表達式。如果條件是真的,則執行 ? 和 : 之間的語句;否則,執行 : 之后的部分。如果認為有幫助,可以在子表達式周圍放置圓括號,如下所示:

(x < 0) ? (y = 10) : (Z = 20);

圖 1 說明了 3 個子表達式所扮演的角色。

圖? 1 條件運算符中 3 個子表達式的作用

注意,由于需要 3 個操作數,所以條件運算符是三元運算符。

使用條件表達式的值

請記住,在 C++ 中,所有表達式都有一個值,包括條件表達式。如果第一個子表達式為真,則條件表達式的值為第二個子表達式的值,否則它就是第三個子表達式的值。以下是使用條件表達式值的賦值語句示例:

a = (x > 100) ? 0 : 1;

分配給變量 a 的值將為 0 或 1,具體是哪個則取決于 x 是否大于 100。該語句具有與以下 if-else 語句相同的邏輯:

if (x > 100)

a = 0 ;

else

a = 1;

下面的程序可用于幫助一個咨詢師計算她的收費。她的收費標準是每小時 50.00 美元,但她的最低收費是 5 個小時。條件運算符用于確保小時數不低于 5 的語句。

#include

#include

using namespace std;

int main()

{

const double PAY_RATE = 50.0; // Hourly pay rate

const int MIN_HOURS = 5; // Minimum billable hours

double hours, // Hours worked

charges; // Total charges

//Get the hours worked

cout << "How many hours were worked? ";

cin >> hours;

// Determine how many hours to charge for

hours = hours < MIN_HOURS ? MIN_HOURS : hours;

// Calculate and display the charges

charges = PAY_RATE * hours;

cout << fixed << showpoint << setprecision(2)<< "The charges are $" << charges << endl;

return 0;

}

程序輸出結果:

How many hours were worked? 10

The charges are $500.00

看一下程序在中使用條件表達式的語句:

hours = hours < MIN_HOURS ? MIN_HOURS : hours;

如果 hours 變量的值小于 MIN_HOURS,則它會將 MIN_HOURS 存儲到 hours 中。否則它就會將已經具有的值賦給 hours。這樣可以確保使用不少于 MIN_HOURS 的時間數來計算咨詢費用。

可以看到,條件運算符使程序員能夠將決策權集成到簡潔的代碼行中。只要多激發一點想象力,它就可以應用于許多其他編程問題。例如,來看以下語句:

cout << "Your grade is: " << (score < 60 ? "Fail." : "Pass.");

如果要使用 if-else 語句,則該語句需要改寫為以下形式:

if (score < 60)

cout << "Your grade is: Fail.";

else

cout << "Your grade is: Pass.";

注意,由于 << 運算符的優先級高于條件運算符(?:),所以需要使用圓括號包圍條件表達式。如果沒有括號,則只有表達式 score <60 的值被發送到 cout。

總結

以上是生活随笔為你收集整理的MATLAB三元条件运算符,C++ ?:条件运算符(三目运算符)用法详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。