2.4 數(shù)據(jù)類型
C語言的數(shù)據(jù)類型可以分為三類:
基本類型 構(gòu)造類型〖〗派生類型
整型int
字符型char
實型(浮點型)float
雙精度型double
空類型void 結(jié)構(gòu)體struct
公用(聯(lián)合)體union
枚舉型enum
用戶定義類型(使用關(guān)鍵字typedef) 數(shù)組類型
指針類型
1.整型常量:C語言中的整型常量有三種形式:十進(jìn)制整型常量、八進(jìn)制整型常量和十六進(jìn)制整型常量。十進(jìn)制整型常量可以用一串連續(xù)的十進(jìn)制數(shù)字來表示;八進(jìn)制整型常量用數(shù)字0開頭(注意:不是字母O),后面可以跟一串合法的八進(jìn)制數(shù)字;十六進(jìn)制整型常量用0x或0X開頭,后面可以跟一串合法的十六進(jìn)制數(shù)字。
整型常量又有短整型(short int)、基本整型(int)、長整型(long int)和無符號型(unsinged)之分。
2.整型變量:整型變量也可以分為基本型、短整型、長整型和無符號型四種。分別用int,short int(或short),long int(或long),unsigned int(unsigned short,unsigned long)對它們進(jìn)行定義。
不同的計算機對上述幾種整型數(shù)據(jù)所占用的內(nèi)存字節(jié)數(shù)和數(shù)值范圍有不同的規(guī)定,以IBM-PC微機為例,以上各種數(shù)據(jù)所分配的存儲空間和數(shù)值范圍見下表:
類型名 所占字節(jié)數(shù) 數(shù)值范圍
int4
2
2
4-32768~+32767
-32768~+32767
-2147483648~+2147483647
0~65535
0~65535
0~4294697295
short[int]2
long[int]
unsigned[int]
unsigned short
unsigned long 2
3.實型常量:C語言中的實型常量有兩種表示形式:十進(jìn)制數(shù)形式和指數(shù)形式。在用指數(shù)形式表示實型數(shù)據(jù)時,字母E可以用小寫e代替,指數(shù)部分必須是整數(shù)(若為正整數(shù)時,可以省略″+″號)。
4.實型變量:C語言中的實型變量分為兩種:單精度類型和雙精度類型,分別用保留關(guān)鍵字float和double進(jìn)行定義。在一般系統(tǒng)中,一個float型數(shù)據(jù)在內(nèi)存中占4個字節(jié);一個double型數(shù)據(jù)占8個字節(jié)(一個long double型數(shù)據(jù)占16個字節(jié))。
5.字符常量:C語言的字符常量代表ASCⅡ碼字符集里的一個字符,在程序中要單引號括起來。C語言規(guī)定字符常量可以作為整數(shù)常量來處理(注:這里的整數(shù)常量指的是相應(yīng)字符的ASCⅡ代碼,因此字符常量可以參與算術(shù)運算)。
在C語言中還有一類特殊形式的字符常量,稱為″轉(zhuǎn)義字符″。這類字符常量是以一個反斜杠開頭的字符序列,但它們只代表某個特定的ASCⅡ碼字符,在程序中使用這種常量時要括在一對單引號中。
6.字符變量:C語言中的字符變量用關(guān)鍵字char來定義,每個字符變量中只能存放一個字符。在一般系統(tǒng)中,一個字符變量在計算機內(nèi)存中占一個字節(jié)。與字符常量一樣,字符變量也可以出現(xiàn)在任何允許整型變量參與的運算中。
7.字符串常量:C語言中的字符串常量是由一對雙引號括起來的字符序列。注意不要將字符常量和字符串常量混淆。C語言對字符串常量的長度不加限制,C編譯程序總是自動地在字符串的結(jié)尾加一個轉(zhuǎn)義字符‘\0’,作為字符串常量的結(jié)束標(biāo)志。C語言中沒有專門的字符串變量,如果要把字符串存放在變量中,則要用一個字符型數(shù)組來實現(xiàn)。