第三章運(yùn)算符與表達(dá)式_第1頁(yè)
第三章運(yùn)算符與表達(dá)式_第2頁(yè)
第三章運(yùn)算符與表達(dá)式_第3頁(yè)
第三章運(yùn)算符與表達(dá)式_第4頁(yè)
第三章運(yùn)算符與表達(dá)式_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第三章運(yùn)算符與表達(dá)式第1頁(yè),課件共31頁(yè),創(chuàng)作于2023年2月

主要內(nèi)容3.1算術(shù)運(yùn)算符與算術(shù)表達(dá)式3.2賦值運(yùn)算符與賦值表達(dá)式3.3逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式3.4關(guān)系運(yùn)算符與關(guān)系表達(dá)式3.5邏輯運(yùn)算符與邏輯表達(dá)式3.6其它運(yùn)算符與其它表達(dá)式第2頁(yè),課件共31頁(yè),創(chuàng)作于2023年2月本章要點(diǎn)六類(lèi)運(yùn)算符及其相應(yīng) 的表達(dá)式運(yùn)算符的優(yōu)先級(jí)與結(jié) 合方向第3頁(yè),課件共31頁(yè),創(chuàng)作于2023年2月

3.1算術(shù)運(yùn)算符和算術(shù)表達(dá)式(1)基本的算術(shù)運(yùn)算符:+(加法運(yùn)算符,或正值運(yùn)算符,如:3+5、+3)-(減法運(yùn)算符,或負(fù)值運(yùn)算符,如:5-2、-3)*(乘法運(yùn)算符,如:3*5)/(除法運(yùn)算符,如:5/3)%(模運(yùn)算符,或稱(chēng)求余運(yùn)算符,%兩側(cè)均應(yīng)為整型數(shù)據(jù),如:7%4的值為3)。第4頁(yè),課件共31頁(yè),創(chuàng)作于2023年2月(2)算術(shù)運(yùn)算符和表達(dá)式的優(yōu)先級(jí)與結(jié)合性:

用算術(shù)運(yùn)算符和括號(hào)將運(yùn)算對(duì)象(也稱(chēng)操作數(shù))連接起來(lái)的、符合C語(yǔ)法規(guī)則的式子,稱(chēng)為C算術(shù)表達(dá)式。運(yùn)算對(duì)象包括常量、變量、函數(shù)等。

例如:a*b/c-1.5+′a′是一個(gè)合法的表達(dá)式。第5頁(yè),課件共31頁(yè),創(chuàng)作于2023年2月C語(yǔ)言規(guī)定了運(yùn)算符的優(yōu)先級(jí)和結(jié)合性。在表達(dá)式求值時(shí),先按運(yùn)算符的優(yōu)先級(jí)別高低次序執(zhí)行,例如先乘除后加減。C規(guī)定了各種運(yùn)算符的結(jié)合方向(結(jié)合性)算術(shù)運(yùn)算符的結(jié)合方向?yàn)椤白宰笾劣摇?,即先左后右。?頁(yè),課件共31頁(yè),創(chuàng)作于2023年2月(3)強(qiáng)制類(lèi)型轉(zhuǎn)換運(yùn)算符

可以利用強(qiáng)制類(lèi)型轉(zhuǎn)換運(yùn)算符將一個(gè)表達(dá)式轉(zhuǎn)換成所需類(lèi)型。

一般形式:(類(lèi)型名)(表達(dá)式)例如:(double)a將a轉(zhuǎn)換成double類(lèi)型(int)(x+y)將x+y的值轉(zhuǎn)換成整型(float)(5%3)將5%3的值轉(zhuǎn)換成float型第7頁(yè),課件共31頁(yè),創(chuàng)作于2023年2月例3.1強(qiáng)制類(lèi)型轉(zhuǎn)換。

#include<stdio.h>

main()

