久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

C語言程序設(shè)計(譚浩強(qiáng))學(xué)習(xí)筆記(2014-11-06)

 zcm1944 2014-11-06

3.8.2 算術(shù)運算符和算術(shù)表達(dá)式
1. 基本的算術(shù)運算符
加法運算符“+”:加法運算符為雙目運算符,,即應(yīng)有兩個量參與加法運算。如a+b,4+8
等,。具有右結(jié)合性。
減法運算符“-”:減法運算符為雙目運算符,。但“-”也可作負(fù)值運算符,,此時為單目
運算,如-x,-5 等具有左結(jié)合性,。
乘法運算符“*”:雙目運算,具有左結(jié)合性,。
除法運算符“/”:雙目運算具有左結(jié)合性,。參與運算量均為整型時,結(jié)果也為整型,,舍
去小數(shù),。如果運算量中有一個是實型,則結(jié)果為雙精度實型,。
〖例 3.14〗
main(){
printf("\n\n%d,%d\n",20/7,-20/7);
printf("%f,%f\n",20.0/7,-20.0/7);
}
本例中,,20/7,-20/7 的結(jié)果均為整型,,小數(shù)全部舍去,。而20.0/7 和-20.0/7 由于有實數(shù)
參與運算,因此結(jié)果也為實型,。
求余運算符(模運算符)“%”:雙目運算,具有左結(jié)合性,。要求參與運算的量均為整型,。
求余運算的結(jié)果等于兩數(shù)相除后的余數(shù)。
【例 3.15】
main(){
printf("%d\n",100%3);
}
本例輸出100 除以3 所得的余數(shù)1,。
2. 算術(shù)表達(dá)式和運算符的優(yōu)先級和結(jié)合性
表達(dá)式是由常量,、變量、函數(shù)和運算符組合起來的式子,。一個表達(dá)式有一個值及其類型,,
它們等于計算表達(dá)式所得結(jié)果的值和類型。表達(dá)式求值按運算符的優(yōu)先級和結(jié)合性規(guī)定的順
序進(jìn)行,。單個的常量,、變量、函數(shù)可以看作是表達(dá)式的特例。
第 51 頁

