第 1 頁(yè):整型量 |
第 7 頁(yè):實(shí)型量 |
第 9 頁(yè):字符型量 |
第 13 頁(yè):變量的初值和類(lèi)型轉(zhuǎn)換 |
第 15 頁(yè):基本運(yùn)算符和表達(dá)式 |
第 18 頁(yè):算術(shù)表達(dá)式 |
第 21 頁(yè):小結(jié) |
算術(shù)表達(dá)式
是由算術(shù)運(yùn)算符和括號(hào)連接起來(lái)的式子, 以下是算術(shù)表達(dá)式的例子:
a+b (a*2)/c (x+r)*8-(a+b)/7 ++i sin(x)+sin(y) (++i)-(j++)+(k--)
賦值運(yùn)算符和賦值表達(dá)式
簡(jiǎn)單賦值運(yùn)算符和表達(dá)式,簡(jiǎn)單賦值運(yùn)算符記為“=”。由“= ”連接的式子稱(chēng)為賦值表達(dá)式。其一般形式為: 變量=表達(dá)式 例如:
x=a+b
w=sin(a)+sin(b)
y=i+++--j 賦值表達(dá)式的功能是計(jì)算表達(dá)式的值再賦予左邊的變量。賦值運(yùn)算符具有右結(jié)合性。因此
a=b=c=5
可理解為
a=(b=(c=5))
在其它高級(jí)語(yǔ)言中,賦值構(gòu)成了一個(gè)語(yǔ)句,稱(chēng)為賦值語(yǔ)句。 而在C中,把“=”定義為運(yùn)算符,從而組成賦值表達(dá)式。 凡是表達(dá)式可以出現(xiàn)的地方均可出現(xiàn)賦值表達(dá)式。例如,式子x=(a=5)+(b=8)是合法的。它的意義是把5賦予a,8賦予b,再把a(bǔ),b相加,和賦予x ,故x應(yīng)等于13。
在C語(yǔ)言中也可以組成賦值語(yǔ)句,按照C語(yǔ)言規(guī)定, 任何表達(dá)式在其未尾加上分號(hào)就構(gòu)成為語(yǔ)句。因此如x=8;a=b=c=5;都是賦值語(yǔ)句,在前面各例中我們已大量使用過(guò)了。
如果賦值運(yùn)算符兩邊的數(shù)據(jù)類(lèi)型不相同, 系統(tǒng)將自動(dòng)進(jìn)行類(lèi)型轉(zhuǎn)換,即把賦值號(hào)右邊的類(lèi)型換成左邊的類(lèi)型。具體規(guī)定如下:
1.實(shí)型賦予整型,舍去小數(shù)部分。前面的例2.9已經(jīng)說(shuō)明了這種情況。
2.整型賦予實(shí)型,數(shù)值不變,但將以浮點(diǎn)形式存放, 即增加小數(shù)部分(小數(shù)部分的值為0)。
3.字符型賦予整型,由于字符型為一個(gè)字節(jié), 而整型為二個(gè)字節(jié),故將字符的ASCII碼值放到整型量的低八位中,高八位為0。
4.整型賦予字符型,只把低八位賦予字符量。
void 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);
}
int a,b=322;
float x,y=8.88;
char c1='k',c2;
printf("%d,%f,%d,%c",a=y,x=b,a=c1,c2=b);
本例表明了上述賦值運(yùn)算中類(lèi)型轉(zhuǎn)換的規(guī)則。a為整型,賦予實(shí)型量y值888后只取整數(shù)8。x為實(shí)型,賦予整型量b值322, 后增加了小數(shù)部分。字符型量c1賦予a變?yōu)檎,整型量b賦予c2 后取其低八位成為字符型(b的低八位為01000010,即十進(jìn)制66,按ASCII碼對(duì)應(yīng)于字符B)。
相關(guān)推薦:計(jì)算機(jī)等考二級(jí)C語(yǔ)言備考:C語(yǔ)言/C++編譯過(guò)程北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |