1.算數操作符
操作符作用
+兩個數相加,1+1=2
-兩個數相減,1-2=-1
*兩個數相乘,1*2=2
/兩個數相除,5/1=5
%取模,即結果為兩數相除的餘數,3%6=0
注:<1>%操作符兩個運算元必須為整數,其他的操作符可以用作整數和浮點數。
<2>對於/操作符來說,兩個運算元都為整數執行整數除法,只要有浮點數就執行浮點數除法。
2.移位操作符與位操作符
操作符描述
>>
右移操作符,左運算元的二進位制右移右運算元指定的位數。
<<
左移操作符,左運算元的二進位制左移右運算元指定的位數
&位元位按位與,1&1=1,1&0=0,0&1=0,0&0=0
|位元位按位或,1|1=1,1|0=1,0|1=1,0|0=0
^位元為按位異或,1^1=0,1^0=1,0^1=1,0^0=1
注:<1>移位操作符與位操作符都是在對位元位進行操作,左移操作符移位,左邊丟棄,右邊補0。
<2>右移操作符移位分為邏輯移位和算數移位,邏輯移位左邊補0,右邊丟棄,算數移位左邊補符號位,右邊丟棄。
對於移位操作符,不要移動負號位!
<3>位操作符的兩個運算元必須為整數。左移一位相當於十進位制乘以2,右移一位相當於十進位制除以2
3.賦值操作符
操作符描述
=簡單的賦值,把右運算元賦值給左運算元
+=加且賦值運算子,a+=3即為a=a+3
-=減且賦值運算子,a-=3即為a=a-3
*=乘且賦值運算子,a*=3即為a=a*3
/=除且賦值運算子,a/=3即為a=a/3
%=模且賦值運算子,a%3即為a=a%3
<<=
左移且賦值運算子,a<<=3即為a=a<<3
>>=
右移且賦值運算子,a>>=3即為a=a>>3
&=按位與且賦值運算子,a&=3即為a=a&3
|=按位或且賦值運算子,a|=3即為a=a|3
^=按位異或且賦值運算子,a^=3即為a=a^3
4.單目操作符
操作符描述
邏輯反操作
負值正值
間接訪問操作符(解引用操作符)
對乙個數的二進位制按位取反
前置、後置--
前置、後置++
取位址(型別)
強制型別轉換
sizeof
操作符的型別長度(以位元組為單位)
注:<1>前置++,--
若a=3,x=++a,先對a進行自加,再使用a,表示式x的值為4,x=--a,先對a進行自減,再使用a,x的值為2
<2>後置++,--
若a=3,x=a++,先使用a,再對a進行自加自減操作
<3>int arr1[5] = ;
char arr2[5] = ;
使用sizeof求字串長度,sizeof(arr1) = 20,sizeof(arr2) = 5,
sizeof求操作符長度是以位元組為單位的
5.關係操作符和邏輯操作符
操作符描述
左運算元大於右運算元,符合則為真
左運算元大於等於右運算元,符合則為真
左運算元小於右運算元,符合則為真
左運算元小於等於右運算元,符合則為真
左運算元等於右運算元,符合則為真
左運算元不等於右運算元,符合則為真
邏輯與運算,兩個運算元都為真則表示式才為真
邏輯或運算,兩個運算元都為假則表示式才為假
邏輯非,轉換邏輯狀態,把真轉為假
注:<1>位操作符與邏輯操作符的區別,位操作符是位元位之間進行邏輯判斷,邏輯操作符是表示式進行邏輯判斷
6.條件操作符
條件?表示式1:表示式2
若條件滿足,則執行表示式1,否則執行表示式2
7.逗號表示式
表示式1,表示式2,......,表示式n,
表示式從左往右依次執行,整個表示式的結果是最後乙個表示式的結果。
C語言操作符和表示式
5 2 2 5 2 1注 1.除 操作符之外,其他的幾個操作符均可作用與整數和浮點數,但需要注意結果列印的格式和精度缺失。2.對於 操作符,如果兩個數都為整數,執行整數除法,而只要有浮點數執行的就是浮點數除法。3.操作符的兩個運算元必須為整數。返回的是整除之後的餘數。左移操作符 移位規則 左邊拋棄 ...
C語言 操作符和表示式
算術操作符 c提供了所有常用的算術操作符 除了 操作符,其餘的操作符是既適用於浮點型別又適用於整數型別 為取模操作符,接受兩個整型運算元,把左運算元除以右運算元,但其返回的值是餘數而不是商。移位操作符 二進位制 0和1 移位操作只是簡單地把乙個值的位向左或向右移動。左移位中,值最左邊的幾位被丟棄,右...
C語言 操作符和表示式
加法操作符 減法操作符 乘法操作符 除法操作符 取餘操作符 注意 右移操作符 左移操作符 注意 原值 0000 1011 11 1 0000 0101 5 11 2 1 2 0000 0010 2 11 2 2原值 0000 1011 11 1 0001 0110 22 11 2 1 2 0010 ...