目錄
創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的錫山網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!1、算術(shù)操作符
2、移位操作符
3、位操作符
1、不能創(chuàng)建臨時(shí)變量(第三個(gè)變量),實(shí)現(xiàn)兩個(gè)數(shù)的交換
4、賦值操作符
5、單目操作符
6、關(guān)系操作符
7、邏輯操作符
8、條件操作符
9、逗號(hào)表達(dá)式
10、下標(biāo)引用、函數(shù)調(diào)用和結(jié)構(gòu)成員
1、[ ] 下標(biāo)引用操作符
2、( ) 函數(shù)調(diào)用操作符
3、訪問(wèn)一個(gè)結(jié)構(gòu)的成員
11、表達(dá)式求值
1、隱式類型轉(zhuǎn)換
2、算術(shù)轉(zhuǎn)換
3、操作符的屬性
+? ?-? ?*? ?/? ?%
1、除了 % 操作符之外,其他的幾個(gè)操作符可以作用于整數(shù)和浮點(diǎn)數(shù)。
2、對(duì)于 / 操作符如果兩個(gè)操作數(shù)都為整數(shù),執(zhí)行整數(shù)除法。而只要有浮點(diǎn)數(shù)執(zhí)行的就是浮點(diǎn)數(shù)除法。
3、% 操作符的兩個(gè)操作數(shù)必須為整數(shù)。返回的是整除之后的余數(shù)。
2、移位操作符<< 左移操作符
>>右移操作符
1、移位操作符的操作數(shù)只能是整數(shù)。
2、移位操作符,移的是二進(jìn)制。
整形的二進(jìn)制表示:原碼、反碼和補(bǔ)碼。
正數(shù)的原碼、反碼、補(bǔ)碼相同。
負(fù)數(shù)的反碼:原碼的符號(hào)位不變,其他位按位取反。
負(fù)數(shù)的補(bǔ)碼:負(fù)數(shù)的反碼+1。
整數(shù)在內(nèi)存中存儲(chǔ)的是二進(jìn)制的補(bǔ)碼。移位操作符,移動(dòng)的是存儲(chǔ)在內(nèi)存中的補(bǔ)碼。
左移操作符:左邊丟棄,右邊補(bǔ)0。
右移操作符:分為邏輯右移、算術(shù)右移。
邏輯右移:右邊丟棄,左邊補(bǔ)0。
算術(shù)右移:右邊丟棄,左邊補(bǔ)原符號(hào)位。
C語(yǔ)言并沒(méi)有給出明確的規(guī)定要采用哪種規(guī)則,這取決于編譯器的實(shí)現(xiàn)。大多數(shù)的編譯器是算術(shù)右移。
注意:1、%d 打印出來(lái)的是原碼形式。? 2、移位操作符,禁止移動(dòng)負(fù)數(shù)位。
3、位操作符&? ? 按位與
|? ? ?按位或
^? ? 按位異或
注:他們的操作數(shù)必須是整數(shù)
異或的運(yùn)算:相同為0,相異為1。
位操作符,位指的是二進(jìn)制位。
1、不能創(chuàng)建臨時(shí)變量(第三個(gè)變量),實(shí)現(xiàn)兩個(gè)數(shù)的交換法一:用和計(jì)算。但是當(dāng)數(shù)變大時(shí),int裝不下。
#includeint main()
{
int a = 3;
int b = 5;
a = a + b;
b = a - b;
a = a - b;
printf("a=%d b=%d\n", a, b);
return 0;
}
法二:用異或計(jì)算。
原理:a^a=0;0^a=a;異或支持交換律。
#includeint main()
{
int a = 3;
int b = 5;
a = a ^ b;
b = a ^ b;
a = a ^ b;
printf("a=%d b=%d\n", a, b);
return 0;
}
4、賦值操作符連續(xù)賦值:
復(fù)合賦值符:
5、單目操作符+=? ?-=? ?*=? ?/=? ?%=? ? >>=? ?<<=? ? &=? ?|=? ? ^=
!? ? ? ? ? ? ? 邏輯反操作
-? ? ? ? ? ? ? 負(fù)值
+? ? ? ? ? ? ?正值
&? ? ? ? ? ? ?取地址
sizeof ? ? ?操作數(shù)的類型長(zhǎng)度(以字節(jié)為單位)
~? ? ? ? ? ? ?對(duì)一個(gè)數(shù)的二進(jìn)制按位取反
--? ? ? ? ? ? ?前置、后置--
++? ? ? ? ? ?前置、后置++
*? ? ? ? ? ? ? 間接訪問(wèn)操作符(解引用操作符)
(類型) ? ? ?強(qiáng)制類型轉(zhuǎn)換
注意:sizeof 求變量(類型)所占空間的大小。sizeof 內(nèi)部的表達(dá)式不會(huì)計(jì)算。得出的結(jié)果是通過(guò)表達(dá)式結(jié)果類型推演來(lái)的。
6、關(guān)系操作符7、邏輯操作符> ? >=? ? ?<=? ? ?!=? ? ==
8、條件操作符&& ? ? 邏輯與
|| ? ? ? ?邏輯或
9、逗號(hào)表達(dá)式exp1? ?? exp2? :? exp3
exp1,? exp2,? exp3,? …expN
逗號(hào)表達(dá)式,就是用逗號(hào)隔開(kāi)的多個(gè)表達(dá)式。逗號(hào)表達(dá)式,從左向右依次執(zhí)行。整個(gè)表達(dá)式的結(jié)果是最后一個(gè)表達(dá)式的結(jié)果。
10、下標(biāo)引用、函數(shù)調(diào)用和結(jié)構(gòu)成員 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)的成員11、表達(dá)式求值.? ? ? ? ?結(jié)構(gòu)體.成員名
-> ?結(jié)構(gòu)體指針->成員名
表達(dá)式求值的順序一部分是由操作符的優(yōu)先級(jí)和結(jié)合性決定。同樣,有些表達(dá)式的操作數(shù)在求值的過(guò)程中可能需要轉(zhuǎn)換為其他類型。
1、隱式類型轉(zhuǎn)換1、定義
C的整型算術(shù)運(yùn)算總是至少以缺省整型類型的精度來(lái)進(jìn)行的。為了獲得這個(gè)精度,表達(dá)式中的字符和短整型操作數(shù)在使用之前被轉(zhuǎn)換為普通整型,這種轉(zhuǎn)換稱為整型提升。
2、意義
整型提升的意義:表達(dá)式的整型運(yùn)算要在CPU的相應(yīng)運(yùn)算器件內(nèi)執(zhí)行,CPU內(nèi)整型運(yùn)算器(ALU)的操作數(shù)的字節(jié)長(zhǎng)度一般就是int的字節(jié)長(zhǎng)度,同時(shí)也是CPU的通用寄存器的長(zhǎng)度。因此,即使兩個(gè)char類型的相加,在CPU執(zhí)行時(shí)實(shí)際上也要先轉(zhuǎn)換為CPU內(nèi)整型操作數(shù)的標(biāo)準(zhǔn)長(zhǎng)度。通用CPU(general-purpose CPU)是難以直接實(shí)現(xiàn)兩個(gè)8比特字節(jié)直接相加運(yùn)算(雖然機(jī)器指令中可能有這種字節(jié)相加指令)。所以,表達(dá)式中各種長(zhǎng)度可能小于int長(zhǎng)度的整型值,都必須先轉(zhuǎn)換為int或unsigned int,然后才能送入CPU去執(zhí)行運(yùn)算。
例如:
3、如何進(jìn)行整型提升
整形提升是按照變量的數(shù)據(jù)類型的符號(hào)位來(lái)提升的。
2、算術(shù)轉(zhuǎn)換如果某個(gè)操作符的各個(gè)操作數(shù)屬于不同的類型,那么除非其中一個(gè)操作數(shù)的轉(zhuǎn)換為另一個(gè)操作數(shù)的類型,否則操作就無(wú)法進(jìn)行。下面的層次體系稱為尋常算術(shù)轉(zhuǎn)換。
long double
double
float
unsigned long int
long int
unsigned int
int
如果某個(gè)操作數(shù)的類型在上面這個(gè)列表中排名較低,那么首先要轉(zhuǎn)換為另外一個(gè)操作數(shù)的類型后執(zhí)行運(yùn)算。
3、操作符的屬性復(fù)雜表達(dá)式的求值有三個(gè)影響的因素:
1. 操作符的優(yōu)先級(jí)
2. 操作符的結(jié)合性
3. 是否控制求值順序
兩個(gè)相鄰的操作符先執(zhí)行哪個(gè)?取決于他們的優(yōu)先級(jí)。如果兩者的優(yōu)先級(jí)相同,取決于他們的結(jié)合性。
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
文章題目:操作符(8)-創(chuàng)新互聯(lián)
文章地址:http://www.rwnh.cn/article42/cspihc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、網(wǎng)站改版、定制網(wǎng)站、網(wǎng)站收錄、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容