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语言中变量名与其类型无关。