{floatx;

inti;

x=3.6;

i=(int)x;

printf("x=%f,i=%d\n",x,i);

說(shuō)明:在強(qiáng)制類(lèi)型轉(zhuǎn)換時(shí),得到一個(gè)所需類(lèi)型的中間變量,原來(lái)變量的類(lèi)型未發(fā)生變化。運(yùn)行結(jié)果:x=3.600000,i=3第8頁(yè),課件共31頁(yè),創(chuàng)作于2023年2月(4)

自增、自減運(yùn)算符

作用是使變量的值增1或減1。如:

++i,--i(在使用i之前,先使i的值加(減)1)i++,i--(在使用i之后,使i的值加(減)1)

第9頁(yè),課件共31頁(yè),創(chuàng)作于2023年2月i++與++i的區(qū)別:++i是先執(zhí)行i=i+1后,再使用i的值;i++是先使用i的值后,再執(zhí)行i=i+1。例如:i=3;①j=++i;i的值先變成4,再賦給j,j的值為4。②j=i++;先將i的值3賦給j,j的值為3,然后i變?yōu)椋础5?0頁(yè),課件共31頁(yè),創(chuàng)作于2023年2月注意:

(1)自增運(yùn)算符(++),自減運(yùn)算符(--),只能用于變量,而不能用于常量或表達(dá)式,(2)++和--的結(jié)合方向是“自右至左”。

第11頁(yè),課件共31頁(yè),創(chuàng)作于2023年2月

3.2賦值運(yùn)算符和賦值表達(dá)式

(1)賦值運(yùn)算符

賦值符號(hào)“=”就是賦值運(yùn)算符,它的作用是將一個(gè)數(shù)據(jù)賦給一個(gè)變量。如“a=3”的作用是執(zhí)行一次賦值操作(或稱(chēng)賦值運(yùn)算)。把常量3賦給變量a。也可以將一個(gè)表達(dá)式的值賦給一個(gè)變量。

(2)類(lèi)型轉(zhuǎn)換

如果賦值運(yùn)算符兩側(cè)的類(lèi)型不一致,但都是數(shù)值型或字符型時(shí),在賦值時(shí)要進(jìn)行類(lèi)型轉(zhuǎn)換。第12頁(yè),課件共31頁(yè),創(chuàng)作于2023年2月(3)復(fù)合的賦值運(yùn)算符

在賦值符“=”之前加上其他運(yùn)算符,可以構(gòu)成復(fù)合的運(yùn)算符。例如:a+=3等價(jià)于a=a+3x*=y+8等價(jià)于x=x*(y+8)x%=3等價(jià)于x=x%3以“a+=3”為例來(lái)說(shuō)明,它相當(dāng)于使a進(jìn)行一次自加(3)的操作。即先使a加3,再賦給a。第13頁(yè),課件共31頁(yè),創(chuàng)作于2023年2月為便于記憶,可以這樣理解:

①a+=b(其中a為變量,b為表達(dá)式)②a+=b(將有下劃線的“a+”移到“=”右側(cè))|___↑③a=a+b(在“=”左側(cè)補(bǔ)上變量名a)第14頁(yè),課件共31頁(yè),創(chuàng)作于2023年2月注意:如果b是包含若干項(xiàng)的表達(dá)式,則相當(dāng)于它有括號(hào)。如:

①x%=y+3

②x%=(y+3)|__↑

③x=x%(y+3)(不要錯(cuò)寫(xiě)成x=x%y+3)

凡是二元(二目)運(yùn)算符,都可以與賦值符一起組合成復(fù)合賦值符。C語(yǔ)言規(guī)定可以使用10種復(fù)合賦值運(yùn)算符:+=,-=,*=,/=,%=,<<=,>>=,&=,∧=,|=第15頁(yè),課件共31頁(yè),創(chuàng)作于2023年2月(4)賦值表達(dá)式

由賦值運(yùn)算符將一個(gè)變量和一個(gè)表達(dá)式連接起來(lái)的式子稱(chēng)為“賦值表達(dá)式”。一般形式為:

<變量><賦值運(yùn)算符><表達(dá)式>

例如:“a=5”是一個(gè)賦值表達(dá)式

