C語言中有一系列的操作符,這些操作符你是否都認識呢?
想要學好C語言首先你得有一種空杯心态,是以不管認不認識都和我們一起再看一遍吧!
C語言中的操作符:
C語言中主要包括算術操作符、移位操作符、位操作符、指派操作符、單目操作符、關系操作符、邏輯操作符、條件操作符、逗号表達式等。讓我們一一來看看它們到底如何使用吧!
算數操作符: +、-、* 、/、%
算術操作符中的+、-、* 相信大家都會,但一些初學者就分不清楚/和%的差別(悄悄告訴你我幾個月前也分不清)。

其實a/b的結果就是a除以b的商,而a%b就是a除以b所得的餘數,就像代碼中7除以2商3餘1,是以7/2等于3,而7%2等于1。
移位操作符: <<、>>
左移操作符與右移操作符相似,我們就以左移操作符舉例吧。
那麼為什麼結果是10呢?
其實數字在電腦中是以二進制方式儲存的,而int型的大小為4個位元組,也就是32個比特位,是以5的二進制表示為00000000000000000000000000000101,a<<1也就是将a的二進制位統一向左移動一位,空出來的用0補齊,将變換後的二進制轉換為十進制輸出即可。
而a<<1後的二進制所對應的十進制數便是10,是以輸出為10。
位操作符: &、|、^
位操作符的運算機制很相似,隻是規則不同而已。它們都是先把待操作數轉化為二進制,将它們二進制每一位的數字進行比較,然後進行操作。
&:二進制對應位兩個都為1則為1,否則為0。
|:二進制對應位兩個都為0則為0,否則為1。
^:二進制對應位相同則為0,不同則為1。
指派操作符: =、+=、-=、*=、/=、&=、|=、^=、<<=、>>=
指派操作符在我看來就是簡化了一下語句:
其他的以此類推即可。雖然剛開始看起來有點别扭,但當你看多了也就習慣啦^ _ ^
單目操作符:
操作符 | 操作符的作用 |
! | 邏輯反操作 |
- | 負值 |
+ | 正值 |
& | 取位址 |
sizeof | 操作數的類型長度(以位元組為機關) |
~ | 對一個數的二進制按位取反 |
- - | 前置、後置- - |
++ | 前置、後置++ |
* | 間接通路操作符(解引用操作符) |
(類型) | 強制類型轉換 |
單目操作符,顧名思義其操作數隻有一個。
關系操作符: >、>=、<、<=、!=、==
關系操作符比較簡單,但要注意使用 ==時,不要寫成=了,初學者需要特别注意這一點。
邏輯操作符: &&、||
&&:兩邊為真即為真,否則為假。
||:兩邊為假才為假,否則為真。
(它們都是為真傳回1,為假傳回0。)
條件操作符: expr1?expr2:expr3
該表達式中,如果expr1為真,則傳回expr2的值,否則傳回expr3的值。
逗号表達式: expr1,expr2,expr3,…,exprN