C語(yǔ)言第三章(續(xù))課件_第1頁(yè)
C語(yǔ)言第三章(續(xù))課件_第2頁(yè)
C語(yǔ)言第三章(續(xù))課件_第3頁(yè)
C語(yǔ)言第三章(續(xù))課件_第4頁(yè)
C語(yǔ)言第三章(續(xù))課件_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、運(yùn)算符與表達(dá)式 第3章(續(xù))運(yùn)算符與表達(dá)式 第3章(續(xù))1. 運(yùn)算符和表達(dá)式2.算術(shù)運(yùn)算符和算術(shù)表達(dá)式3.賦值運(yùn)算符和賦值表達(dá)式4.自增、自減運(yùn)算符5.逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式6 .不同類(lèi)型數(shù)據(jù)間的混合運(yùn)算7. 課后作業(yè)本講主要內(nèi)容:1. 運(yùn)算符和表達(dá)式本講主要內(nèi)容:C 運(yùn)算符1 運(yùn)算符和表達(dá)式表達(dá)式是常量、變量、數(shù)組元素、函數(shù)等運(yùn)算對(duì)象和運(yùn)算符以及括號(hào)的有意義組合類(lèi)似數(shù)學(xué)算式或公式,但寫(xiě)法有不同運(yùn)算符的優(yōu)先級(jí)和結(jié)合性見(jiàn)教材附錄III算術(shù)運(yùn)算符+ - * / %指針運(yùn)算符* &關(guān)系運(yùn)算符 = = !=求字節(jié)數(shù)運(yùn)算符sizeof邏輯運(yùn)算符! & |強(qiáng)制類(lèi)型轉(zhuǎn)換運(yùn)算符類(lèi)型位運(yùn)算符 | &分量運(yùn)算符

2、-賦值運(yùn)算符=下標(biāo)運(yùn)算符 條件運(yùn)算符? :其它逗號(hào)運(yùn)算符,C 運(yùn)算符1 運(yùn)算符和表達(dá)式表達(dá)式是常量、變量、數(shù)組元2 算術(shù)運(yùn)算符和算術(shù)表達(dá)式2.1、基本的算術(shù)運(yùn)算符+ (加法運(yùn)算符,或正值運(yùn)算符):如 2 + 3、+6- (減法運(yùn)算符,或負(fù)值運(yùn)算符):如 3 - 4、-6* (乘法運(yùn)算符):如 3 * 4/ (除法運(yùn)算符):兩個(gè)整數(shù)相除,其值為整數(shù),如 5 / 3值為1除數(shù)、被除數(shù)中有一個(gè)為負(fù)值時(shí),結(jié)果向零取整,如-5/3為 -1除數(shù)、被除數(shù)中有一個(gè)為實(shí)數(shù)時(shí),結(jié)果為 double 型-7 % 4 ,7 % -4 ,-7 % -4的值為多少?% (模(求余)運(yùn)算符): % 兩側(cè)均為整型數(shù)據(jù)如 7

3、% 4 的值為 3(-3,3,-3) 2 算術(shù)運(yùn)算符和算術(shù)表達(dá)式2.1、基本的算術(shù)運(yùn)算符+ (2.2、算術(shù)表達(dá)式和運(yùn)算符的優(yōu)先級(jí)與結(jié)合型1)用算術(shù)運(yùn)算符和括號(hào)將運(yùn)算對(duì)象(操作數(shù))連接起來(lái)的、符合 C 語(yǔ)言語(yǔ)法規(guī)則的式子,稱(chēng)作算術(shù)表達(dá)式。如:-123 a+b 10*(alpha+1.5)*sin(beta)2)運(yùn)算符有優(yōu)先級(jí)和結(jié)合性?xún)?yōu)先級(jí):算術(shù)運(yùn)算符先 *、 / 、% 后 +、 -結(jié)合型:左結(jié)合,即表達(dá)式從左向右進(jìn)行計(jì)算如: a + b /(c + d % e)- 3.3 + 4 * 3 2.2、算術(shù)表達(dá)式和運(yùn)算符的優(yōu)先級(jí)與結(jié)合型1)用算術(shù)運(yùn)算符和3.3、類(lèi)型轉(zhuǎn)換與強(qiáng)制類(lèi)型轉(zhuǎn)換可以利用強(qiáng)制類(lèi)型轉(zhuǎn)

