一篇文章帶你了解C語言操作符
一、操作符分類
C語言的操作符有很多,我這里將其分為十類,然后再對每一類中的操作符進(jìn)行詳細(xì)講解。
1、算術(shù)操作符
2、移位操作符
3、位操作符
4、賦值操作符
5、單目操作符
6、關(guān)系操作符
7、邏輯操作符
8、條件操作符
9、逗號表達(dá)式
10、其它操作符
二、算術(shù)操作符

1、這五個(gè)操作符分別是加、減、乘、除、求余。
2、對于 / 操作符如果兩個(gè)操作數(shù)都為整數(shù),執(zhí)行整數(shù)除法。而只要有浮點(diǎn)數(shù)執(zhí)行的就是浮點(diǎn)數(shù)除 法。
3、除了 % 操作符之外,其他的幾個(gè)操作符可以作用于整數(shù)和浮點(diǎn)數(shù)。% 操作符的兩個(gè)操作數(shù)必須為整數(shù),返回的是整除之后的余數(shù)。
三、移位操作符

左移操作符和右移操作符操作的對象都是二進(jìn)制數(shù)。
1、左移操作符
左移操作符的移位規(guī)則是:左邊拋棄,右邊補(bǔ)0。

但是num沒有被賦值的情況下,自身的值不會發(fā)生變化

2、右移操作符
右移操作符移位規(guī)則有兩種:
2.1算術(shù)移位
左邊用原該值的符號位填充,右邊丟棄

2.2邏輯移位
左邊用0填充,右邊丟棄

注意: 對于移位運(yùn)算符,不要移動負(fù)數(shù)位,這個(gè)是標(biāo)準(zhǔn)未定義的。

四、位操作符

1、按位與

2、按位或

3、按位異或

4、一道練習(xí)題
不能創(chuàng)建臨時(shí)變量(第三個(gè)變量),實(shí)現(xiàn)兩個(gè)數(shù)的交換

兩個(gè)相同的數(shù)異或?yàn)?.
五、賦值操作符
1、賦值操作符(=)是一個(gè)很棒的操作符,他可以讓你得到一個(gè)你之前不滿意的值。也就是你可以對其重新賦值。

2、賦值操作符可以連續(xù)使用

3、復(fù)合賦值符

這些運(yùn)算符都可以寫成復(fù)合的效果。
例如:

六、單目操作符

1、邏輯反操作
加上!與之形成相反的邏輯,例如=,加上!變?yōu)椴坏扔凇R粋€(gè)非零的值加上!輸出為0。

2、取地址

3、sizeof
sizeof可以計(jì)算操作數(shù)的類型長度(以字節(jié)為單位)

4、++和--運(yùn)算符
4.1前置++和--

4.2后置++和--

七、關(guān)系操作符

這些關(guān)系運(yùn)算符比較簡單,沒什么可講的,但是我們要注意一些運(yùn)算符使用時(shí)候的陷阱。
要注意: 在編程的過程中== 和=不小心寫錯(cuò),導(dǎo)致的錯(cuò)誤。
八、邏輯操作符
&& 邏輯與
|| 邏輯或
這里要注意區(qū)分邏輯與和按位與 、邏輯或和按位或。

邏輯與和或的特點(diǎn):

當(dāng)a=0,0&&任何數(shù)都為0,已經(jīng)確定結(jié)果,后面的算式不再計(jì)算

九、條件操作符
exp1 ? exp2 : exp3


上面兩種寫法的邏輯是相同的。
十、逗號表達(dá)式
exp1, exp2, exp3, …expN
逗號表達(dá)式,就是用逗號隔開的多個(gè)表達(dá)式。
逗號表達(dá)式,從左向右依次執(zhí)行。整個(gè)表達(dá)式的結(jié)果是最后一個(gè)表達(dá)式的結(jié)果。

十一、其它操作符
1.下標(biāo)引用操作符[ ]
操作數(shù)是一個(gè)數(shù)組名 + 一個(gè)索引值

2.函數(shù)調(diào)用操作符( )
接受一個(gè)或者多個(gè)操作數(shù):第一個(gè)操作數(shù)是函數(shù)名,剩余的操作數(shù)就是傳遞給函數(shù)的參數(shù)。

3.訪問一個(gè)結(jié)構(gòu)的成員
. 結(jié)構(gòu)體.成員名
-> 結(jié)構(gòu)體指針->成員名

總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
clion最新激活碼+漢化的步驟詳解(親測可用激活到2089)
這篇文章主要介紹了clion最新版下載安裝+破解+漢化的步驟詳解,本文分步驟給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11
C語言詳細(xì)分析講解關(guān)鍵字enum與sizeof及typedef的用法
在?C?語言中經(jīng)常會見到?enum、sizeof、typedef,那么我們今天就來講解下它們?nèi)齻€(gè),enum是C語言中的一種自定義類型,它是一種枚舉類型,sizeof是編譯器的內(nèi)置指示符,用于計(jì)算類型或變量所占內(nèi)存打小,typedef用于給一個(gè)已經(jīng)存在的數(shù)據(jù)類型重命名,本質(zhì)上不能產(chǎn)生新的類型2022-04-04
使用C++和Direct3D (d3d)獲取屏幕截圖并根據(jù)傳入分辨率進(jìn)行縮放圖片大小(最新推薦)
這篇文章主要介紹了使用C++和Direct3D (d3d)獲取屏幕截圖并根據(jù)傳入分辨率進(jìn)行縮放圖片大小,本文給大家講解的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-04-04
C語言雙指針多方法旋轉(zhuǎn)數(shù)組解題LeetCode
這篇文章主要為大家介紹了C語言雙指針使用多方法旋轉(zhuǎn)數(shù)組題解LeetCode,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2022-02-02
C++ opencv實(shí)現(xiàn)的把藍(lán)底照片轉(zhuǎn)化為白底照片功能完整示例
這篇文章主要介紹了C++ opencv實(shí)現(xiàn)的把藍(lán)底照片轉(zhuǎn)化為白底照片功能,結(jié)合完整實(shí)例形式詳細(xì)分析了C++使用opencv模塊進(jìn)行圖片轉(zhuǎn)換操作的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-12-12

