發布時間:2021-12-02 17:07:31來源:轉載
變量就是其值可以改變的量。變量要有變量名,在內存中占據一定的存儲單元,存儲單元里存放的是該變量的值。不同類型的變量其存儲單元的大小不同,變量在使用前必須定義。
(一)整型變量
整型變量分為4種:基本型(int)、短整型(short int 或short)、長整型(long int 或 long)和無符號型(unsigned int ,unsigned short,unsigned long)。
不同的編譯系統對上述四種整型數據所占用的位數和數值范圍有不同的規定。
類型說明符
說明:
單詞signed來說明“有符號”(即有正負數之分),不寫signed也隱含說明為有符號,unsigned用來說明“無符號”(只表示正數)。
(二)實型變量
C語言中,實型變量分為單精度類型( float )和雙精度類型( double )兩種。如:
float a , b ;
double m ;
在vc中,float 型數據在內存中占4個字節(32位),double型數據占8個字節。單精度實數提供7位有效數字,雙精度實數提供15~16位有效數字。實型常量不分float型和double型,一個實型常量可以賦給一個float 型或double型變量,但變量根據其類型截取實型常量中相應的有效數字。
注意:實型變量只能存放實型值,不能用整型變量存放實型值,也不能用實型變量存放整型值。
(三)字符變量
字符變量用來存放字符常量,定義形式:
char 變量名;
其中關鍵字char定義字符型數據類型,占用一個字節的存儲單元。
例:char cr1,cr2;
cr1= ‘A’ , cr2=‘B’ ;
將一個字符賦給一個字符變量時,并不是將該字符本身存儲到內存中,而是將該字符對應的ASCII碼存儲到內存單元中。例如,字符 ′A′ 的ASCII碼為65,在內存中的存放形式如下:01000001
由于在內存中字符以ASCII碼存放,它的存儲形式和整數的存儲形式類似,所以C語言中字符型數據與整型數據之間可以通用,一個字符能用字符的形式輸出,也能用整數的形式輸出,字符數據也能進行算術運算,此時相當于對它們的ASCII碼進行運算。
類型的自動轉換和強制轉換
當同一表達式中各數據的類型不同時,編譯程序會自動把它們轉變成同一類型后再進行計算。轉換優先級為:
char < int < float < double
即左邊級別“低“的類型向右邊轉換。具體地說,若在表達式中優先級較高的數據是double型,則此表達式中的其他數據均被轉換成double型,且計算結果也是double型;若在表達式中優先級較高的數據是float型,則此表達式中的其他數據均被轉換成float型,且計算結果也是float型。