4、換運(yùn)算符將一個(gè)表達(dá)式轉(zhuǎn)換成所需類(lèi)型。如:( double ) a( int ) ( x + y ) 與 ( int ) x + y不同( float ) ( 8 % 5 )例3.7void main ( )float x;int i;x = 3.6;i = ( int ) x + 2;printf ( %f, %dn, x, i ); 同一運(yùn)算符相連的運(yùn)算數(shù)的數(shù)據(jù)類(lèi)型自動(dòng)從短類(lèi)型向長(zhǎng)類(lèi)型轉(zhuǎn)化,如上例3.3、類(lèi)型轉(zhuǎn)換與強(qiáng)制類(lèi)型轉(zhuǎn)換可以利用強(qiáng)制類(lèi)型轉(zhuǎn)換運(yùn)算符將一3.1.賦值運(yùn)算符“ =”3. 賦值運(yùn)算符和賦值表達(dá)式用法:變量 = 表達(dá)式作用:將表達(dá)式的值賦給變量(構(gòu)成賦值表達(dá)式)如:a = 5;5

5、 = a ave = ( a + b ) / 2;先計(jì)算(a+b)/2,結(jié)果賦給 ave x = y = z;首先 z = y,然后(y=z)= x與數(shù)學(xué)上的等式不同!5 = x; x+1 = y * a + 3; 都是非法的 C 語(yǔ)句說(shuō)明1:在 C 語(yǔ)言中判斷是否相等用關(guān)系運(yùn)算(= =)。說(shuō)明2:運(yùn)算結(jié)果 賦值表達(dá)式的值等于左邊變量的值!3.1.賦值運(yùn)算符“ =”3. 賦值運(yùn)算符和賦值表達(dá)式用法3)整型數(shù)據(jù)賦給實(shí)型變量時(shí),數(shù)值不變,但以浮點(diǎn)數(shù)形式存儲(chǔ)到變量中。3.2、賦值結(jié)果與類(lèi)型轉(zhuǎn)換2)實(shí)型數(shù)據(jù)(包括單、雙精度)賦給整型變量時(shí),舍棄實(shí)數(shù)的小數(shù)部分。如:設(shè) i 為整型變量,執(zhí)行 i = 5.

6、34 i 的值為 5如:對(duì) float 型變量 f ,執(zhí)行 f = 23 f 的值為 23.000001)如果兩邊的類(lèi)型一致,就直接賦值;否則需要進(jìn)行類(lèi)型轉(zhuǎn)換。3)整型數(shù)據(jù)賦給實(shí)型變量時(shí),數(shù)值不變,但以浮點(diǎn)數(shù)形式存儲(chǔ)到變例3.9 main ( )int i;float f;i = 5.34;f = 23;printf ( “i=%d,f= %fn, i, f );上機(jī)演示例3.94)無(wú)符號(hào)整型與有符號(hào)整型例3.10void main( )unsigned a;int b = -1;a = b;printf ( %d - %un, b, a );a = 65534u; b = a ;printf

7、 ( %d - %un, b, a ); 1 11 11 11 11 11 11 11 1b11 11 11 11 11 11 11 11 a4)無(wú)符號(hào)整型與有符號(hào)整型例3.10 1 11 11 0 0 1 0 1 0 1 1 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 i 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1i5)char、int、long等類(lèi)型的轉(zhuǎn)換“短”數(shù)據(jù)賦給“長(zhǎng)”變量保持?jǐn)?shù)值不變符號(hào)擴(kuò)展:若最高位為 1(負(fù)數(shù)),則變量高字節(jié)位補(bǔ) 1;反之,補(bǔ) 0。 0 0 1 0 1 0 1 1 0 0 例3.12void

