一篇文章帶你了解C語(yǔ)言操作符
一、操作符分類
C語(yǔ)言的操作符有很多,我這里將其分為十類,然后再對(duì)每一類中的操作符進(jìn)行詳細(xì)講解。
1、算術(shù)操作符
2、移位操作符
3、位操作符
4、賦值操作符
5、單目操作符
6、關(guān)系操作符
7、邏輯操作符
8、條件操作符
9、逗號(hào)表達(dá)式
10、其它操作符
二、算術(shù)操作符
1、這五個(gè)操作符分別是加、減、乘、除、求余。
2、對(duì)于 / 操作符如果兩個(gè)操作數(shù)都為整數(shù),執(zhí)行整數(shù)除法。而只要有浮點(diǎn)數(shù)執(zhí)行的就是浮點(diǎn)數(shù)除 法。
3、除了 % 操作符之外,其他的幾個(gè)操作符可以作用于整數(shù)和浮點(diǎn)數(shù)。% 操作符的兩個(gè)操作數(shù)必須為整數(shù),返回的是整除之后的余數(shù)。
三、移位操作符
左移操作符和右移操作符操作的對(duì)象都是二進(jìn)制數(shù)。
1、左移操作符
左移操作符的移位規(guī)則是:左邊拋棄,右邊補(bǔ)0。
但是num沒(méi)有被賦值的情況下,自身的值不會(huì)發(fā)生變化
2、右移操作符
右移操作符移位規(guī)則有兩種:
2.1算術(shù)移位
左邊用原該值的符號(hào)位填充,右邊丟棄
2.2邏輯移位
左邊用0填充,右邊丟棄
注意: 對(duì)于移位運(yùn)算符,不要移動(dòng)負(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è)你之前不滿意的值。也就是你可以對(duì)其重新賦值。
2、賦值操作符可以連續(xù)使用
3、復(fù)合賦值符
這些運(yùn)算符都可以寫(xiě)成復(fù)合的效果。
例如:
六、單目操作符
1、邏輯反操作
加上!與之形成相反的邏輯,例如=,加上!變?yōu)椴坏扔凇R粋€(gè)非零的值加上!輸出為0。
2、取地址
3、sizeof
sizeof可以計(jì)算操作數(shù)的類型長(zhǎng)度(以字節(jié)為單位)
4、++和--運(yùn)算符
4.1前置++和--
4.2后置++和--
七、關(guān)系操作符
這些關(guān)系運(yùn)算符比較簡(jiǎn)單,沒(méi)什么可講的,但是我們要注意一些運(yùn)算符使用時(shí)候的陷阱。
要注意: 在編程的過(guò)程中== 和=不小心寫(xiě)錯(cuò),導(dǎo)致的錯(cuò)誤。
八、邏輯操作符
&& 邏輯與
|| 邏輯或
這里要注意區(qū)分邏輯與和按位與 、邏輯或和按位或。
邏輯與和或的特點(diǎn):
當(dāng)a=0,0&&任何數(shù)都為0,已經(jīng)確定結(jié)果,后面的算式不再計(jì)算
九、條件操作符
exp1 ? exp2 : exp3
上面兩種寫(xiě)法的邏輯是相同的。
十、逗號(hào)表達(dá)式
exp1, exp2, exp3, …expN
逗號(hào)表達(dá)式,就是用逗號(hào)隔開(kāi)的多個(gè)表達(dá)式。
逗號(hào)表達(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.訪問(wèn)一個(gè)結(jié)構(gòu)的成員
. 結(jié)構(gòu)體.成員名
-> 結(jié)構(gòu)體指針->成員名
總結(jié)
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
C語(yǔ)言中的fscanf()函數(shù)與vfscanf()函數(shù)使用
這篇文章主要介紹了C語(yǔ)言中的fscanf()函數(shù)與vfscanf()函數(shù)使用,是C語(yǔ)言入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-08-08Qt實(shí)現(xiàn)導(dǎo)出QTableWidget/QTableView數(shù)據(jù)
這篇文章主要介紹了在Qt中實(shí)現(xiàn)將QTableWidget或者QTableView中的數(shù)據(jù)直接導(dǎo)出的示例代碼,文中的示例代碼講解詳細(xì),感興趣的可以了解一下2022-01-01C++實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)(Map實(shí)現(xiàn))
這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)學(xué)生信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06C語(yǔ)言實(shí)現(xiàn)手寫(xiě)紅黑樹(shù)的示例代碼
紅黑樹(shù)在表意上就是一棵每個(gè)節(jié)點(diǎn)帶有顏色的二叉搜索樹(shù),并通過(guò)對(duì)節(jié)點(diǎn)顏色的控制,使該二叉搜索樹(shù)達(dá)到盡量平衡的狀態(tài)。本文主將用C語(yǔ)言實(shí)現(xiàn)手寫(xiě)紅黑樹(shù),需要的可以參考一下2022-09-09C++中智能指針最常用的shared_ptr和unique_ptr
C++中的智能指針最常用的是shared_ptr和unique_ptr,C++新手最常問(wèn)的問(wèn)題是我從一個(gè)函數(shù)中拿到unique_ptr,但要轉(zhuǎn)成shared_ptr才能使用,要怎么轉(zhuǎn)換?同理是否能將shared_ptr轉(zhuǎn)換成unique_ptr,面對(duì)這些問(wèn)題,跟隨小編一起看看吧2022-08-08