正文 第8章 數據類型、運算符和表達式1(2 / 2)

用於求字節數的關鍵字有:sizeof。

在C語言程序中,不同類型的數據可以常量形式或變量形式出現。常量是指在程序執行過程中值不能改變、具有固定值的量。變量是指在程序執行過程中值可以改變的量。

常量又可分為直接常量和符號常量兩種。

1.直接常量

直接常量是由表示值的文字本身直接表示的常量。這類常量包括整型常量、實型常量、字符常量和字符串常量。例如,12、0、-3為整型常量,46、35、-123為實型常量,a、B為字符常量,"hello"、"china"為字符串常量。

2.符號常量

符號常量是用標識符表示的一種常量。符號常量在使用之前必須先定義,其一般形式為:

#define標識符常量

其中,#define是一條預處理命令,以“#”開頭,其功能是用該標識符代替常量。一經定義,在程序中所有出現該標識符的地方都代表該常量值,可以像常量一樣進行運算。

[例31]符號常量的使用。

#definePI314

voidmain()

intr,s;

r=10;

s=PI*r*r;

printf("s=%d\n",s);

運行結果:

s=314

程序分析:

程序中用#define命令定義符號常量PI,PI代表常量314,可以像常量一樣進行運算。

符號常量不同於變量,符號常量的值在它的作用域中不能改變,也不能被重新賦值。習慣上符號常量標識符用大寫字母表示,變量標識符用小寫字母表示,以示區別。使用符號常量有兩大好處,一是提高了程序的可讀性,見名知意,如從程序中的符號常量PI可知它代表圓周率;二是方便了程序的修改,一改全改,如,要將圓周率的值調整為314159,則隻需改動一處,即#definePI314159,這樣程序中所有PI所代表的圓周率一律自動改為314159。

在程序運行期間其值可以發生改變的量稱為變量。每個變量都必須有一個名字,即變量名,它是一個由用戶自定義的符合命名規則的標識符。每個變量在內存中都要占據一定的存儲單元,在該存儲單元中存放變量的值。變量名和變量值是兩個不同的概念。程序在編譯連接時係統給每個變量名分配一個內存地址,同時根據變量的類型分配一定的內存單元。從變量取值,就是通過變量名找到相應的內存地址,再從其存儲單元中讀取數據。對變量賦值,就是通過變量名找到相應的內存地址,再將數據寫入其存儲單元中。