操作符是我們學習程式設計不可或缺的一部分,熟練掌握操作符是我們學好程式設計的基礎。但是c語言的操作符它的品種繁多,為了便於解釋,我將按照操作的功能或它們的使用方式對它們進行分類。
1.算數操作符:
+ - * / %
例如:c = a+b; c = a-b; c = a*b; c = a/b; c = a%b;
注意:(1)除了%操作符,其餘幾個操作符都是既適用於浮點型別又適用於整形型別。
(2) 當『/』操作符的兩個運算元都是整數時,它執行整除運算,在其他情況下則執行浮點數除法。
(3)『%』為取模操作符,他接受兩個整形運算元,把左運算元除以右運算元,但它返回的值是餘數而不是商。
2.位移操作符:
<<左值操作符
移位規則:左邊拋棄,右邊補零;
例如:int num = 10;
00000000000000000000000000001010 // num在記憶體中的二進位制
000000000000000000000000000010100 // num左移一位的結果,將左邊的0去掉,右邊補齊,結果為20
>>右值操作符
首先,右移運算分兩種:邏輯左移和算數右移
左移:左邊用0填充,右邊丟棄;
右移:左邊用原該值的符號位填充,右邊丟棄。
例如:int num = -1;
11111111111111111111111111111111 記憶體中-1的補為32個1.
111111111111111111111111111111111 算數右移:左邊用該原值的符號位填充,右邊捨棄.
011111111111111111111111111111111 邏輯右移:左邊補0,右邊捨棄.
3.位操作符:
&按位與
例如:3的二進位制為 00000011 (補碼,下同)
5的二進位制為 00000101
則3&5為 00000001 即3&5=1,相同為真,不同為假
|按位或
3 00000011
5 00000101
則3|5為 00000111 即3|5=7,只要有乙個就為真
^按位異或
3 00000011
5 00000101
則3^5為 00000110 即3|5=6,只要有乙個就為真,同為1為假
4.復合賦值符:
+= -= *= /= %= = >>= <<= &= |=
5.單目操作符:
!邏輯反操作
-負值
+正值
&取地
sizeof運算元的型別長度(以位元組為單位)
~對乙個數的二進位制按位取反
--前置,後置--
++前置,後置++
*間接訪問操作符
(型別) 強制轉換型別
6.條件操作符:
exp1 ? exp2 : exp3
即表示式exp1成立,則返回表示式exp2,否則返回表示式exp3.
7.逗號表示式:
exp1,exp2,exp3,exp4,......expn
逗號表示式,從左到右依次執行。整個表示式的結果是最後乙個表示式的結果。
8.下標引用,函式呼叫和結構體成員
(1) [ ]
運算元:乙個陣列名+乙個索引值
(2)( )
函式呼叫操作符
(3)訪問乙個結構體的成員
.結構體.成員名
->結構體指標->成員名
以上就是我們常用的操作符,熟練掌握它們有助於我們今後更好的學習。
C 的一些操作符
1 typeof操作符 獲得系統原型物件的型別。如 type int 2 as操作符 as操作符用於通過引用轉換或裝箱轉換將乙個值顯式地轉換成指定的引用型別,不像顯示式型別轉換,as不會產生任何異常。如果轉換不可以進行,那麼結果值為null。如 string s a as string 3 is操作...
C語言中的操作符
包括 需要注意的是,操作符的兩邊都必須為整型 其他的操作符既可用於整型,也可用於浮點型資料,其中 中有乙個資料為浮點型執行浮點型資料運算 包括 左移操作符 和右移操作符 左移操作符的移位規則是 左邊丟棄,右邊補0 整數在記憶體中以二進位制補碼的形式儲存,在左移之後,該數並沒有發生改變 右移操作符的移...
c語言中的操作符
1.除了 操作符之外,其他幾個操作符可以作用於整數和浮點數。2.對於 操作符如果兩個操作符都為整數,執行整數除法。而只要有浮點數執行的就是浮點數除法。3.操作符的兩個運算元必須是整數。返回的是整除之後的餘數。左移操作符 左邊拋棄,右邊補0,右移操作符 1.邏輯移位 2.算術移位 按位與 按位或 按位...