算術(shù)表達(dá)式是由算術(shù)運算符和括號連接起來的式子,。
算術(shù)表達(dá)式:用算術(shù)運算符和括號將運算對象(也稱操作數(shù))連接起來的,、符合C 語
法規(guī)則的式子。
以下是算術(shù)表達(dá)式的例子:
a+b
(a*2)/c
(x+r)*8-(a+b)/7
++I
sin(x)+sin(y)
(++i)-(j++)+(k--)
運算符的優(yōu)先級:C語言中,,運算符的運算優(yōu)先級共分為15 級,。1 級最高,15 級最低,。
在表達(dá)式中,,優(yōu)先級較高的先于優(yōu)先級較低的進(jìn)行運算。而在一個運算量兩側(cè)的運算符
優(yōu)先級相同時,,則按運算符的結(jié)合性所規(guī)定的結(jié)合方向處理,。
運算符的結(jié)合性:C語言中各運算符的結(jié)合性分為兩種,即左結(jié)合性(自左至右)和右結(jié)
合性(自右至左),。例如算術(shù)運算符的結(jié)合性是自左至右,,即先左后右。如有表達(dá)式x-y+z
則y 應(yīng)先與“-”號結(jié)合,,執(zhí)行x-y 運算,,然后再執(zhí)行+z 的運算。這種自左至右的結(jié)合
方向就稱為“左結(jié)合性”,。而自右至左的結(jié)合方向稱為“右結(jié)合性”,。最典型的右結(jié)合
性運算符是賦值運算符。如x=y=z,由于“=”的右結(jié)合性,,應(yīng)先執(zhí)行y=z 再執(zhí)行x=(y=z)
運算,。C語言運算符中有不少為右結(jié)合性,應(yīng)注意區(qū)別,,以避免理解錯誤,。
3. 強(qiáng)制類型轉(zhuǎn)換運算符
其一般形式為:
(類型說明符) (表達(dá)式)
其功能是把表達(dá)式的運算結(jié)果強(qiáng)制轉(zhuǎn)換成類型說明符所表示的類型。
例如:
(float) a 把a 轉(zhuǎn)換為實型
(int)(x+y) 把x+y 的結(jié)果轉(zhuǎn)換為整型
4. 自增,、自減運算符
自增1,,自減1運算符:自增1 運算符記為“++”,其功能是使變量的值自增1,。
自減 1 運算符記為“--”,,其功能是使變量值自減1。
自增 1,,自減1 運算符均為單目運算,,都具有右結(jié)合性??捎幸韵聨追N形式:
++i i 自增1 后再參與其它運算,。
--i i 自減1 后再參與其它運算,。
i++ i 參與運算后,i 的值再自增1,。
i-- i 參與運算后,,i 的值再自減1。
在理解和使用上容易出錯的是 i++和i--,。特別是當(dāng)它們出在較復(fù)雜的表達(dá)式或語句中
時,,常常難于弄清,因此應(yīng)仔細(xì)分析,。
【例 3.16】
main(){
int i=8;
printf("%d\n",++i);
printf("%d\n",--i);
printf("%d\n",i++);
printf("%d\n",i--);
printf("%d\n",-i++);
第52 頁

printf("%d\n",-i--);
}
i 的初值為8,,第2 行i 加1 后輸出故為9;第3 行減1 后輸出故為8,;第4 行輸出i 為
8 之后再加1(為9),;第5 行輸出i 為9 之后再減1(為8) ;第6 行輸出-8 之后再加1(為9),,
第7 行輸出-9 之后再減1(為8),。
【例 3.17】
main(){
int i=5,j=5,p,q;
p=(i++)+(i++)+(i++);
q=(++j)+(++j)+(++j);
printf("%d,%d,%d,%d",p,q,i,j);
}
這個程序中,對P=(i++)+(i++)+(i++)應(yīng)理解為三個i 相加,,故P 值為15,。然后i 再自增1
三次相當(dāng)于加3 故i 的最后值為8。而對于q 的值則不然,,q=(++j)+(++j)+(++j)應(yīng)理解為q
先自增1,,再參與運算,由于q 自增1 三次后值為8,,三個8 相加的和為24,,j 的最后值仍
為8。
3.9 賦值運算符和賦值表達(dá)式
1. 賦值運算符
簡單賦值運算符和表達(dá)式:簡單賦值運算符記為“=”,。由“= ”連接的式子稱為賦值表
達(dá)式,。其一般形式為:
變量=表達(dá)式
例如:
x=a+b
w=sin(a)+sin(b)
y=i+++--j
賦值表達(dá)式的功能是計算表達(dá)式的值再賦予左邊的變量。賦值運算符具有右結(jié)合性,。
因此
a=b=c=5
可理解為
a=(b=(c=5))
在其它高級語言中,,賦值構(gòu)成了一個語句,稱為賦值語句,。而在 C 中,把“=”定義
為運算符,,從而組成賦值表達(dá)式,。凡是表達(dá)式可以出現(xiàn)的地方均可出現(xiàn)賦值表達(dá)式。
例如,,式子:
x=(a=5)+(b=8)
是合法的,。它的意義是把5 賦予a,8 賦予b,再把a,b 相加,,和賦予x,,故x 應(yīng)等于13。
在C語言中也可以組成賦值語句,,按照C語言規(guī)定,,任何表達(dá)式在其未尾加上分號就
構(gòu)成為語句。因此如
x=8;a=b=c=5,;
第 53 頁
都是賦值語句,,在前面各例中我們已大量使用過了。
2. 類型轉(zhuǎn)換
如果賦值運算符兩邊的數(shù)據(jù)類型不相同,,系統(tǒng)將自動進(jìn)行類型轉(zhuǎn)換,,即把賦值號右邊
的類型換成左邊的類型。具體規(guī)定如下:
1) 實型賦予整型,,舍去小數(shù)部分,。前面的例子已經(jīng)說明了這種情況。
2) 整型賦予實型,,數(shù)值不變,,但將以浮點形式存放,即增加小數(shù)部分(小數(shù)部分的值
為0),。
3) 字符型賦予整型,,由于字符型為一個字節(jié),而整型為二個字節(jié),,故將字符的ASCII
碼值放到整型量的低八位中,,高八位為0。整型賦予字符型,,只把低八位賦予字符
量,。
【例 3.18】
main(){
int a,b=322;
float x,y=8.88;
char c1='k',c2;
a=y;
x=b;
a=c1;
c2=b;
printf("%d,%f,%d,%c",a,x,a,c2);
}
本例表明了上述賦值運算中類型轉(zhuǎn)換的規(guī)則。a 為整型,,賦予實型量y 值8.88 后只取整
數(shù)8,。x 為實型,賦予整型量b 值322,, 后增加了小數(shù)部分,。字符型量c1 賦予a 變?yōu)檎停?BR>整型量b 賦予c2 后取其低八位成為字符型(b 的低八位為01000010,即十進(jìn)制66,,按ASCII
碼對應(yīng)于字符B),。
3. 復(fù)合的賦值運算符
在 賦 值 符 “ = ” 之前加上其它二目運算符可構(gòu)成復(fù)合賦值符。如+=,-=,*=, /
=,%=,<<=,>>=,&=,^=,|=,。
構(gòu)成復(fù)合賦值表達(dá)式的一般形式為:
變量 雙目運算符=表達(dá)式
它等效于
變量=變量運算符 表達(dá)式
例如:
a+=5 等價于a=a+5
x*=y+7 等價于x=x*(y+7)
r%=p 等價于r=r%p
復(fù)合賦值符這種寫法,,對初學(xué)者可能不習(xí)慣,,但十分有利于編譯處理,能提高編譯效
率并產(chǎn)生質(zhì)量較高的目標(biāo)代碼,。
 

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多