在C語言中,變量必須“先定義,後使用”。變量定義又稱為變量說明或變量聲明。變量定義必須給出變量的數據類型、變量的名稱,有時還要給出變量的存儲方式和允許的操作。編譯時,係統根據指定的類型給變量分配一定的存儲空間。變量定義語句的一般格式為:
類型標識符變量名[,變量名,……];
例如:
inti;/*定義一個整型變量i*/
inta,b,c;/*定義三個整型變量a,b,c*/
floatx,y,z;/*定義三個實型變量x,y,z*/
charch1,ch2;/*定義兩個字符型變量ch1,ch2*/
類型標識符與變量名之間至少間隔一個空格。允許在一個類型標識符後定義多個相同類型的變量,各變量名之間用逗號分隔。最後一個變量名之後必須以分號“;”結尾。變量定義必須放在變量使用之前,一般放在函數體的開頭部分。
在同一程序段中,同一個變量名不允許被重複定義。例如:
inta,b,c;
floata;/*錯誤,變量名a被重複定義*/
2.變量賦值
變量的賦值是指先進行變量定義,然後再給變量賦值。例如:
inta,b;/*變量定義*/
a=5;b=5;或a=b=5;/*變量賦值*/
3.變量初始化
變量的初始化是在變量定義的同時將一個確定的值存儲到該存儲空間中。變量初始化的一般形式為:
類型標識符變量1=值1[,變量2=值2,……];
例如:
inti=5;/*定義整型變量i,並賦初始值為5*/
inta,b=5;/*定義整型變量a和b,但隻對b賦初始值為5*/
floatx=123,y=045;
/*定義實型變量x和y,並分別賦初始值為123、045*/
charc=A;/*定義字符變量c,並賦初始值為“A”*/
在變量的初始化中,不允許連續賦值。例如以下寫法是不合法的:
inta=b=c=5;
/*編譯係統認為隻定義了變量a,沒有定義變量b和c*/
正確的寫法是:
inta=5,b=5,c=5;
整型數據包括整型常量和整型變量。
1.整型常量的表示。
整型常量有十進製、八進製和十六進製三種表示形式。
十進製整型常量:沒有前綴,數碼取值範圍為0~9。如237、-568、65535、1627是合法的十進製整型常量。
八進製整型常量:以0開頭,數碼取值範圍為0~7。八進製數通常是無符號整數。如015(十進製數13)、0101(十進製數65)、0177777(十進製數65535)是合法的八進製整型常量,256(無前綴0)、03A2(含非八進製數碼)、-0127(出現負號)是不合法的八進製常量。
十六進製整型常量:以0X或0x開頭,數碼取值範圍為0~9、A~F或a~f。如0X2A(十進製42)、0XA0(十進製160)、0XFFFF(十進製65535)是合法的十六進製常量,5A(無前綴0X)、0X3H(含非十六進製數碼)是不合法的十六進製常量。
2.整型常量的分類。
整型常量可以分成基本整型、長整型和無符號整型三類。
基本整型:一般在微機版本的C語言編譯係統中,一個基本整型常量占2個字節(16位)的內存單元,按補碼形式存放,取值範圍在-32768~32767之間。
長整型:如果使用的整型常量超過了基本整型的範圍,則需要使用長整型來表示。一個長整型常量占4個字節(32位)的內存單元,取值範圍在-2147483648~2147483647之間,長整型常量以字母l或L結尾,如123456789L。長整型123L和基本整型123在數值上並無區別,但123L是長整型,C語言編譯係統將為它分配4個字節存儲空間,而123是基本整型,隻分配2個字節的存儲空間,因此在運算和輸出格式上要予以注意,避免出錯。