




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、會計學(xué)1第三第三(d sn)講運(yùn)算符和表達(dá)式講運(yùn)算符和表達(dá)式第一頁,共31頁。C運(yùn)算符算術(shù)運(yùn)算符:(+ - * / % + -)關(guān)系運(yùn)算符:( = !=)邏輯運(yùn)算符:(! & |)位運(yùn)算符 :( | &)賦值運(yùn)算符:(= 及其擴(kuò)展)條件運(yùn)算符:(?:)逗號運(yùn)算符:(,)指針運(yùn)算符:(* &)求字節(jié)數(shù) :(sizeof)強(qiáng)制類型轉(zhuǎn)換:(類型)分量運(yùn)算符:(. -)下標(biāo)運(yùn)算符:()其它 :(( ) -)第三(d sn)講 運(yùn)算符和表達(dá)式第1頁/共30頁第二頁,共31頁。第三(d sn)講 運(yùn)算符和表達(dá)式第2頁/共30頁第三頁,共31頁。第三(d sn)講 運(yùn)算符和表達(dá)式第3
2、頁/共30頁第四頁,共31頁。數(shù)(zhngsh)%要求兩側(cè)均為整型數(shù)據(jù)例 5/2 = -5/2.0 =例 5%2 = -5%2 = 1%10 = 5%1 = 5.5%2例 5/2 = 2 -5/2.0 = -2.5例 5%2 = 1 -5%2 = -1 1%10 = 1 5%1 = 0 5.5%2 ()第三(d sn)講 運(yùn)算符和表達(dá)式第4頁/共30頁第五頁,共31頁。許的標(biāo)識符。例如:數(shù)學(xué)式r2 相應(yīng)的C表達(dá)式應(yīng)寫成:3.14159*r*r C表達(dá)式中的內(nèi)容(nirng)必須書寫在同一行,不允許有分子分母形式,必要時要利用圓括號保證運(yùn)算的順序。例如:c+d相應(yīng)的C表達(dá)式應(yīng)寫成:(a+b)/(
3、c+d) C表達(dá)式不允許使用方括號和花括號,只能使用圓括號來幫助限定運(yùn)算順序。可以使用多層圓括號,但左右括號必須配對,運(yùn)算時從內(nèi)層圓括號開始,由內(nèi)向外依次計算表達(dá)式的值。第三(d sn)講 運(yùn)算符和表達(dá)式第5頁/共30頁第六頁,共31頁。v 復(fù)合賦值運(yùn)算符v 種類(zhngli):+= -= *= /= %= = = &= = |=v 含義: exp1 op= exp2 exp1 = exp1 op exp2a+=3a=a+3x*=y+8x=x*(y+8)x%=3x=x%3例 a=3; d=func(); c=d+2;第三(d sn)講 運(yùn)算符和表達(dá)式第6頁/共30頁第七頁,共31頁。
4、每個表達(dá)式都有一個值(當(dāng)然每個值都有所屬的類型(lixng)):賦值表達(dá)式的值與變量值相等,且可嵌套l 賦值轉(zhuǎn)換規(guī)則:使賦值號右邊表達(dá)式值自動轉(zhuǎn)換成其左邊變量(binling)的類型例 3=x-2*y; a+b=3;例 float f; int i; i=10; f=i;則 f=10.0例 int i; i=2.56; /結(jié)果i=2;例: a=b=c=5 a=(b=5) a=5+(c=6) a=(b=4)+(c=6) a=(b=10)/(c=2)/表達(dá)式值為5,a,b,c值為5/ b=5;a=5/表達(dá)式值11,c=6,a=11/表達(dá)式值10,a=10,b=4,c=6/表達(dá)式值5,a=5,b=1
5、0,c=2第三講 運(yùn)算符和表達(dá)式第7頁/共30頁第八頁,共31頁。例: a=12; a+=a-=a*a例: int a=2; a%=4-1; a+=a*=a-=a*=3; /a=-264 等價(dngji)于a=a+(a=a-(a*a)/a=0 等價(dngji)于a=a+(a=a*(a=a-(a=a*3)第三(d sn)講 運(yùn)算符和表達(dá)式第8頁/共30頁第九頁,共31頁。參類型不一致時轉(zhuǎn)換運(yùn)算轉(zhuǎn)換規(guī)則:不同類型數(shù)據(jù)運(yùn)算時先自動轉(zhuǎn)換成同一類型第三(d sn)講 運(yùn)算符和表達(dá)式第9頁/共30頁第十頁,共31頁。doublefloatlongunsignedintchar,short低高說明:必定
6、的轉(zhuǎn)換運(yùn)算對象類型不同時轉(zhuǎn)換例 char ch; int i; float f; double d;ch/i + f*d - (f+i)intintdoubledoubledoubledoubledoubledoubleintintdoubledoubledoubledoubledoubledouble10+a +i*f - d/l例 int i; float f; double d; long l;第三(d sn)講 運(yùn)算符和表達(dá)式第10頁/共30頁第十一頁,共31頁。例 main() float x; int i; x=3.6; i=(int)x; printf(“x=%f,i=%d”,x
7、,i); 結(jié)果(ji gu):x=3.600000,i=3精度損失(snsh)問題較高類型向較低類型轉(zhuǎn)換時可能發(fā)生第11頁/共30頁第十二頁,共31頁。例 j=3; k=+j;等價(dngji)于:j+;k=j; j=3; k=j+;等價(dngji)于:k=j;j+; j=3; printf(“%d”,+j); j=3; printf(“%d”,j+); a=3;b=5;c=(+a)*b; a=3;b=5;c=(a+)*b; /k=4,j=4/k=3,j=4/4/3/c=20,a=4/c=15,a=4第三(d sn)講 運(yùn)算符和表達(dá)式第12頁/共30頁第十三頁,共31頁。每個表達(dá)式都有一個值
8、(當(dāng)然(dngrn)每個值都有所屬的類型):(i+)中表達(dá)式(i+)的值是變量i在+之前的值;但i+的值已經(jīng)增1;(+i)中表達(dá)式(+i)的值是變量i在+之后的值;+ - 不能用于常量和表達(dá)式,如5+,(a+b)+ -結(jié)合(jih)方向: 自右向左優(yōu)先級:- + - -* / % -+ - (2) (3) (4)例 -i+ -(i+) i=3; printf(“%d”,-i+); /-3 例 j+k; (j+)+k;例 -i+ i=3; printf(“%d”,-i+); 第三(d sn)講 運(yùn)算符和表達(dá)式第13頁/共30頁第十四頁,共31頁。 自增、自減運(yùn)算符使得C的表達(dá)式靈活(ln hu)
9、、簡潔,但有時候會使初學(xué)者迷惑,若使用不當(dāng),會產(chǎn)生意外的后果。這就需要在使用時尤其注意。 當(dāng)一個表達(dá)式中,含有若干個子表達(dá)式時,ANSI C沒有規(guī)定運(yùn)算符和運(yùn)算對象的計算次序,因此不同編譯系統(tǒng)處理的順序可能不同。 例如,x=a*b+c%d 無所謂;例如,a=3;y=a*+a;不同的編譯系統(tǒng)有兩種處理方式,結(jié)果不同: A) 按從左到右的順序處理為:先取a的值3,再計算+a,a的值 自增為4,子表達(dá)式+a的值也為4,所以相乘的結(jié)果為12;B) 按從右到左的順序處理為:先計算+a,a的值自增為4,子表達(dá)式+a的值也為4,再取a的值為4,所以相乘的結(jié)果為16。第三講 運(yùn)算符和表達(dá)式第14頁/共30頁第
10、十五頁,共31頁。main( ) int i=6,k=6,a,b; a=(i+)+(i+)+(i+); b=(+k)+(+k)+(+k); printf(ni=%d,k=%d,i,k); printf(na=%d,b=%d,a,b);若按從左到右的次序(cx)處理,預(yù)期的運(yùn)行結(jié)果為:i=9,k=9a=21,b=24TC 2.0 程序的運(yùn)行(ynxng)結(jié)果如下:i=9,k=9a=18,b=27第三講 運(yùn)算符和表達(dá)式第15頁/共30頁第十六頁,共31頁。例3.2】main( ) int i=5; printf(n%d,%d,i, +i);若按從左到右的次序處理(chl),預(yù)期的運(yùn)行結(jié)果為:5,
11、6TC 2.0 程序的運(yùn)行(ynxng)結(jié)果如下:6, 6第三講 運(yùn)算符和表達(dá)式第16頁/共30頁第十七頁,共31頁。例如(lr),A) y=a*+a; 可改寫為 b=+a; y=a*b; B) printf(n%d,%d,i, +i); 可改寫(gixi)為 k=i; printf(n%d,%d, k, +i);C)a=(i+)+(i+)+(i+); 可改寫為: x=i+; y=i+; z=i+; a=x+y+z;第三講 運(yùn)算符和表達(dá)式第17頁/共30頁第十八頁,共31頁。=!=優(yōu)先級6(高)優(yōu)先級7(低)例 ca+b /c(a+b) ab!=c /(ab)!=c a=bc /a=(bc /
12、a=(bc)l 關(guān)系(gun x)表達(dá)式的值:是邏輯值“真”或“假”,用1和0表示例 int a=3,b=2,c=1,d,f; ab (ab)=c b+cb f=abc/表達(dá)式值1/表達(dá)式值1/表達(dá)式值0/d=1/f=0第三(d sn)講 運(yùn)算符和表達(dá)式第18頁/共30頁第十九頁,共31頁。例 若a=0; b=0.5; x=0.3; 則 a=x278在C中是允許(ynx)的, 值為0例 int i=1, j=7,a; a=i+(j%4!=0); 則a=2例 a0 結(jié)果(ji gu)為 A100 結(jié)果(ji gu)為10第三講 運(yùn)算符和表達(dá)式第19頁/共30頁第二十頁,共31頁。l 關(guān)系運(yùn)算(y
13、n sun)注意:例 注意(zh y)區(qū)分“=”與“=” int a=0,b=1; if(a=b) printf(“a equal to b”); else printf(“a not equal to b”);第三(d sn)講 運(yùn)算符和表達(dá)式第20頁/共30頁第二十一頁,共31頁。ab!a!ba&ba|b真假真假假假真真l C語言中,運(yùn)算量: 0表示(biosh)“假”,l 非0表示(biosh)“真”,l 運(yùn)算結(jié)果: 0表示(biosh)“假”,l 1表示(biosh)“真”,真假假假假假真真假假真真真假真真第三(d sn)講 運(yùn)算符和表達(dá)式第21頁/共30頁第二十二頁,共31頁
14、。! (2)& (11)| (12)高低例 a=x & xb&xy a=b|x=y !a|abl優(yōu)先級:l結(jié)合(jih)方向:! :從右向左& :從左向右| :從左向右/ (a=x) & (xb)&(xy)/(a=b)|(x=y)/(!a)|(ab)第三(d sn)講 運(yùn)算符和表達(dá)式第22頁/共30頁第二十三頁,共31頁。! (2)& (11)| (12)高低l優(yōu)先級:l結(jié)合(jih)方向:! :從右向左& :從左向右| :從左向右例 a=4;b=5; !a a&b a|b !a|b 4&0|2 53&2|
15、83)&2|(8b)&(n=cd)/結(jié)果m=0,n=1第三講 運(yùn)算符和表達(dá)式第24頁/共30頁第二十五頁,共31頁。例 if (ab) printf(“%d”,a); else printf(“%d”,b);printf(“%d”,ab?a:b);例 求 a+|b| printf(“a+|b|=%dn”,b0?a+b:a-b);expr1取expr2值取expr3值非0=0例 (a=b)?Y:N (x%2=1)?1:0 (x=0)?x:-x (c=a & c0?1:(xb?a:cd?c:d ab?a:(cd?c:d)vexpr1、expr2、expr3類型可不同,表達(dá)式
16、值取較高的類型例 x?a:b /x=0,表達(dá)式值為b; x0,表達(dá)式值為a xy?1:1.5 /xy ,值為1.0; xy ,值為1.5第三講 運(yùn)算符和表達(dá)式第25頁/共30頁第二十六頁,共31頁。例 a=3*5,a*4 a=3*5,a*4,a+5例 x=(a=3,6*3) x=a=3,6*a例 a=1;b=2;c=3; printf(“%d,%d,%d”,a,b,c); printf(“%d,%d,%d”,(a,b,c),b,c); /a=15,表達(dá)式值60/a=15,表達(dá)式值20/賦值表達(dá)式,表達(dá)式值18,x=18/逗號(duho)表達(dá)式,表達(dá)式值18,x=3/1,2,3/3,2,3第三(d sn)講 運(yùn)算符和表達(dá)式第26頁/共30頁第二十七頁,共31頁。逗號運(yùn)算符和表達(dá)式形式:表達(dá)式1,表達(dá)式2,表達(dá)式n結(jié)合性:從左向右優(yōu)先級: 15逗號表達(dá)式的值:等
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 托管股份轉(zhuǎn)讓合同
- 外貿(mào)英語術(shù)語應(yīng)用練習(xí)題
- 建筑工程沉降觀測合同范本模板
- 2025國家能源集團(tuán)福建能源有限公司畢業(yè)生直招擬錄用人員筆試參考題庫附帶答案詳解
- 2025四川宜賓市高縣錦途勞務(wù)派遣有限責(zé)任公司招聘勞務(wù)派遣人員12人筆試參考題庫附帶答案詳解
- 2025年上半年宜昌市直事業(yè)單位招考及易考易錯模擬試題(共500題)試卷后附參考答案
- 2025年上半年安徽阜陽潁泉區(qū)水利局排灌站招聘工作人員4人易考易錯模擬試題(共500題)試卷后附參考答案
- 2023年UV激光切割機(jī)投資申請報告
- 2025年上半年安徽省合肥市廬陽區(qū)政府購買崗招聘23人易考易錯模擬試題(共500題)試卷后附參考答案
- 2025年上半年安徽滁州市瑯琊高新產(chǎn)業(yè)投資發(fā)展限公司招聘管理及工作人員11人易考易錯模擬試題(共500題)試卷后附參考答案
- 2025年共青科技職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫完整版
- 2025年上半年潛江市城市建設(shè)發(fā)展集團(tuán)招聘工作人員【52人】易考易錯模擬試題(共500題)試卷后附參考答案
- 統(tǒng)編版語文二年級下冊15古詩二首 《曉出凈慈寺送林子方》公開課一等獎創(chuàng)新教學(xué)設(shè)計
- 旅游電子商務(wù)(第2版) 課件全套 周春林 項(xiàng)目1-8 電子商務(wù)概述-旅游電子商務(wù)數(shù)據(jù)挖掘
- 2024年江西應(yīng)用工程職業(yè)學(xué)院單招職業(yè)技能測試題庫標(biāo)準(zhǔn)卷
- 屏蔽泵知識-課件
- 先天性腎上腺皮質(zhì)增生癥(CAH)課件
- 醫(yī)療機(jī)構(gòu)主要負(fù)責(zé)人簽字表(示例)
- 無犯罪記錄證明委托書(共4篇)
- 粉塵防爆安全知識最全課件
- 公辦園招聘副園長面試題
評論
0/150
提交評論