資源描述:
《《運(yùn)算符與表達(dá)式》PPT課件》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、第3章運(yùn)算符與表達(dá)式任課教師:張盈教案制作:張盈本次課主要內(nèi)容:C運(yùn)算符簡(jiǎn)介算術(shù)運(yùn)算賦值運(yùn)算逗號(hào)運(yùn)算符及逗號(hào)表達(dá)式長(zhǎng)度運(yùn)算符強(qiáng)制類(lèi)型轉(zhuǎn)換運(yùn)算符的優(yōu)先級(jí)和運(yùn)算順序23.1C運(yùn)算符簡(jiǎn)介(1)算術(shù)運(yùn)算符:+、-、*、/、%、++、--(2)關(guān)系運(yùn)算符:>、<、==、>=、<=、!=(3)邏輯運(yùn)算符:!、&&、
2、
3、(4)賦值運(yùn)算符:=、復(fù)合的賦值運(yùn)算符(5)逗號(hào)運(yùn)算符:,(6)位運(yùn)算符:<<、>>、~、
4、、^、&(7)條件運(yùn)算符:?:3C運(yùn)算符簡(jiǎn)介(續(xù))(8)指針運(yùn)算符:*、&(9)強(qiáng)制類(lèi)型轉(zhuǎn)換運(yùn)算符:(類(lèi)型)(10)下標(biāo)運(yùn)算符:[](11)求字節(jié)數(shù)運(yùn)算符:sizeof(12)
5、分量運(yùn)算符:?、->(13)其他運(yùn)算符:如函數(shù)調(diào)用運(yùn)算符()43.2算術(shù)運(yùn)算算術(shù)運(yùn)算符雙目運(yùn)算符:有兩個(gè)操作數(shù)參與運(yùn)算+(加)、-(減)、*(乘)、/(除)、%(求余)單目運(yùn)算符:有一個(gè)操作數(shù)參與運(yùn)算+(正)、-(負(fù))、++(自增)、--(自減)算術(shù)表達(dá)式注意:C語(yǔ)言中不含乘方運(yùn)算符,不能直接進(jìn)行乘方運(yùn)算!5除法運(yùn)算符“/”注意下面的表達(dá)式:1/3*31*3/3結(jié)果一樣?說(shuō)明:兩個(gè)整數(shù)相除,結(jié)果為整數(shù);兩個(gè)實(shí)數(shù)相除,結(jié)果為實(shí)數(shù)。閱讀程序:main(){inta=22;intb=3;printf(“%d”,a/b);}運(yùn)行結(jié)果為7,而不是7.333333,Why?6求
6、余運(yùn)算符“%”說(shuō)明:表達(dá)式a%b的運(yùn)算結(jié)果為a除以b的余數(shù),并且a、b必須為整數(shù)。舉例:13%5結(jié)果為32%8結(jié)果為2-22%7結(jié)果為-1練習(xí):122%11-1%97自增和自減運(yùn)算符++、--作用:將操作數(shù)自己增加1或者減少1。前置(前綴):如:++i、--i后置(后綴):如:i++、i--main(){inti=3,j=4;i++;++i;j--;--j;printf(“%d%d”,i,j);}結(jié)果輸出:52掌握8比較前置運(yùn)算和后置運(yùn)算main(){inti=3,j,k;j=i++;k=++j;printf("%d%d%d",i,j,k);}請(qǐng)先閱讀下面的程序
7、:結(jié)果輸出顯示:444過(guò)程:i=3;3j=i;3i=i+1;4j=j+1;4k=j;4i,j,k:4449自增、自減運(yùn)算小結(jié):自增運(yùn)算符和自減運(yùn)算符是單目運(yùn)算符,且只能用于單個(gè)變量。當(dāng)前置運(yùn)算或者后置運(yùn)算與其他運(yùn)算結(jié)合在一個(gè)表達(dá)式中時(shí):前置運(yùn)算:先增值后引用后置運(yùn)算:先引用后增值“++”和“--”的運(yùn)算結(jié)合方向是從右到左。10閱讀下面的程序,寫(xiě)出運(yùn)行結(jié)果:main(){inti=2,j,k;j=(i++)+(i++)+(i++);k=(--i)+(--i)+(--i);printf(“%d%d%d”,i,j,k);}Answer:26611算術(shù)表達(dá)式算術(shù)表達(dá)式是指由
8、算術(shù)運(yùn)算符、運(yùn)算量、括號(hào)和函數(shù)組成,符合C語(yǔ)言語(yǔ)法規(guī)則的式子。算術(shù)運(yùn)算符優(yōu)先級(jí):12括號(hào)可用于改變計(jì)算順序先算括號(hào)里面的表達(dá)式,得到的結(jié)果再參與括號(hào)外面的相關(guān)計(jì)算。ForExample:-3-2*3+2/3*2-((3-2)*(3+2)/(3*2))13算術(shù)表達(dá)式的數(shù)據(jù)類(lèi)型算術(shù)表達(dá)式的數(shù)據(jù)類(lèi)型即該表達(dá)式的值的類(lèi)型。兩個(gè)同類(lèi)型的運(yùn)算量參加運(yùn)算,其結(jié)果也是同類(lèi)型的。143.3賦值運(yùn)算賦值運(yùn)算符:=,其結(jié)合方式為自右向左。其優(yōu)先級(jí)很低,低于所有的算術(shù)運(yùn)算符。賦值表達(dá)式:由賦值運(yùn)算符“=”將變量和表達(dá)式連接起來(lái)的式子。形式:變量=表達(dá)式運(yùn)算過(guò)程:將賦值運(yùn)算符右邊表達(dá)式的值賦給左
9、邊的變量。15ForExample:(1)a=a+1;等價(jià)于:a++;(2)a=b=c=2;連續(xù)賦值等價(jià)于:a=(b=(c=2));或者:a=2;b=2;c=2;(3)a=2+(b=3);等價(jià)于:b=3;a=2+3=5;(4)a=(b=2)*(c=3);等價(jià)于:b=2;c=3;a=2*3=6;允許賦值表達(dá)式中含有另外的賦值表達(dá)式,進(jìn)行連續(xù)賦值16賦值運(yùn)算的注意事項(xiàng):“=”是一個(gè)雙目運(yùn)算符,需要左右兩個(gè)變量。“=”是賦值運(yùn)算符,不等于等號(hào),沒(méi)有相等的含義。“=”左端的運(yùn)算量必須是單個(gè)變量,而不能是表達(dá)式。賦值運(yùn)算中,首先使運(yùn)算符左端的變量具有右端表達(dá)式的值,然后整個(gè)表達(dá)式
10、的結(jié)果為右端表達(dá)式的值。17賦值運(yùn)算中數(shù)值類(lèi)型的轉(zhuǎn)換當(dāng)賦值運(yùn)算符兩端的數(shù)據(jù)類(lèi)型不同時(shí),編譯程序?qū)①x值運(yùn)算符右邊表達(dá)式的數(shù)據(jù)類(lèi)型自動(dòng)轉(zhuǎn)換成左邊變量的數(shù)據(jù)類(lèi)型。18復(fù)合的賦值運(yùn)算符復(fù)合賦值運(yùn)算符:+=、-=、*=、/=、%=等。復(fù)合賦值運(yùn)算表達(dá)式的一般形式:變量op=表達(dá)式說(shuō)明:“op”為其它運(yùn)算符,如+、-、*、/、%等。舉例:a+=b……a*=b等同:a=a+b……a=a*b19表達(dá)式“變量op=表達(dá)式;”的執(zhí)行過(guò)程步驟:(1)求出“表達(dá)式”的值;(2)把求出的表達(dá)式的值與“變量”做op運(yùn)算;(3)把第二步求出的值再賦給“變量”。例如:設(shè)