第16頁(yè),課件共31頁(yè),創(chuàng)作于2023年2月對(duì)賦值表達(dá)式求解的過(guò)程是:①求賦值運(yùn)算符右側(cè)的“表達(dá)式”的值;②賦給賦值運(yùn)算符左側(cè)的變量。例如:賦值表達(dá)式“a=3*5”的值為15,執(zhí)行表達(dá)式后,變量a的值也是15。

注意:一個(gè)表達(dá)式應(yīng)該有一個(gè)值。第17頁(yè),課件共31頁(yè),創(chuàng)作于2023年2月

賦值表達(dá)式中的“表達(dá)式”,又可以是一個(gè)賦值表達(dá)式。例如:a=(b=5)

分析:括弧內(nèi)的“b=5”是一個(gè)賦值表達(dá)式,它的值等于5。執(zhí)行表達(dá)式“a=(b=5)”相當(dāng)于執(zhí)行“b=5”和“a=b”兩個(gè)賦值表達(dá)式。賦值運(yùn)算符按照“自右向左”的結(jié)合順序,因此,“(b=5)”外面的括弧可以不要,即“a=(b=5)”和“a=b=5”等價(jià)。第18頁(yè),課件共31頁(yè),創(chuàng)作于2023年2月賦值表達(dá)式也可以包含復(fù)合的賦值運(yùn)算符。

如:a+=a-=a*a分析:此賦值表達(dá)式的求解步驟如下∶①先進(jìn)行“a-=a*a”的運(yùn)算,它相當(dāng)于a=a-a*a,a的值為12-144=-132。②再進(jìn)行“a+=-132”的運(yùn)算,相當(dāng)于a=a+(-132),a的值為-132-132=-264。第19頁(yè),課件共31頁(yè),創(chuàng)作于2023年2月

3.3逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式逗號(hào)運(yùn)算符:將兩個(gè)表達(dá)式連接起來(lái),又稱(chēng)為“順序求值運(yùn)算符”

如:3+5,6+8

一般形式:

表達(dá)式1,表達(dá)式2求解過(guò)程:先求解表達(dá)式1,再求解表達(dá)式2。整個(gè)逗號(hào)表達(dá)式的值是表達(dá)式2的值。

逗號(hào)表達(dá)式的值為14第20頁(yè),課件共31頁(yè),創(chuàng)作于2023年2月例:逗號(hào)表達(dá)式a=3*5,a*4

分析:賦值運(yùn)算符的優(yōu)先級(jí)別高于逗號(hào)運(yùn)算符,因此應(yīng)先求解a=3*5。a的值為15,然后求解a*4,得60。整個(gè)逗號(hào)表達(dá)式的值為60。

一個(gè)逗號(hào)表達(dá)式又可以與另一個(gè)表達(dá)式組成一個(gè)新的逗號(hào)表達(dá)式。如:(a=3*5,a*4),a+5先計(jì)算出a的值等于15,再進(jìn)行a*4的運(yùn)算得60(但a值未變,仍為15),再進(jìn)行a+5得20,即整個(gè)表達(dá)式的值為20。第21頁(yè),課件共31頁(yè),創(chuàng)作于2023年2月逗號(hào)表達(dá)式的一般形式可以擴(kuò)展為

表達(dá)式1,表達(dá)式2,表達(dá)式3,……,表達(dá)式n它的值為表達(dá)式n的值。逗號(hào)運(yùn)算符是所有運(yùn)算符中級(jí)別最低的例:①x=(a=3,6*3)②x=a=3,6*3賦值表達(dá)式,將一個(gè)逗號(hào)表達(dá)式的值賦給x,x的值等于18逗號(hào)表達(dá)式,包括一個(gè)賦值表達(dá)式和一個(gè)算術(shù)表達(dá)式,x的值為3,整個(gè)逗號(hào)表達(dá)式的值為18。第22頁(yè),課件共31頁(yè),創(chuàng)作于2023年2月3.4關(guān)系運(yùn)算符和關(guān)系表達(dá)式1.關(guān)系運(yùn)算符及其優(yōu)先次序<(小于)<=(小于或等于)>(大于)>=(大于或等于)==(等于)!=(不等于)優(yōu)先級(jí)相同(高)優(yōu)先級(jí)相同(低)說(shuō)明:關(guān)系運(yùn)算符的優(yōu)先級(jí)低于算術(shù)運(yùn)算符關(guān)系運(yùn)算符的優(yōu)先級(jí)高于賦值運(yùn)算符第23頁(yè),課件共31頁(yè),創(chuàng)作于2023年2月2.關(guān)系表達(dá)式用關(guān)系運(yùn)算符將兩個(gè)表達(dá)式(可以是算術(shù)表達(dá)式或關(guān)系表達(dá)式、邏輯表達(dá)式、賦值表達(dá)式、字符表達(dá)式)連接起來(lái)的式子,稱(chēng)關(guān)系表達(dá)式。例:a>b,a+b>b+c,(a=3)>(b=5),’a’<‘b’,(a>b)>(b<c)

