数据是信息的载体,有常量(constant)和变量(variable)之分。常量是不变的量,变量是可以改变或者可被赋值的量。编译器直接通过书写形式来识别常量,而识别变量时则需要先声明变量类型。
本文详细讲述C、C++、Java和Python中的基本数据类型。
C
C语言有多种数据类型,但总体可以分为两大类:整数类型和浮点类型,这也跟计算机存储数据的方式有关。整数是没有小数部分的数;浮点数是实数,是有小数部分的。基本数据类型由11个关键字组成:int
、short
、long
、unsigned
、char
、float
、double
、signed
、_Bool
’、_Complex
和_Imaginary
。
int
类型
int
类型是有符号整数,有正负之分,也可以是0。一般用16位来存储一个int
值,int
的取值范围是-32768~32767,如果超过这个范围则会溢出,变为其它的数字。
声明int
类型变量时,先写上int
,再写上变量名。如果有多个变量名,用逗号分隔。例如
int x;
int x, y, z;
声明变量的目的有二:一是分配内存空间;二是指定变量名称。声明变量只是创建了变量,但是还没有值,可通过初始化的方式为变量赋值。初始化可与声明同时进行。例如
int x = 1;
int x = 1, y = 2, z = 3;
int a = 0x10; // 0x10是16进制数,16进制数以0x为前缀
int b = 010; // 010是10进制数,10进制数以0为前缀
如果赋值了一个小数,小数部分会被直接丢弃(截断)。
变量初始化不仅创建了存储空间还指定了初始值。
- 其它一些整数类型
C语言还提供了short
、long
来修饰int
,可以控制变量占用的存储空间,变量取值范围也就不同。都属于有符号数。
类型 | 取值范围 |
---|---|
short int (简写short ) |
-32767~32767 |
long int (简写long ) |
-21474843647~2147483647 |
long long int (简写long long ) |
-9223372036854775807~9223372036854775807 |
shor
占16位,long
占32位,long long
占64位。
int
类型可能占16位,也可能占32位,这由计算机的字长决定。C语言规定short
类型存储空间不能大于int
,因此可能等于;long
占用的存储空间不能大于int
,因此也可能等于。
如果需要知道确切大小,可使用sizeof()
运算符计算,例如
sizeof(int);
这样可以得到int
类型的字节大小。
另外,C语言头文件limits.h
和float.h
中分别定义类整数类型和浮点数类型的大小限制信息,具体可查看此文。
上述类型都是有符号数,可正可负,这些有符号数前可用signed
修饰。而用关键字unsigned
修饰可表示无符号数。unsigned int
(简写unsigned
)仅表示非负数,取值范围就不是 -32768~ 32767了,而是0~65535了。unsigned
还可与上面表格中的short
、long
和long long
型组成其它无符号类型,取值范围如下表
类型 |
---|