從數(shù)據(jù)到運算
編程的目標之一是通過運算得到結(jié)果,而運算則是建立在操作數(shù)據(jù)之上的;即便簡單如10以內(nèi)加法、復雜如游戲、模擬程序等皆是如此;顯然數(shù)據(jù)是其本質(zhì)。在C語言中,我們可以使用變量來存儲數(shù)據(jù),變量又關聯(lián)到一個具體的類型。比如:某一時刻的人口總數(shù)是一個數(shù)據(jù),可以用變量存儲,這個變量表達為一個正整數(shù)類型;一個物體的質(zhì)量,則以小數(shù)類型表述更加切貼;因此,我們從類型與變量開始。
類型
類型表明了具有某種共同特性的事物抽象,C語言提供了多種數(shù)據(jù)類型以便我們選擇合適的數(shù)據(jù)表示方式。這里我們先學習三種基礎數(shù)據(jù)類型,以便讓我們從太多的語言細節(jié)中脫離出來。
字符類型(char):通常用來存儲字符數(shù)據(jù),如字母 ‘a(chǎn)’, ‘X’, '-'等。
整型類型(int):用于存儲正整數(shù)、負整數(shù),如1234, 0, -965等。
浮點類型(double):用于存儲帶小數(shù)點的數(shù)據(jù),如3.14,-10.0等,也稱為雙精度浮點型。
變量
變量是存儲數(shù)據(jù)的容器,它們通常在計算機內(nèi)存的某個位置并占據(jù)一定大小的字節(jié)空間,變量名則是用來引用這些空間的一個友好名稱。在C語言中,一個名稱在被使用之前需要保證它是可見的。因此,所有的變量都必須先聲明后使用;定義一個變量的簡易語法為:
變量類型 單個變量名;
如:
定義變量后,變量名也就同等的被聲明了。變量名是區(qū)分大小的,這樣 width?與 Width 將表示不同的兩個變量。變量名可以包含字母、數(shù)字、下劃線,但是不能以數(shù)字開頭。每種語言都保留一些名稱供自己使用,這些名稱稱為保留字,保留字不能用作變量名,如int、float、if等。
表達式
有了變量這個表達數(shù)據(jù)的載體,我們就可以對其施加運算,如 a+3, b/5 等。這些建立在數(shù)據(jù)之上的操作,在C語言中這些操作是通過表達式來實現(xiàn)的。
表達式由運算符和操作數(shù)組合構(gòu)造而成,最簡單的表達式是一個單獨的操作數(shù)。
操作數(shù)可以是數(shù)據(jù)常量 4、-5、變量a、b、c或者是二者通過運算符的的組合 a+30。C不僅提供了基本算術(shù)運算符加減乘除(+、-*、/),還提供了諸如取模(%)、賦值(=)等運算符。通過組合多個操作數(shù)與運算符,便可以建立復雜的表達式,下面是一些表達式的示例。
表達式最重要的特性就是處于程序運行期的每個表達式都會被求值。值是按照運算符優(yōu)先級描述的順序來完成運算。+、-、*、/ 這四種運算遵循算術(shù)運算的優(yōu)先級法則與求值順序;取模(%)與 *、/ 優(yōu)先級一致。
當表達式中混合有不同類型的操作數(shù)時,會嘗試執(zhí)行自動類型轉(zhuǎn)換操作,如果不能轉(zhuǎn)換到同一類型求值,則表達式錯誤。這就好比1斤米與2000克面粉,你可以得到它們的總重量,但如果是2000克面粉與100米距離,計算它們的總合并沒有意義。

語句
語句是構(gòu)造C程序的基本成分,每條語句以一個分號標識其結(jié)束,
只是表達式,而
都是語句。在任何表達式后面加上分號,表達式將成為語句。最簡單的語句就是一個單獨的分號,稱為空語句。 合法的表達式都可以應用在確切的語句中, 如:
習題
編寫程序定義幾個三種類型的變量,并為它們?nèi)∫粋€有意義的名稱,而非abcd。
假設程序中有代碼 4+5.0f; 試想一下程序做了哪些操作。