一、表達(dá)式
前面已經(jīng)提到過(guò)表達(dá)式,相信大家對(duì)表達(dá)式也有了一個(gè)初步的認(rèn)識(shí),它是由常量、變量、運(yùn)算符組合(到以后講函數(shù)時(shí),函數(shù)也可以是組成表達(dá)式的元素),計(jì)算以后返回一個(gè)結(jié)果值。表達(dá)式的結(jié)束標(biāo)志是分號(hào)(;),C語(yǔ)言中所有的語(yǔ)句和聲明都是用分號(hào)結(jié)束,在分號(hào)出現(xiàn)之前,語(yǔ)句是不完整的。
例如:
1+2;
Counter/3+5;
Height*Width;
表達(dá)式本身什么事情都不做,只是返回結(jié)果值。在程序不對(duì)返回的結(jié)果值做任何操作的情況下,返回的結(jié)果值不起任何作用,表達(dá)式的作用有兩點(diǎn),一個(gè)是放在賦值語(yǔ)句的右邊,另一個(gè)是作為函數(shù)的參數(shù)(以后再介紹)。
表達(dá)式返回的結(jié)果值是有類(lèi)型的。表達(dá)式隱含的數(shù)據(jù)類(lèi)型取決于組成表達(dá)式的變量和常量的類(lèi)型。因此,表達(dá)式的返回值有可能是某種大小的整型,或者是某精度的浮點(diǎn)型,或者是某種指針類(lèi)型。
這里面就有類(lèi)型轉(zhuǎn)化的問(wèn)題了,在前面說(shuō)整型運(yùn)算的時(shí)候也提到過(guò)。類(lèi)型轉(zhuǎn)化的原則是從低級(jí)向高級(jí)自動(dòng)轉(zhuǎn)化(除非人為的加以控制)。計(jì)算的轉(zhuǎn)換順序基本是這樣的:
字符型-->整型-->長(zhǎng)整型-->浮點(diǎn)型-->單精度型-->雙精度型
就是當(dāng)字符型和整型在一起運(yùn)算時(shí),結(jié)果為整型,如果整型和浮點(diǎn)型在一起運(yùn)算,所得的結(jié)果就是浮點(diǎn)型,如果有雙精度型參與運(yùn)算,那么答案就是雙精度型了。
強(qiáng)制轉(zhuǎn)換是這樣的,在類(lèi)型說(shuō)明符的兩邊加上括號(hào),就把后面的變量轉(zhuǎn)換成所要的類(lèi)型了。如:
(int) a;
(float) b;
第一個(gè)式子是把a(bǔ)轉(zhuǎn)換成整型,如果原先有小數(shù)部分,則舍去。
第二個(gè)式子是把b轉(zhuǎn)換成浮點(diǎn)型,如果原先是整數(shù),則在后面補(bǔ)0。
每一個(gè)表達(dá)式的返回值都具有邏輯特性。如果返回值為非0,則該表達(dá)式返回值為真,否則為假。這種邏輯特性可以用在程序流程控制語(yǔ)句中。
有時(shí)表達(dá)式也不參加運(yùn)算,如:
if(a||b) …………
5>3?a++:b++;
當(dāng)a為真時(shí),b就不參加運(yùn)算了,因?yàn)椴还躡如何,條件總是真。
相關(guān)推薦:計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言教程匯總計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言常見(jiàn)知識(shí)點(diǎn)總結(jié)
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |