2.1 C語言的數據類型 C語言有五種基本數據類型:字符、整型、單精度實型、雙精度實型和空類型。盡管這幾種類型數據的長度和范圍隨處理器的類型和C語言編譯程序的實現而異,但以b i t為例,整數與C P U字長相等,一個字符通常為一個字節,浮點值的確切格式則根據實現而定。對于多數微機,表2 - 1給出了五種數據的長度和范圍。
表2 - 2給出所有根據ANSI標準而組合的類型、字寬和范圍。切記,在計算機字長大于1 6位的系統中, short int與signed char可能不等。
表2-2 ANSI標準中的數據類型 類型長度(bit)范圍char(字符型8ASCII字符unsigned char(無符號字符 80~255signed char(有符號字符型)8-128~127int(整型)16-32768~32767unsigned int(無符號整型)160~65535signed int(有符號整型)16同 int short(短整型)8 -128~127unsigned short int(無符號短整型)80~255signed short int(有符號短整型) 8同short intlong int(長整型)322147483648~2147483649signed long int(有符號長整型)322147483648~2147483649unsigned long int(無符號長整型)32 0~4294967296float(單精度型)32約精確到6位數double(雙精度型)64約精確到12位數 *表中的長度和范圍的取值是假定CPU的字長為16 bit。 因為整數的缺省定義是有符號數,所以singed這一用法是多余的,但仍答應使用。某些實現答應將unsigned用于浮點型,如unsigned double。但這一用法降低了程序的可移植性,故建議一般不要采用。 為了使用方便,C編譯程序答應使用整型的簡寫形式: • short int 簡寫為short。 • long int 簡寫為long。 • unsigned short int 簡寫為unsigned short。 • unsigned int 簡寫為unsigned。 • unsigned long int 簡寫為unsigned long。 即,int可缺省。
2.2.2 常量 C語言中的常量是不接受程序修改的固定值,常量可為任意數據類型,如下例所示: 數據類型 常量舉例 char 'a'、'/n'、'9' int 21、123 、2100 、-234 long int 35000、 -34 short int 10、-12、90 unsigned int 10000、987、40000 float 123.23、4.34e-3 double 123.23、12312333、-0.9876234 C語言還支持另一種預定義數據類型的常量,這就是串。所有串常量括在雙撇號之間,例如"This is a test"。切記,不要把字符和串相混淆,單個字符常量是由單撇號括起來的,如'a'。
2.2.3 變量 其值可以改變的量稱為變量。一個變量應該有一個名字(標識符),在內存中占據一定的存儲單元,在該存儲單元中存放變量的值。請注重區分變量名和變量值這兩個不同的概念。所有的C變量必須在使用之前定義。定義變量的一般形式是: type variable_list; 這里的type必須是有效的C數據類型,variable_list(變量表)可以由一個或多個由逗號分隔的多個標識符名構成。下面給出一些定義的范例。 int i, j, l; short int si; unsigned int ui; double balance, PRofit,loss; 注重C語言中變量名與其類型無關。