C語言操作符

2021-09-27 08:41:07 字數 2314 閱讀 9783

操作符分類:

操作符詳解:

算術運算子

+ - * 、 %

數學上的加減乘除、取餘。這幾個比較常見,需要注意的有:

/操作如果兩側的引數都是整型,那麼得到的結果也會是乙個整型,例如:5/2結果為2。  

而如果其中乙個為float型別則結果會為float型別,例如:5/2.0結果為2.5。

%操作只能進行整數的取餘運算。

移位運算子

《左移運算子

左邊拋棄,右邊補零。

>>右移運算子

右移運算子分為兩種:

左邊填充0,右邊丟棄

左邊用該值的符號位填充,右邊丟棄

*:移位操作符不能移動負位數

位操作符

&按位與

|按位或

^按位異或

賦值操作符

=操作符可以將右邊的值存入左邊的變數中,可以對變數重複賦值

注意:=操作符應該和==操作符區分開,它們的意義不一樣

特殊的:=表示式的值等於=右邊的值,比如a=3這個表示式的值就為3,

a=0這個表示式的值就為0。

復合賦值操作符

以上提到的操作符都可以進行復合賦值操作。

比如a+=2就和a=a+2是相同的意思

再比如a^=b就和a=a^b是相同的意思

以此類推

單目操作符

單目操作符可以理解為「單個目標數操作符」,也就是說這個操作符只可以對乙個目標進行運算。

如:

關係操作符

>

>=

<

<=

==

!=

這些用於比較的符號都是關係操作符。

注意區分===的區別。

邏輯操作符

&&邏輯與

||邏輯或

1&&0—->0

1&&1—->1

1  || 0—->1

0  || 0—->0

要區分&&&的區別,&是將兩個數按二進位制每一位進行&&最後的結果。

比如:1&&2—->1

1&2—->0

|||同理

條件操作符

形如a?b:c這種格式的為條件操作符,其中a、b、c可以為數值或表示式。

意思為a是否為真,如果a為真,這個表示式的值為b,否則為c。

例如下面這個語句:

int x,y,z;y=1;z=2;x=y>z?y:z;
經過運算得出x的值應該為2。
逗號表示式

逗號表示式是一種很特殊的存在,用,隔開的兩個數值(表示式),整個表示式的值等於最後乙個數值(表示式),與前面的數值(表示式)無關。

例如:

1,2,0

這個表示式的值為0,與前面的1,2都沒有關係

下標引用、函式呼叫和結構成員

[ ]用於陣列的下標引用

( )用於呼叫函式,左邊的運算元為函式名,右邊的均為函式引數

.->都用於訪問結構體成員,不過.操作符前面需要用結構體名,而->操作符前面要用結構體指標,不能混用。

操作符運算優先順序:

c語言操作符 位操作符 移位操作符

1 按位操作符 1.1 按位 與 雙目運算子 僅當兩個運算元都為1時,結果為1,否則為0。參與運算的數以補碼方式出現。例 9 5 1 0000 1001 9的補碼 0000 0101 5的補碼 0000 0001 1的補碼 應用 a 通常將某些位清零或保留某些位。例如 將a的高八位清零,保留低八位,...

C語言 , 操作符

例如 define to string s s 將會使編譯器把以下命令 cout to string hello world endl 理解為cout hello world endl 例如 define concatenate x,y x y int xy 10 將會使編譯器把 cout conc...

C語言操作符

操作符的分類 1 算術操作符 2 移位操作符 3 位操作符 4 賦值操作符 5 單目操作符 6 關係操作符 7 邏輯操作符 8 條件操作符 9 逗號表示式 1 算術操作符 1 除了 操作符之外,不能用於浮點數。2 對於 操作符如果兩個運算元都為整數,執行整數除法。而只要有浮點數執行的就是浮點數除法。...