如何單目運算子和雙目運算子以及三目運算子

2021-08-07 23:54:56 字數 1395 閱讀 2976

1、單目運算子: 

單目運算子是指運算所需變數為乙個的運算子,又叫一元運算子,其中有邏輯非運算子:!、按位取反運算子:~、自增自減運算子:++, –等。

邏輯非運算子【!】、按位取反運算子【~】、自增自減運算子【++, –】、負號運算子【-】、型別轉換運算子【(型別)】、指標運算子和取位址運算子【*和&】、長度運算子【sizeof】

2、雙目運算子:

雙目運算子就是對兩個變數進行操作

初等運算子 下標運算子【】、分量運算子的指向結構體成員運算子【->】、結構體成員運算子【.】

算術運算子

乘法運算子【*】、除法運算子【/】、取餘運算子【%】 、加法運算子【+】、減法運算子【-】

關係運算子

等於運算子【==】、不等於運算子【!=】 、關係運算子【< > <= >= 】

邏輯運算子

邏輯與運算子【&&】 、邏輯或運算子【||】、邏輯非運算子【!】

位運算子

按位與運算子【&】、按位異或運算子【^】 、按位或運算子【|】、左移動運算子【<<】、右移動運算子【>>】

賦值運算子

賦值運算子【= += -= *= /= %= >>= <<= &= |= ^=】

逗號運算子

逗號運算子【,】

3、三目運算子:

對三個變數進行操作;

三目運算子對三個變數進行操作,指的是計算機c語言的重要組成部分。條件運算子是唯一有3個運算元的運算子,所以有時又稱為三元運算子。一般來說,三目運算子的結合性是右結合的。

對於條件表示式b ? x : y,先計算條件b,然後進行判斷。如果b的值為true,計算x的值,運算結果為x的值;否則,計算y的值,運算結果為y的值。乙個條件表示式絕不會既計算x,又計算y。條件運算子是右結合的,也就是說,從右向左分組計算。例如,a ? b : c ? d : e將按a ? b : (c ? d : e)執行。[1]

《表示式1> ? 《表示式2> : 《表示式3>; 「?」運算子的含義是:先求表示式1的值,如果為真,則執行表示式2,並返回表示式2的結果;如果表示式1的值為假,則執行表示式3,並返回表示式3的結果。

可以理解為條件 ? 結果1 : 結果2 裡面的?號是格式要求。也可以理解為是不是條件成立,條件成立為結果1否則為結果2。

注意:在c語言中,結果1 和 結果2的型別必須一致。

int a = 1, b = 2, z, c = 3;

z = a > b ? a : (b > c ? b : c);

cout

<< "z:"

<< z << endl;

這樣輸出的結果是:z:3

單目運算子和雙目運算子

運算子分為單目,雙目和三目 顧名思義,就是運算子的運算元的個數 單目就是乙個運算元,比如 a 運算元只有乙個a,寫成a b是非法的。雙目就是兩個運算元,最熟悉的就是 a b,計算ab的和 三目就是三個運算元,目前只有乙個條件運算子,運算子,比如a?b c,當a的值為真時,結果是b,否則結果是c。注意...

過載雙目運算子和過載單目運算子

new 和delete是單目運算子。strcmp函式將兩個字串進行比較,相等返回0 小於返回負數 大於返回正數。strcpy的用法 函式原型 char strcpy char est.const char src 功能是從src位址開始且含有null結束符的字串複製到以dest位址開始的字串中,並返...

中雙目運算子 運算子過載

這節講c 中的運算子過載。方法有過載,運算子也有過載,設想一下,我們用加號計算int型別的資料,返回的也是int型別,這很正常,因為在數學中加號就是用來計算數字的。但是當我們用加號計算兩個string型別的資料時,給我們返回的則是兩個string資料連線在一起,難道加號應用於不同的場景,編譯器就會自...