關(guān)系表達(dá)式的值是一個(gè)邏輯值,即“真”或“假”。例:關(guān)系表達(dá)式”a>b”的值為“真”,表達(dá)式的值為1。C語(yǔ)言中沒(méi)有專(zhuān)用的邏輯值,1代表真,0代表假第24頁(yè),課件共31頁(yè),創(chuàng)作于2023年2月3.5邏輯運(yùn)算符和邏輯表達(dá)式1.邏輯運(yùn)算符及其優(yōu)先次序(1)&&(邏輯與)相當(dāng)于其他語(yǔ)言中的AND(2)||(邏輯或)相當(dāng)于其他語(yǔ)言中的OR(3)!(邏輯非)相當(dāng)于其他語(yǔ)言中的NOT例:a&&b若a,b為真,則a&&b為真。a||b若a,b之一為真,則a||b為真。!a若a為真,則!a為假。優(yōu)先次序:!

&&

||邏輯運(yùn)算符中的“&&”和“||”低于關(guān)系運(yùn)算符,“!”高于算術(shù)運(yùn)算符。第25頁(yè),課件共31頁(yè),創(chuàng)作于2023年2月2.邏輯表達(dá)式用邏輯運(yùn)算符將關(guān)系表達(dá)式或邏輯量連接起來(lái)的式子就是邏輯表達(dá)式。邏輯表達(dá)式的值應(yīng)該是一個(gè)邏輯量“真”或“假”。例:設(shè)a=4,b=5:!a的值為0a&&b的值為1a||b的值為1!a||b的值為14&&0||2的值為1任何非零的數(shù)值被認(rèn)作“真”第26頁(yè),課件共31頁(yè),創(chuàng)作于2023年2月1&&0邏輯值為08<3邏輯值為04-1值為3!0邏輯值為15>3邏輯值為1表達(dá)式值為0例:5>3&&8<4-!0

自左向右運(yùn)算

第27頁(yè),課件共31頁(yè),創(chuàng)作于2023年2月3.6其它運(yùn)算符與其它表達(dá)式1、求操作數(shù)占用內(nèi)存長(zhǎng)度運(yùn)算符(sizeof)表達(dá)式形式:sizeofE其中E可以是各種類(lèi)型的變量或變量類(lèi)型說(shuō)明符。sizeofE的作用是求出E所占的內(nèi)存長(zhǎng)度。(以字節(jié)表示)注:當(dāng)表示的是變量類(lèi)型說(shuō)明符時(shí),必須用括號(hào)將其括起來(lái)。例:sizeof(int),sizeof(float)第28頁(yè),課件共31頁(yè),創(chuàng)作于2023年2月2、條件運(yùn)算符表達(dá)形式為:E1?E2:E3E1應(yīng)是一個(gè)關(guān)系表達(dá)式。?:又稱(chēng)為三元運(yùn)算符。運(yùn)算過(guò)程如下:先判斷E1是否成立,若成立 (非零值)則取E2的值作為 運(yùn)算結(jié)果,否則取E3的值。表達(dá)式運(yùn)算結(jié)果的類(lèi)型依賴(lài)于E2和E3的類(lèi)型。例:(a>b)?c:d(3>2)?1:0;結(jié)果為1第29頁(yè),課件共31頁(yè),創(chuàng)作于2023年2月作業(yè):

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論