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