賦值表達式——2017.2.4
賦值運算符和賦值表達式
“=”號在數(shù)學(xué)是等于號交掏,但在C語言里是賦值號盅弛,叫賦值運算符熊尉。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?變量名=表達式
在C語言中张吉,可以給變量多次賦值肮蛹,每賦值一次都在更新內(nèi)存變量中的值伦忠。
注:
a昆码、賦值運算符的優(yōu)先級別只高于逗號運算符赋咽,比其他運算符優(yōu)先級低,且具有自右向左的結(jié)合性陪毡。
b毡琉、賦值號的左邊一定要是變量,不能是常量或者表達式桅滋。如:a=7+1=b; 是錯誤的。
c笋鄙、定義時萧落,不可以連續(xù)賦值找岖。如:int x=y=10; 是錯誤的兴革,正確的寫法:int x,y; x=y=10杂曲;
d擎勘、C語言規(guī)定最左邊變量中所得到的新值就是賦值表達式的值棚饵。如:a=19;
復(fù)合賦值表達式
定義:在賦值運算符之前加上其他的運算符可以構(gòu)成復(fù)合賦值運算符怪与。
C語言中規(guī)定可以使用10種復(fù)合賦值運算符,其中復(fù)合運算符有:
+=,-=桅咆,×=岩饼,/=籍茧,%=。Ps:兩個符號中間不能有空格吮龄。
復(fù)合賦值運算符的優(yōu)先級與賦值運算符的優(yōu)先級相同漓帚。
賦值運算中的類型轉(zhuǎn)換
在賦值運算中场斑,只有在賦值號兩邊類型一致時漏隐,賦值操作才能進行青责。
如不一致時,則系統(tǒng)將自動將右側(cè)表達式的值按左側(cè)的變量類型轉(zhuǎn)換产阱,稱作“賦值兼容”,這種轉(zhuǎn)換僅限于數(shù)值數(shù)據(jù)之間庄敛。
注:在進行混合運算時科汗,整型數(shù)據(jù)類型的之間的轉(zhuǎn)換問題藻烤。
a、一短整型头滔,一長整型的怖亭,則短轉(zhuǎn)長整型,再進行運算坤检。
b兴猩、一有符號缀蹄,一無符號的峭跳,則有轉(zhuǎn)無符號膘婶,再進行運算。
自加蛀醉、自減運算符和逗號運算符
自加運算符:++悬襟,自減運算符:--。
a++相當(dāng)于a=a+1,i--相當(dāng)于i=i-1;
注:+,-是單目運算符拯刁,運算對象可以是整型變量或?qū)嵭妥兞考乖溃荒苁浅A炕蛘弑磉_式。
記憶口訣:++在前先加后用垛玻,++在后先用后加割捅。
如:int a=5;++a的值?a的值和表達式的值都是6帚桩。
a++呢亿驾?a的值為6,表達式的值為5账嚎。
逗號運算符和逗號表達式
“莫瞬,”是C語言提供的一種特殊運算符,用逗號將表達式連接起來的式子叫逗號表達式郭蕉。
逗號表達式的一般形式為:
? ? ? ? ? ? ? ? ? ? ? 表達式1疼邀,表達式2,表達式3召锈,…旁振,表達式n.
其運算順序是從左到右的,最后一個表達式的值就是這個逗號表達式的值涨岁。
如:(i=3,i++,++i,i+5)這個逗號表達式的值為10拐袜,i的值為5。
在所有運算符中卵惦,逗號運算符的優(yōu)先級是最低的阻肿。
z=(2瓦戚,3沮尿,4)z的值是多少?
z=2较解,3畜疾,4 ? ?z的值是多少?
今天就學(xué)習(xí)到這里了印衔,發(fā)現(xiàn)自己的學(xué)習(xí)進度太慢了啡捶,再這樣下去考試之前都不知道能不能看完這本書,習(xí)題也沒怎么做奸焙,發(fā)現(xiàn)人越大鎖事就越來越多瞎暑,人也越來越懶彤敛,過了一個年又老了一歲了,你的2017年會是怎么樣呢了赌? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
補充:
a墨榄、空語句不可以隨意執(zhí)行,會導(dǎo)致邏輯錯誤勿她。
b袄秩、強制類型轉(zhuǎn)換:
一定是(int)a不是int(a),注意類型上一定有括號的逢并。
(int)(a+b)之剧,(int)a+b的區(qū)別。前者是把a+b轉(zhuǎn)型砍聊,后者是把a轉(zhuǎn)型再加b背稼。
c、‘1’是字符占一個字節(jié)玻蝌,“1”是字符串占兩個字節(jié)(含有一個結(jié)束符號)
d雇庙、字符是可以進行算術(shù)運算的,如:‘0’-0=48灶伊,大寫字母和小寫字母的轉(zhuǎn)換方法:‘A’+32=‘a(chǎn)’疆前,相互之間一般都是相差32。