- C程序設計語言
- 魏東平 朱連章 于廣斌編著
- 1022字
- 2018-12-29 14:37:35
2.3.2 變量
1.變量的命名和標識符
在程序中可以改變其值的量稱為變量。變量名是標識符。
我們剛介紹的符號常量名以及后面要介紹的函數名、數組名、結構體名和共用體名等都是標識符。標識符是由用戶定義的,要符合下面的規定。
① 標識符是以字母或下劃線開頭,由字母、數字和下劃線組成的字符序列。例如,area、sum、score、_rec、PI等都是合法的標識符。
② 標識符是區分大小寫的。例如,SUM、sum、Sum是3個不同的標識符。
③ 不能使用C語言的關鍵字定義其他的標識符。例如,if、for、else、while等都是關鍵字,不能再作為其他的標識符使用。
④ 定義標識符時,盡量做到“見名知義”,以增加程序的可讀性。例如,可以用area作為面積的標識符,用score作為成績的標識符,等等。
⑤ 標識符的長度視具體運行環境而定。
2.變量的定義
變量是用于存儲數據的,因此每個變量必須屬于某種數據類型。而且,在程序中,使用變量之前必須先將其聲明為屬于某種數據類型。例如:
char c1,c2; /* 說明c1、c2為字符型變量 */ int sum,score; /* 說明sum、score為整型變量 */ long L; /* 說明L為長整型變量 */ float f1,f2; /* 說明f1、f2為單精度實型變量 */ double d1,d2; /* 說明d1、d2為雙精度實型變量 */
由此可見,聲明變量的形式為:
數據類型名 變量名列表
變量的類型被聲明后,編譯程序就為其分配相應類型的存儲單元,可以在程序中給該變量賦相應類型允許的值,并決定了該變量所能夠執行的操作。例如,在某程序中有了上面的定義之后,編譯程序會為變量c1、c2各分配1個字節的存儲單元,為變量sum、score、f1、f2各分配4個字節的存儲單元。在程序中可以為變量c1、c2賦字符型的值,如'a'、'A';為變量sum、score賦整型的值,如100、-90。還決定了sum、score可以進行模運算(求余數),而f1、f2就不能進行模運算。
注意:C語言中沒有字符串類型,處理該類型時要使用在后面介紹的指針或字符數組。
3.變量的初始化
變量在聲明的同時可以給其賦值,稱為變量的初始化。例如:
char c1='*',c2='a'; /* c1、c2為字符型變量,同時給c1、c2分別賦初值'*'、 'a'*/ int sum=340; /* sum為整型變量,同時給sum賦初值340 */ float f1=3.14,f2; /* f1、f2為實型變量,同時給f1賦初值3.14,但沒有給 f2賦初值,也就是說f2沒有被初始化 */
注意:初始化不是在編譯階段完成的,而是在程序運行時對相應變量賦初值的,相當于有一個賦值語句。例如:
int sum=340;
相當于:
int sum; /* 說明sum為整型變量 */ sum=340; /* 賦值語句,將30賦予sum */
如果任何時候都不希望改變某個變量的值,可以將該變量聲明為“固定”變量,方法是在定義并初始化該變量時,為其聲明加上保留字const。例如:
const int t=1000;
這樣,程序中就不能改變t的值了,任何時候變量t的值都為1000。