在c語言中,有各式各樣的操作符,而且操作符的運用往往和表示式結合在一起,下面先給操作符乙個簡單的分類:
算術操作符: + - * / %
對應數學裡面的 加減乘除餘 只有%左右兩邊運算元都必須是整數。
移位操作符: << 左移操作符
>> 右移操作符
因為在計算機中,對數的儲存使用的是二進位制,並且是該數的補碼,而 << 則是把該二進位制數整體左移一位,左邊丟棄右邊補0。對於 >> 則分兩種情況: 邏輯右移:左邊補0,右邊丟棄。算術右移:左邊補符號位,右邊丟棄。對於 a>>1;還有除2的效果,應為c語言中,除法是算的最慢的,所以適當情況下可以用
>>1代替/2。
位操作符: & | ^
& 按位與 a&b 把a和b每個二進位制位數乙個乙個與比較,兩個都為1則該位為1,有乙個為0則為0,比如 a 在記憶體中為00001110 b在記憶體中為00000111 則比
較結果為00000110
| 按位或 有乙個為1 則為1,都為0才是0,同樣是上面的例子,比較結果為00001111
^ 按位異或 不相同為1 相同為0,比較結果為00001001
邏輯操作符: && || !
&& 邏輯與 都為真 結果才為真,a++&&++b&&c++ 在這裡只要前面有為假的結果,後面就不計算,如果a=0,那麼b c 還是原來的值,不會增1。
|| 邏輯或 有乙個為真,結果就是真, 只要前面的結果為真,後面就不計算
! 邏輯非 用於邏輯反操作 就和數字的正負號一樣,假真為假 假假為真
復合賦值操作符: += >>= &=
在c語言中 a=a+1 與a+=1,是一樣的 後面的同理。
關係操作符: > < == >= <=
對應 大於 小於 等於 大於等於 小於等於
條件操作符: a?x:y
如果a為真,返回x;如果a為假返回y。
逗號表示式: a++,b--,++c,--d
從左往右依次執行,最後乙個表示式的結果為該表示式的結果
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 ...