c語言之操作符

2021-08-13 20:13:12 字數 984 閱讀 8297

c語言的操作符主要有8種:算數操作符,移位操作符,位操作符,賦值操作符,單目操作符,關係操作符,邏輯操作符,條件操作符。

(1)算數操作符:主要有+,-,*,/,%。+,-,*,/可以作用於整數和浮點數,而%只能作用於整數,返回的是整除之後的餘數。

(2)移位操作符:主要有左移<<   右移》

左移規則:左邊拋棄,右邊補零,有乘2的效果;

右移規則:右移分為邏輯移位和算術移位。邏輯移位:左邊補零,有除2的效果;算數移位:左邊補的是符號位(絕大部分用的是算數移位)

左移和右移都不能移動負數字,正能移動正數字。

(3)位操作符:分為三種:&(與)   ||(或)    ^ (異或:相同為0,相異為1)要求它們的運算元必須是整數;

正數的原碼,反碼和補碼一樣;負數的反碼是符號位不變,其他位取反,負數的補碼是反碼加1。

(4)賦值操作符:比如:int a = 0;

a = 2;

復合賦值操作符:+=,-=,*=, /=, %=, <<=, |=, %=     比如 : x=x+2可以寫成 x+=2

(5)單目操作符:指只含有乙個運算元。如:!(按位取反)     sizeof(運算元的型別長度)     -(負值)  +(正值)   &(取位址) ~(對乙個數的二進位制按位取反)等等。

著重注意 :sizeof(陣列名)-----陣列名表示的是整個陣列----計算的是整個陣列的大小;

&陣列名-----陣列名表示整個陣列,這裡取出整個陣列的位址,單位是位元組。

除了以上兩種情況外,所有的陣列名表示的是首元素的位址。       

(6)關係操作符:>    >=   <   <=    !    ==

(7)邏輯操作符:&&(邏輯與)    ||(邏輯或)

邏輯與:同真為真,有假為假

邏輯或:同假為假,有真則真

(8)條件操作符:exp1 ? exp2 :  exp3

如找兩個數的較大值:   int max(a>b) ? a : b;



2 1 C語言之位操作符

c語言中,位操作一共有6個位操作符,分別是位與 and 位或 or 位取反 一元運算子 位異或 xor 左移位 右移位 2.1.1位與 1 位與操作符 邏輯與操作符 兩者不同。位與是按位進行與操作,只有0或者1這兩個運算元 邏輯與運算元是只要不是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...