整型變量的定義格式一般如下:
整型變量類型符變量名[,變量名,……];
例如:
inta,b,c;/*定義三個整型變量a,b,c*/
longintx,y,z;/*定義三個長整型變量x,y,z*/
unsignedm,n;/*定義兩個無符號整型變量m,n*/
[例32]整型變量的定義與使用。
voidmain()
{
inta,b,c;
unsignedu;
a=20;
b=40;
c=30;
u=a+b+c;
printf("u=%u\n",u);
}
運行結果:
u=90
程序分析:
程序首先定義三個整型變量a、b、c和一個無符號整型變量u,然後對a、b、c三個變量進行賦值,將a+b+c的總和賦值給變量u,最後使用輸出函數printf輸出變量u的值。
4.整型數據的溢出
當整數的絕對值太大,以致超出整型數據所能表示的取值範圍時稱為整型數據溢出。例如,在16位機器上,int型整數能表示的最大正值為32767,最小負值為-32768,如果超過此範圍,將會產生數據溢出。
[例33]整型數據的溢出。
voidmain()
{
inta,b;
a=32767;
b=a+1;
printf("a=%d,b=%d\n",a,b);
}
運行結果:
a=32767,b=-32768
程序分析:
變量a的值是32767,它在內存中的存儲方式是:最高位為0,後15位全為1。
在16位機器中,一個整型變量隻能容納-32768~32767範圍內的數,超出此範圍就會發生數據溢出。整型常量溢出,編譯時產生語法錯誤。整型變量溢出,運行時並不報錯,但將得不到正確的結果,要靠程序員的細心和經驗來保證結果的正確。
為了避免數據溢出,可根據具體情況將整數相應地表示為長整型數、無符號整型數或無符號長整型數。解決方法是,對於整型常量可以通過加後綴l或L變成長整型常量,通過加後綴u或U變成無符號型常量,對於變量則定義為long、unsigned或unsignedlong類型。
實型也稱浮點型,實型數據包括實型常量和實型變量。
實型常量也稱為實數或浮點數。在C語言中實型常量有兩種表示方法:十進製小數形式和指數形式。
十進製小數形式:由數碼0~9和小數點組成,注意必須有小數點。如00、250、123、100.、-12345等均為合法的實數。
指數形式:由十進製數,階碼標誌符e或E和階碼組成,一般格式為:aEn(a為十進製數,n為十進製整數,不可省略),表示a×10n。21E5、37E-2、05E7、-28E-5均為合法的指數形式,E7(階碼E前無數字)、-5(無階碼標誌)、53.-E3(負號位置不對)、27E(無階碼)均為不合法的指數形式。一個實數有多種指數表示形式,其中有一種稱為規範化指數形式,即在e之前的小數部分小數點左邊有且隻有一位非零的數字,如:1252e3、23478e5是規範化指數形式,而0123e2(小數點左邊不是非零整數)、135e4(小數點左邊非零的數字超過1個)都不是規範化的指數形式。