資源描述:
《運算符與表達式》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第二章運算符與表達式考試要點一、考核知識點(10%左右):1.C語言運算符的種類、運算符優(yōu)先級和結(jié)合性。2.不同類型數(shù)據(jù)間的轉(zhuǎn)換與運算。3.C語言表達式的各種類型和求值規(guī)則。4.位運算符的含義及使用。5.簡單的位運算。二、重要考點:1.運算符的優(yōu)先級及表達式的求值規(guī)則。2.復合的賦值表達式的使用,自增和自減運算符及邏輯運算符的使用。3.簡單的位運算操作。2.1C語言運算符簡介考點1C運算符簡介算術(shù)運算符:+,-,*,/,%關(guān)系運算符:>,>=,==,!=,<,<=位運算符:>>,<<,~,&,
2、,^邏輯運算符:!,&&,
3、
4、條件運算符:?:指針運算符:&,*賦
5、值運算符:=逗號運算符:,字符運算符:sizeof強制運算符:(類型名)(表達式)2.1C語言運算符簡介考點2運算符的結(jié)合性和優(yōu)先性(1)在C語言的運算符中,所有的單目運算符、賦值運算符及其擴展運算符,結(jié)合方向都是從右向左,其余運算符的結(jié)合方向是從左向右。(2)各類運算符優(yōu)先級的比較:單目運算符>算術(shù)運算符>關(guān)系運算符>邏輯運算符>條件運算符>賦值運算符>逗號運算符考點3強制類型轉(zhuǎn)換運算符可以利用強制類型轉(zhuǎn)換符將一個表達式轉(zhuǎn)換成所需類型,其一般形式為(類型名)(表達式)例如(char)(x+y)(double)(m*n)2.1C語言運算符簡介考點4逗號運算符和
6、逗號表達式用逗號運算符將幾個表達式連接起來,例如a=b+c,b=a*a,c=a+b,稱為逗號表達式。一般形式為表達式1,表達式2,表達式3,……,表達式n逗號表達式的求解過程是:先求解表達式1,然后再求解表達式2,直到表達式n的值。整個表達式的值是表達式n的值。需要注意的是,逗號運算符是所有運算符中優(yōu)先級別最低的。4.1關(guān)系運算符及其優(yōu)先次序考點5關(guān)系運算符及其優(yōu)先次序<小于<=小于或等于>=大于或等于>大于==等于!=不等于(1)結(jié)合性:自左向右(2)優(yōu)先次序:前四種關(guān)系運算符(<,<=,>=,>)的優(yōu)先級別相同,后兩種(==,!=)優(yōu)先級相同且前四種高于后
7、兩種;關(guān)系運算符的優(yōu)先級低于算術(shù)運算符,高于賦值運算符。4.2邏輯運算符和邏輯表達式考點6邏輯運算符及其優(yōu)先C語言提供了3種邏輯運算符:&&邏輯與
8、
9、邏輯或!邏輯非優(yōu)先級:!、&&、
10、
11、依次降低考點7邏輯表達式在數(shù)學中,關(guān)系式012、
13、組成的邏輯表達式,在某些特定的情況下會產(chǎn)生“短路”現(xiàn)象,如:(1)x&&y&&z,只有當x為真(非0)時,才需要判別y的值;只有x和y都為真時,才需要去判別z的值,只要x為假就不必判別y和z,整個表達式的值為0.(2)x
14、
15、y
16、
17、z,只要x的值為真(
18、非0),就不必判別y和z的值,整個表達式的值為1,只有x的值為假,才需要判別y的值,只有x和y的值同時為假才需要判別z的值,因此,如有以下邏輯表達式(m=x>y)&&(n=c>d),其中x=1,y=2,c=3,d=4,若m和n原值為1,由于”x>y”的值為0,因此m=0,而不執(zhí)行“n=c>d”,所以n的值不是0而是12.2算術(shù)運算符和算術(shù)表達式考點8基本的算術(shù)運算符+,-,*,/,%需要的說明的是,兩個整數(shù)相除的結(jié)果為整型,如5/3的結(jié)果值為1,舍去小數(shù)部分.考點9自增自減運算符作用:使變量的值增1或減1。區(qū)別:(1)++i,--i運算符在前面的,表達式的值和
19、變量一樣,增1或減1;(2)i++,i--運算符在后面的,表達式的值保持不變,變量值增1或減1。注意:(1)結(jié)合方向:自右向左。(2)自增自減運算符只能用于變量,而不是常量和表達式。2.3賦值運算符和賦值表達式考點10復合的賦值運算符在賦值運算符之前加上其他運算符可以構(gòu)成復合賦值運算符。其中與算術(shù)運算符有關(guān)的復合運算符是:+=,-=,*=,/=,%=如求表達式a+=a-=a*a,其中a的初值為122.4位運算在計算機中,數(shù)據(jù)都是以二進制形式存放的,位運算就是指對存儲單元中二進制位的運算??键c11位運算符和位運算C語言提供了6種位運算:<<左移>>右移&按位與
20、
21、按位或^按位異或~按位求反說明:(1)位運算中除“~”以外,均為雙目運算符,要求兩側(cè)各有一個運算量;(2)運算量只能是整型或字符型數(shù)據(jù),不能為實型數(shù)據(jù)。(3)優(yōu)先級為<<>>,&,^,
22、2.4位運算考點12位運算舉例例1下面程序的輸出結(jié)果是_____.#includemain(){charx=040;printf(“%d”,x=x<<1);}例2設(shè)二進制數(shù)a是00101101,若通過異或運算a^b使a的高四位取反,第四位不變,則二進制數(shù)b是____2.5典型例題一、選擇題以下程序的輸出結(jié)果為()#includemain
23、(){inti=4,a;a=i++;p