資源描述:
《算術(shù)運算符和算術(shù)表達式.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、算術(shù)運算符和算術(shù)表達式授課教師:江星玲28七月20212.8算術(shù)運算符和算術(shù)表達式2.8.1C運算符簡介C的運算符有以下幾類:(1)算術(shù)運算符(+-*/%)(2)關(guān)系運算符(><==>=<=?。剑?3)邏輯運算符(?。Γ?/p>
2、
3、)(4)位運算符(<<>>~
4、∧&)(5)賦值運算符(=及其擴展賦值運算符)(6)條件運算符(?:)2.8算術(shù)運算符和算術(shù)表達式(7)逗號運算符(,)(8)指針運算符(*和&)(9)求字節(jié)數(shù)運算符(sizeof)(10)強制類型轉(zhuǎn)換運算符((類型))(11)分量運算符(.->)(12)
5、下標(biāo)運算符([?。荩?13)其他(如函數(shù)調(diào)用運算符())2.8算術(shù)運算符和算術(shù)表達式2.8.2算術(shù)運算符和算術(shù)表達式(1)基本的算術(shù)運算符:+(加法運算符,或正值運算符。如:3+5、+3)-(減法運算符,或負(fù)值運算符。如:5-2、-3)*(乘法運算符。如:3*5)/(除法運算符。如:5/3)%(模運算符,或稱求余運算符,%兩側(cè)均應(yīng)為整型數(shù)據(jù),如:7%4的值為3)。2.8算術(shù)運算符和算術(shù)表達式(2)算術(shù)表達式和運算符的優(yōu)先級與結(jié)合性基本的算術(shù)運算符:用算術(shù)運算符和括號將運算對象(也稱操作數(shù))連接起來的、符合
6、C語法規(guī)則的式子,稱為C算術(shù)表達式。運算對象包括常量、變量、函數(shù)等。例如:a*b/c-1.5+′a′是一個合法的表達式C語言規(guī)定了運算符的優(yōu)先級和結(jié)合性。在表達式求值時,先按運算符的優(yōu)先級別高低次序執(zhí)行,例如先乘除后加減。C規(guī)定了各種運算符的結(jié)合方向(結(jié)合性)算術(shù)運算符的結(jié)合方向為“自左至右”,即先左后右。2.8算術(shù)運算符和算術(shù)表達式2.8算術(shù)運算符和算術(shù)表達式(3)強制類型轉(zhuǎn)換運算符可以利用強制類型轉(zhuǎn)換運算符將一個表達式轉(zhuǎn)換成所需類型。一般形式:(類型名)(表達式)例如:(double)a將a轉(zhuǎn)換成do
7、uble類型(int)(x+y)將x+y的值轉(zhuǎn)換成整型(float)(5%3)將5%3的值轉(zhuǎn)換成float型例3.8強制類型轉(zhuǎn)換。#includevoidmain(){floatx;inti;x=3.6;i=(int)x;printf("x=%f,i=%d",x,i);}說明:有兩種類型轉(zhuǎn)換,一種是在運算時不必用戶指定,系統(tǒng)自動進行的類型轉(zhuǎn)換,如3+6.5。第二種是強制類型轉(zhuǎn)換。當(dāng)自動類型轉(zhuǎn)換不能實現(xiàn)目的時,可以用強制類型轉(zhuǎn)換。運行結(jié)果:x=3.600000,i=32.8算
8、術(shù)運算符和算術(shù)表達式(4)自增、自減運算符作用是使變量的值增1或減1如:++i,--i(在使用i之前,先使i的值加(減)1)i++,i--(在使用i之后,使i的值加(減)1)2.8算術(shù)運算符和算術(shù)表達式i++與++i的區(qū)別:++i是先執(zhí)行i=i+1后,再使用i的值;i++是先使用i的值后,再執(zhí)行i=i+1。例如:①j=++i;i的值先變成4,再賦給j,j的值均為4②j=i++;先將i的值3賦給j,j的值為3,然后i變?yōu)椋醋⒁猓?1)自增運算符(++),自減運算符(--),只能用于變量,而不能用于常量或表達
9、式,(2)++和--的結(jié)合方向是“自右至左”。自增(減)運算符常用于循環(huán)語句中使循環(huán)變量自動加1。也用于指針變量,使指針指向下一個地址2.8算術(shù)運算符和算術(shù)表達式(5)有關(guān)表達式使用中的問題說明①ANSIC并沒有具體規(guī)定表達式中的子表達式的求值順序,允許各編譯系統(tǒng)自己安排。例如:對表達式a=f1()+f2()并不是所有的編譯系統(tǒng)都先調(diào)用f1(),然后調(diào)用f2()。在有的情況下結(jié)果可能不同。有時會出現(xiàn)一些令人容易搞混的問題,因此務(wù)必要小心謹(jǐn)慎。2.8算術(shù)運算符和算術(shù)表達式②C語言中有的運算符為一個字符,有的
10、運算符由兩個字符組成,為避免誤解,最好采取大家都能理解的寫法。例如:不要寫成i+++j的形式,而應(yīng)寫成(i++)+j的形式2.8算術(shù)運算符和算術(shù)表達式③在調(diào)用函數(shù)時,實參數(shù)的求值順序,C標(biāo)準(zhǔn)并無統(tǒng)一規(guī)定。例如:i的初值為3,如果有下面的函數(shù)調(diào)用:printf(″%d,%d″,i,i++)在有的系統(tǒng)中,從左至右求值,輸出“3,3”。在多數(shù)系統(tǒng)中對函數(shù)參數(shù)的求值順序是自右而左,printf函數(shù)輸出的是“4,3”。以上這種寫法不宜提倡,最好改寫成j=i++;printf("%d,%d",j,i)不要寫出別人看不
11、懂的也不知道系統(tǒng)會怎樣執(zhí)行程序2.8算術(shù)運算符和算術(shù)表達式2.9賦值運算符和賦值表達式(1)賦值運算符賦值符號“=”就是賦值運算符,它的作用是將一個數(shù)據(jù)賦給一個變量。如“a=3”的作用是執(zhí)行一次賦值操作(或稱賦值運算)。把常量3賦給變量a。也可以將一個表達式的值賦給一個變量.2.9賦值運算符和賦值表達式(2)類型轉(zhuǎn)換如果賦值運算符兩側(cè)的類型不一致,但都是數(shù)值型或字符型時,在賦值時要進行類型轉(zhuǎn)換。①將浮點型數(shù)據(jù)(包括單、雙精度)