1.標(biāo)識(shí)符
在C語(yǔ)言中,標(biāo)識(shí)符是對(duì)變量名、函數(shù)名、標(biāo)號(hào)和其他各種用戶(hù)定義的對(duì)象命名。標(biāo)識(shí)符的第1個(gè)字符必須是字母或下劃線(xiàn),隨后的字符可以是字母、數(shù)字或下劃線(xiàn)。標(biāo)識(shí)符的長(zhǎng)度可以是一個(gè)或多個(gè)字符,最長(zhǎng)不允許超過(guò)32個(gè)字符。
例如:
score、value12,stu_name等均為正確的標(biāo)識(shí)符;
2number,height/zhang,low&price等均為不正確的
對(duì)于基本數(shù)據(jù)類(lèi)型量,按其值是否可變又分為常量和變量?jī)煞N。
C語(yǔ)言中的字母是區(qū)分大小寫(xiě)的,因此name,Name,NAME分別代表3個(gè)不同的標(biāo)識(shí)符。必須注意的是,標(biāo)識(shí)符不能和C語(yǔ)言的關(guān)鍵字相同,也不能和用戶(hù)自定義的函數(shù)或C語(yǔ)言庫(kù)函數(shù)同名。
2.常量
在程序執(zhí)行過(guò)程中,其值不發(fā)生改變的量稱(chēng)為常量。常量分類(lèi),見(jiàn)表2-2所示:
表2-2 常量分類(lèi)
符號(hào)常量在使用之前必須先定義,其一般形式為:
#define <符號(hào)常量名> <常量>
其中#define是C語(yǔ)言的預(yù)處理命令,在編寫(xiě)C語(yǔ)言程序時(shí),可直接使用已定義的符號(hào)常量,編譯時(shí)會(huì)對(duì)程序中出現(xiàn)的這些符號(hào)常量進(jìn)行替換,如用3.1415926替換PI,用1替換TRUE,用0替換FALSE。
習(xí)慣上符號(hào)常量的標(biāo)識(shí)符用大寫(xiě)字母,變量標(biāo)識(shí)符用小寫(xiě)字母,以示區(qū)別。
【例2-1】通過(guò)以下程序掌握符號(hào)常量的使用。
#include<stdio.h>
#define PRICE 30
int main()
{
int num,total;
num=10;
total=num*PRICE;
printf("total=%d\n",total);
return 0;
}
程序運(yùn)行結(jié)果:
total=300
(1)將程序中的常量定義為一個(gè)標(biāo)識(shí)符,稱(chēng)為符號(hào)常量。
(2)符號(hào)常量與變量不同,它的值在其作用范圍內(nèi)不能改變,也不能再被賦值。
(3)使用符號(hào)常量的好處是:含義清楚;能做到“一改全改”。
3.變量
其值可以改變的量稱(chēng)為變量。一個(gè)變量應(yīng)該有一個(gè)名字,用標(biāo)識(shí)符來(lái)表示變量名。變量在內(nèi)存中占據(jù)一定的存儲(chǔ)單元,該存儲(chǔ)單元存放變量的值。注意區(qū)分變量名和變量值這兩個(gè)不同的概念,如圖2-2所示。
圖2-2 變量
C語(yǔ)言中,所有的變量必須在使用之前定義,一般放在函數(shù)體的開(kāi)頭部分。定義變量的一般形式為:
<類(lèi)型名> <變量列表>;
<類(lèi)型名>必須是有效的C語(yǔ)言數(shù)據(jù)類(lèi)型,如:int,float等;<變量列表>可以由一個(gè)或多個(gè)通過(guò)逗號(hào)隔開(kāi)的標(biāo)識(shí)符名構(gòu)成,如:
int i,j,k;
float number,price;
double length,total;
定義好變量之后,可以再給它賦個(gè)值。
int i;
i=10;
也可以在定義的同時(shí)進(jìn)行賦值,稱(chēng)為初始化變量。
在變量定義中賦值的一般形式為:
<類(lèi)型名> <變量1>[=值1], <變量2>[=值2], ……;
例如:
int a=2,b=5;
float x=3.2,y=3.0,z=0.75;
char ch1='K',ch2='P';
注意,在定義中不允許連續(xù)賦值,如a=b=c=5是不合法的。
【例2-2】閱讀以下程序,了解變量的定義和使用。
#include<stdio.h>
int main()
{
int a=3,b,c=5;
b=a+c;
printf("a=%d,b=%d,c=%d\n",a,b,c);
return 0;
}
程序運(yùn)行結(jié)果:
a=3,b=8,c=5