编程(从入门到入土)8
初識(shí)操作符
操作符分為:1.賦值操作符 2.單目操作符 3.關(guān)系操作符 4.邏輯操作符 5.條件操作符 6.逗號(hào)表達(dá)式 7.算數(shù)操作符 8.移位操作符 9.位操作符 10.下標(biāo)引用、函數(shù)調(diào)用和結(jié)構(gòu)成員。
1.賦值操作符
符號(hào):= += -= = /= %= >>= 進(jìn)行簡(jiǎn)單賦值操作+=、-=、=、/=、%=、>>=、 復(fù)合賦值符,進(jìn)行復(fù)合賦值操作
ps:賦值操作符可以連續(xù)使用。
2.單目操作符
符號(hào): ! - + & sizeof ~ -- ++ * (類型)
符號(hào)說明:
! ---> 邏輯反操作
- ---> 負(fù)值
+ ---> 正值
& ---> 取地址
sizeof ---> 操作數(shù)的類型長(zhǎng)度(單位:字節(jié))
~ ---> 對(duì)一個(gè)數(shù)的二進(jìn)制按位取反
-- ---> 前置、后置--
++ ---> 前置、后置++
* ---> 解引用操作符
(類型)-->強(qiáng)制類型轉(zhuǎn)換
ps:
1.sizeof是一個(gè)操作符,關(guān)鍵字,而不是函數(shù),求的是操作數(shù)的類型長(zhǎng)度(以字節(jié)為單位)。
2.sizeof求類型的長(zhǎng)度時(shí)不可省略括號(hào),求變量的長(zhǎng)度時(shí)可以省略括號(hào)。
3.!操作符是對(duì)一個(gè)數(shù)做邏輯反操作,而~操作符是對(duì)一個(gè)數(shù)的二進(jìn)制按位取反。
4.前置++、前置--是先使用,再++;而后置++、后置--是先--,再使用。
知識(shí)小填充:既然有單目操作符那必然有雙目操作符,那二者的區(qū)別是什么?
單目操作符:只有一個(gè)操作數(shù) 雙目操作符:有兩個(gè)操作數(shù) 如:+
3.關(guān)系操作符
符號(hào):> < >=
符號(hào)說明: > ---> 測(cè)試“大于”
< ---> 測(cè)試“小于”
>= ---> 測(cè)試“大于等于” 測(cè)試“小于等于” != ---> 測(cè)試“不等于” == ---> 測(cè)試“等于” ps: 1.判斷字符串是否相同應(yīng)該用strcmp()函數(shù),而不能用==比較。 2.編寫程序代碼時(shí)一定注意=和==的區(qū)別,不要寫錯(cuò),=是做賦值操作,而==才是判斷是否相等。
4.邏輯操作符
符號(hào): &&? ? ||
符號(hào)說明:
&&? --->? ? 邏輯與操作(只要有一個(gè)表達(dá)式為假便為假,不再執(zhí)行后面的表達(dá)式)
?||? ? --->? ? 邏輯或操作(只要有一個(gè)表達(dá)式為真便為真,不再執(zhí)行后面的表達(dá)式)
ps:
1.一定注意按位與和邏輯與,按位或和邏輯或的區(qū)別。
2.邏輯與中,只要有一個(gè)表達(dá)式為假,便不再執(zhí)行后面的表達(dá)式,直接返回假;
? ?邏輯或中,只要有一個(gè)表達(dá)式為真,便不再執(zhí)行后面的表達(dá)式,直接返回真。 知識(shí)小補(bǔ)充:按位與是針對(duì)兩個(gè)二進(jìn)制數(shù)的運(yùn)算,要求兩個(gè)二進(jìn)制數(shù)位數(shù)相同;而邏輯運(yùn)算與是針對(duì)邏輯電平的與運(yùn)算,可以簡(jiǎn)單地理解為1位二進(jìn)制的按位與運(yùn)算。
具體來說,邏輯電平永遠(yuǎn)只有一位,而對(duì)于二進(jìn)制數(shù)來說,可以有多位數(shù),所以,二者在運(yùn)算上的本質(zhì)區(qū)別是與運(yùn)算位數(shù)的區(qū)別,而實(shí)際使用的區(qū)別是前者多為數(shù)據(jù)處理,后者多為條件判斷。
5.條件操作符
符號(hào):exp1 ? exp2 : exp3
符號(hào)說明:
exp1 ? exp2 : exp3? ? --->? ?三目表達(dá)式,若表達(dá)式1(exp1)為真則返回表達(dá)式 2(exp2),否則返回表達(dá)式3(exp3)
6.逗號(hào)表達(dá)式
符號(hào):exp1, exp2, exp3, ..., expN
符號(hào)說明:
exp1, exp2, exp3, ..., expN? ?--->逗號(hào)表達(dá)式(用逗號(hào)隔開的表達(dá)式),從左往右依次執(zhí)行。整個(gè)表達(dá)式的結(jié)果為最后一個(gè)表達(dá)式的結(jié)果。
ps:逗號(hào)表達(dá)式的結(jié)果雖然是最后一個(gè)表達(dá)式的結(jié)果,但不可認(rèn)為與前面的表達(dá)式就無關(guān)了,因?yàn)榍懊姹磉_(dá)式可能會(huì)影響最后一個(gè)表達(dá)式的結(jié)果。
7.算數(shù)操作符
符號(hào):+ - * / %
符號(hào)說明:
- ---> 分別用于整數(shù)及浮點(diǎn)數(shù)的加法
- ---> 分別用于整數(shù)及浮點(diǎn)數(shù)的減法
- ---> 分別用于整數(shù)及浮點(diǎn)數(shù)的乘法
/ ---> 分別用于整數(shù)及浮點(diǎn)數(shù)的除法
% ---> 用于返回兩個(gè)整數(shù)相除的余數(shù)
ps:
1.+、-、*、/這四個(gè)運(yùn)算符均可用于整數(shù)及浮點(diǎn)數(shù)的運(yùn)算。
2.當(dāng)使用/運(yùn)算符時(shí),如果兩個(gè)操作數(shù)均為整型,那么執(zhí)行整數(shù)除法,運(yùn)算結(jié)果也為整型;如果兩個(gè)操作數(shù)至少一個(gè)為浮點(diǎn)數(shù),那么執(zhí)行浮點(diǎn)數(shù)運(yùn)算,運(yùn)算結(jié)果為浮點(diǎn)型。
3.%運(yùn)算符只能用于兩個(gè)整數(shù)相除,返回余數(shù)。
8.移位操作符
符號(hào):>
符號(hào)說明:
左移運(yùn)算符,用于將整數(shù)左移指定位數(shù)
>>---> 右移運(yùn)算符,用于將整數(shù)右移指定位數(shù) 移位規(guī)則: >(右移運(yùn)算符):當(dāng)進(jìn)行邏輯移位時(shí),右邊位丟棄,左邊空缺位補(bǔ)0(右邊丟棄,左邊補(bǔ)0); 當(dāng)進(jìn)行算術(shù)移位時(shí),右邊位丟棄,左邊位補(bǔ)原數(shù)的符號(hào)位(右邊丟棄,左邊補(bǔ)符號(hào)位)。
知識(shí)小填充:邏輯位移與算數(shù)位移的區(qū)別是什么?
對(duì)于邏輯移位,就是不考慮符號(hào)位,移位的結(jié)果只是數(shù)據(jù)所有的位數(shù)進(jìn)行移位。根據(jù)移位操作的目的,左移時(shí),低位補(bǔ)0,右移時(shí),高位補(bǔ)0;
而對(duì)于算數(shù)位移,算術(shù)是帶有符號(hào)的數(shù)據(jù),所以我們不能直接移動(dòng)所有的位數(shù),這可能會(huì)使得符號(hào)不正確。
ps:1.移位操作不改變?cè)怠?.移位時(shí)不能移負(fù)數(shù)位。?
9.位操作符
符號(hào):&? ? |? ? ? ^
符號(hào)說明:
&? ? --->? 按位與(有0出0)
?|? ? ?--->? 按位或(有1出1)? ??
?^? ? ?--->? 按位異或(相同為0,相異為1)?
整數(shù)在內(nèi)存中儲(chǔ)存的是補(bǔ)碼。一個(gè)整數(shù)的二進(jìn)制表示有三種:原碼、反碼、補(bǔ)碼。
如:-3:
1000 0000 0000 0000 0000 0000 0000 0011(原碼)
1111 1111 1111 1111 1111 1111 1111 1100(反碼)
1111 1111 1111 1111 1111 1111 1111 1101 (補(bǔ)碼)
原碼-->反碼:符號(hào)位不變,其他位按位取反。
反碼-->補(bǔ)碼:在反碼的基礎(chǔ)上+1。
ps:正整數(shù)原碼、反碼、補(bǔ)碼相同。
10.下標(biāo)引用、函數(shù)調(diào)用和結(jié)構(gòu)成員
?10.1下標(biāo)引用
符號(hào):[ ]
符號(hào)說明:
[ ]? ? --->? ?下標(biāo)引用操作符,有兩個(gè)操作數(shù)(數(shù)組名和索引值)
ps:下標(biāo)引用共有兩個(gè)操作數(shù)(數(shù)組名和索引值)。
10.2函數(shù)調(diào)用
符號(hào):()
符號(hào)說明:
()? ?--->? 函數(shù)調(diào)用操作符,有一個(gè)或多個(gè)操作數(shù)(函數(shù)名和參數(shù))。
??ps:函數(shù)調(diào)用操作符有一個(gè)或多個(gè)操作數(shù)。
?10.3結(jié)構(gòu)成員
符號(hào): .? ? ->
符號(hào)說明:
.? ?--->? ?結(jié)構(gòu)體對(duì)象.成員名
->??--->? 結(jié)構(gòu)體指針->成員名
ps:當(dāng)結(jié)構(gòu)體中有數(shù)組成員時(shí),給該成員賦值用用strcpy()函數(shù),將目標(biāo)串拷貝給該數(shù)組成員。注意:當(dāng)結(jié)構(gòu)體中有數(shù)組成員時(shí),給該成員賦值用用strcpy()函數(shù),將目標(biāo)串拷貝給該數(shù)組成員。
總結(jié)
以上是生活随笔為你收集整理的编程(从入门到入土)8的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 加载mysql驱动的语句_sql数据库驱
- 下一篇: 数据库1024错误暂时性的解决办法