




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
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.逗號運(yùn)算符和逗號表達(dá)式6 .不同類型數(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)算對象和運(yùn)算符以及括號的有意義組合類似數(shù)學(xué)算式或公式,但寫法有不同運(yùn)算符的優(yōu)先級和結(jié)合性見教材附錄III算術(shù)運(yùn)算符+ - * / %指針運(yùn)算符* &關(guān)系運(yùn)算符 = = !=求字節(jié)數(shù)運(yùn)算符sizeof邏輯運(yùn)算符! & |強(qiáng)制類型轉(zhuǎn)換運(yùn)算符類型位運(yùn)算符 | &分量運(yùn)算符
2、-賦值運(yùn)算符=下標(biāo)運(yùn)算符 條件運(yùn)算符? :其它逗號運(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)算符):兩個整數(shù)相除,其值為整數(shù),如 5 / 3值為1除數(shù)、被除數(shù)中有一個為負(fù)值時,結(jié)果向零取整,如-5/3為 -1除數(shù)、被除數(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)先級與結(jié)合型1)用算術(shù)運(yùn)算符和括號將運(yùn)算對象(操作數(shù))連接起來的、符合 C 語言語法規(guī)則的式子,稱作算術(shù)表達(dá)式。如:-123 a+b 10*(alpha+1.5)*sin(beta)2)運(yùn)算符有優(yōu)先級和結(jié)合性優(yōu)先級:算術(shù)運(yùn)算符先 *、 / 、% 后 +、 -結(jié)合型:左結(jié)合,即表達(dá)式從左向右進(jìn)行計算如: a + b /(c + d % e)- 3.3 + 4 * 3 2.2、算術(shù)表達(dá)式和運(yùn)算符的優(yōu)先級與結(jié)合型1)用算術(shù)運(yùn)算符和3.3、類型轉(zhuǎn)換與強(qiáng)制類型轉(zhuǎn)換可以利用強(qiáng)制類型轉(zhuǎn)
4、換運(yùn)算符將一個表達(dá)式轉(zhuǎn)換成所需類型。如:( 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ù)類型自動從短類型向長類型轉(zhuǎn)化,如上例3.3、類型轉(zhuǎn)換與強(qiáng)制類型轉(zhuǎn)換可以利用強(qiáng)制類型轉(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;先計算(a+b)/2,結(jié)果賦給 ave x = y = z;首先 z = y,然后(y=z)= x與數(shù)學(xué)上的等式不同!5 = x; x+1 = y * a + 3; 都是非法的 C 語句說明1:在 C 語言中判斷是否相等用關(guān)系運(yùn)算(= =)。說明2:運(yùn)算結(jié)果 賦值表達(dá)式的值等于左邊變量的值!3.1.賦值運(yùn)算符“ =”3. 賦值運(yùn)算符和賦值表達(dá)式用法3)整型數(shù)據(jù)賦給實(shí)型變量時,數(shù)值不變,但以浮點(diǎn)數(shù)形式存儲到變量中。3.2、賦值結(jié)果與類型轉(zhuǎn)換2)實(shí)型數(shù)據(jù)(包括單、雙精度)賦給整型變量時,舍棄實(shí)數(shù)的小數(shù)部分。如:設(shè) i 為整型變量,執(zhí)行 i = 5.
6、34 i 的值為 5如:對 float 型變量 f ,執(zhí)行 f = 23 f 的值為 23.000001)如果兩邊的類型一致,就直接賦值;否則需要進(jìn)行類型轉(zhuǎn)換。3)整型數(shù)據(jù)賦給實(shí)型變量時,數(shù)值不變,但以浮點(diǎn)數(shù)形式存儲到變例3.9 main ( )int i;float f;i = 5.34;f = 23;printf ( “i=%d,f= %fn, i, f );上機(jī)演示例3.94)無符號整型與有符號整型例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)無符號整型與有符號整型例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等類型的轉(zhuǎn)換“短”數(shù)據(jù)賦給“長”變量保持?jǐn)?shù)值不變符號擴(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 ); “長”數(shù)據(jù)賦給“短”變量截斷:只將數(shù)據(jù)的低字節(jié)位原封不動送到變量中 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程序編譯時有警告錯例3.12 “長”數(shù)據(jù)賦給“短”變量截斷:只將數(shù)據(jù)的低字節(jié)3.3. 復(fù)合的賦值運(yùn)算符例如:a += 3等價于 a = a + 3x *= y + 8等價于 x = x * ( y + 8 ) 注意有括號x
9、%= 3等價于 x = x % 3算術(shù)運(yùn)算:+=,- =,*=,/=,%=位運(yùn)算: =,&=,=,|=說明:位運(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)先級高于算術(shù)運(yùn)算符,結(jié)合方向是“自右相左”請自學(xué)教材5759頁內(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. 逗號運(yùn)算符和逗號表達(dá)式形式:表達(dá)式1, 表達(dá)式2作用:用于連接表達(dá)式計算過程:先求解表達(dá)式1,在求解表達(dá)式2。整個逗號表達(dá)式的值是表達(dá)式2的值。如: 3+5, 6+8 例: 以下兩個表達(dá)式的含義是不同的。 x=(a=3, 6*3) x=a=3,6*a* 逗號表達(dá)式可組合 * 逗號運(yùn)算符的優(yōu)先級最低,結(jié)合方向自右到左說明:并不是任
11、何地方出現(xiàn)的逗號都是逗號運(yùn)算符如:printf(%d, %d, %dn, a, b, c );如:(a=3*5, a*4), a+55. 逗號運(yùn)算符和逗號表達(dá)式形式:表達(dá)式1, 表達(dá)式2計算過6 不同類型數(shù)據(jù)間的混合運(yùn)算整型、實(shí)型、字符型數(shù)據(jù)可以混合運(yùn)算運(yùn)算時,不同類型的數(shù)據(jù)要先轉(zhuǎn)換成同一類型如:10 + a + 12.3 - 3.14x123floatdoublelongunsignedintchar, shortfloat 型先轉(zhuǎn)換成 double 型char 和 short 型先轉(zhuǎn)換成 int 型不同類型數(shù)據(jù)按照類型級別由低到高的順序轉(zhuǎn)換低高轉(zhuǎn)換規(guī)則6 不同類型數(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最后類型為double型。 例:習(xí)題3.9 x + a%3*(int)(x+y)%2/4 (x=2.5,a=7,y=4.7)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年太陽能電池生產(chǎn)專用設(shè)備項目建議書
- 2025年汽車車速傳感器項目合作計劃書
- 2025年應(yīng)急救生系統(tǒng)項目建議書
- 貴州省黔東南苗族侗族自治州2024-2025學(xué)年高一上學(xué)期1月期末考試 語文 含解析
- 2025年新型分子篩系列產(chǎn)品項目建議書
- 客戶服務(wù)層次化響應(yīng)體系構(gòu)建
- 娛樂行業(yè)演出安全協(xié)議書
- Rebaudioside-E-Standard-生命科學(xué)試劑-MCE
- 伊索寓言小動物的故事解讀
- 監(jiān)控采購安裝合同
- 硫酸分公司30萬噸硫磺制酸試車方案
- 高壓氧科工作總結(jié)高壓氧科個人年終總結(jié).doc
- 電子電路基礎(chǔ)習(xí)題解答
- 《政治學(xué)概論》教學(xué)大綱
- 食品生物化學(xué)習(xí)題謝達(dá)平(動態(tài))
- 保安員工入職登記表
- 斷路器控制回路超詳細(xì)講解
- 簽證戶口本完整翻譯模板
- 睿達(dá)RDCAM激光雕刻切割軟件V5.0操作說明書
- 變電設(shè)備運(yùn)行與維護(hù)培訓(xùn)課件(共102頁).ppt
- 機(jī)械設(shè)計基礎(chǔ)平面連桿機(jī)構(gòu)課件
評論
0/150
提交評論