8、 main ( )int i;long l = 6324232L;i = l;printf ( i = %dn, i ); “長(zhǎng)”數(shù)據(jù)賦給“短”變量截?cái)啵褐粚?shù)據(jù)的低字節(jié)位原封不動(dòng)送到變量中 0 00 00 00 00 00 10 00 1i = -3276010 00 00 00 00 00 10 00 0 0 00 00 00 01 10 00 00 l=6324232程序編譯時(shí)有警告錯(cuò)例3.12 “長(zhǎng)”數(shù)據(jù)賦給“短”變量截?cái)啵褐粚?shù)據(jù)的低字節(jié)3.3. 復(fù)合的賦值運(yùn)算符例如:a += 3等價(jià)于 a = a + 3x *= y + 8等價(jià)于 x = x * ( y + 8 ) 注意有括號(hào)x

9、%= 3等價(jià)于 x = x % 3算術(shù)運(yùn)算:+=,- =,*=,/=,%=位運(yùn)算: =,&=,=,|=說(shuō)明:位運(yùn)算在12章中介紹。賦值運(yùn)算符與其他運(yùn)算符的組合構(gòu)成復(fù)合的運(yùn)算符3.3. 復(fù)合的賦值運(yùn)算符例如:算術(shù)運(yùn)算:+=,- =,*4、自增、自減運(yùn)算符+ i,-i 在使用 i 之前,先使 i 的值加 1 或減 1i+,i- 在使用 i 之后,使 i 的值加 1 或減 1注意:(1)自增、自減運(yùn)算符只能用于變量,而不能用于常量或表達(dá)式如:5+ ( a+b)+不合法如:-i+ 相當(dāng)于 - ( i+ )(2)+ 和 - - 的優(yōu)先級(jí)高于算術(shù)運(yùn)算符,結(jié)合方向是“自右相左”請(qǐng)自學(xué)教材5759頁(yè)內(nèi)容4、自

10、增、自減運(yùn)算符+ i,-i 在使用 i 之前例1void main()int i = 0, j; j = i+; printf (%d %dn, i, j); i = 0; j = +i; printf (%d %dn, i, j);例2 講解演示習(xí)題3.10例15. 逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式形式:表達(dá)式1, 表達(dá)式2作用:用于連接表達(dá)式計(jì)算過(guò)程:先求解表達(dá)式1,在求解表達(dá)式2。整個(gè)逗號(hào)表達(dá)式的值是表達(dá)式2的值。如: 3+5, 6+8 例: 以下兩個(gè)表達(dá)式的含義是不同的。 x=(a=3, 6*3) x=a=3,6*a* 逗號(hào)表達(dá)式可組合 * 逗號(hào)運(yùn)算符的優(yōu)先級(jí)最低,結(jié)合方向自右到左說(shuō)明:并不是任

11、何地方出現(xiàn)的逗號(hào)都是逗號(hào)運(yùn)算符如:printf(%d, %d, %dn, a, b, c );如:(a=3*5, a*4), a+55. 逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式形式:表達(dá)式1, 表達(dá)式2計(jì)算過(guò)6 不同類(lèi)型數(shù)據(jù)間的混合運(yùn)算整型、實(shí)型、字符型數(shù)據(jù)可以混合運(yùn)算運(yùn)算時(shí),不同類(lèi)型的數(shù)據(jù)要先轉(zhuǎn)換成同一類(lèi)型如:10 + a + 12.3 - 3.14x123floatdoublelongunsignedintchar, shortfloat 型先轉(zhuǎn)換成 double 型char 和 short 型先轉(zhuǎn)換成 int 型不同類(lèi)型數(shù)據(jù)按照類(lèi)型級(jí)別由低到高的順序轉(zhuǎn)換低高轉(zhuǎn)換規(guī)則6 不同類(lèi)型數(shù)據(jù)間的混合運(yùn)算整型、實(shí)型、字符型數(shù)據(jù)可以混合例:設(shè)k=2為int型變量,f1.2為float型,d=4.0為double型??紤]如下式子的運(yùn)算10 + a + k*f d/k解:原式 = 107 + 2.4 +2.0 = 109.4 + 2.0 = 111.4最后類(lèi)型為double型。 例:習(xí)題3.9 x + a%3*(int)(x+y)%2/4 (x=2.5,a=7,y=4.7)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論