C語言操作符

2021-08-09 13:10:56 字數 2293 閱讀 4647

c語言的操作符分為雙目操作符,單目操作符和三目操作符。

一.單目操作符:運算所需變數為乙個的運算子,又叫一元運算子。

邏輯非運算子【!】、

按位取反運算子【~】:包括符號位哦。

自增自減運算子【++, –】:a++ 先使用a,再自增 ;++a 先給a++,再使用

負號運算子【-】

型別轉換運算子【(型別)】:強制型別轉換

int a=1; a=(double)3.14;//將a強制轉換成double型

指標運算子和取位址運算子【*和&】

int a=10;

int * p=&20; //此處*表示為整型指標

* p=20;//*為指標運算子

長度運算子【sizeof】 :求變數時,可省括號:sizeof a //求a變數的型別長度。以位元組為單位。

求型別長度時,不能省略括號: sizeof(int)

二.雙目運算子:運算所需變數為二個的運算子,又叫二元運算子。

1.算數操作符

我們常用的+ - * / % 都屬於算數操作符。

需要注意的是%操作符在使用的時候,兩邊的數必須是整數。

2.移位操作符

移位操作符分為左移位操作符和右移位操作符。

所謂移位操作符即把資料轉換成對應的二進位制數,對其進行左移或者右移的操作。

例如:a=10;//二進位制位為00000000 00000000 00000000 00001010

a>>1;//將a的二進位制位向右移動一位,最右邊的丟棄,左邊補上的位由你的編譯器決定。

右移分為算術右移和邏輯右移。

算術右移即右邊丟棄,左邊補符號位(正數補0,負數補1)。

邏輯移位即右邊丟棄,左邊補0。

a>>1;//00000000 00000000 00000000 00000101 注意:這種情況下,a的值並沒有發生改變。

將a>>1二進位制**對應的10進製數的值為5. 為1/2的a.

所以將乙個數右移,有給該數乘以2的效果。同理,將乙個數左移,相當於給該數·除以乙個2.

3.位操作符

& 按位與……………………對應二進位制位進行與運算(0&0=0,0&1=0,1&1=1)

| 按位或……………………對應二進位制位進行或運算(0|0=0,0|1=1,1|1=1)

^ 按位異或…………………對應二進位制位進行異或運算(相異為1,相同為0)

4.賦值操作符

= 給乙個變數進行賦值

注意:

int a=5;

if(i=5)//這個時候,不管i的值是多少,這裡都將i賦值成5,if語句永遠正確。

所以要注意在用if語句的時候,不要將==與=混淆

printf(「hehe」);

5.復合賦值符

++ – += -= &= ^= |=

6.關係運算子

>=     <      <=     優先順序相同(高)

!= == 優先順序相同(低)

7.邏輯操作符

&& 邏輯與 當關係式的前面已經判定為假(0)的時候,後面不用進行計算。 0&&任何==0

|| 邏輯或 當關係式的前面已經判定為真(1)的時候,後面不用進行計算。1||任何==1

8.下標引用操作符

陣列 arr[5]等價於*(arr+5)

9.逗號運算子

,一種是做分隔符,另一種是作運算子。在變數宣告語句、函式呼叫中,逗號是做分隔符用的。 當逗號作為運算子使用時,其運算優先順序 是所有運算子中最低的。逗號運算子的運算順序是**自左向右**,

如:int i=8;

a=(a=i+1,i+2,i+3);

上述賦值語句的執行順序為先對a變數賦值9,再計算i+2得10,再計算i+3得11,最後將11作為逗號表示式的值賦給變數a.

三目操作符:

條件操作符

exp1?exp2:exp3 int b=a>3?2:6

exp1為真,則exp2 a>5,b=2;

否則 exp3. a<=5,b=6

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 對於 操作符如果兩個運算元都為整數,執行整數除法。而只要有浮點數執行的就是浮點數除法。...