1.2 类型和定义

类型

与Pascal相似,C++也提供了基本类型以及程序员可以自定义的类型。表1.1展示了C++中一些常用的基本类型以及与之对应的Pascal类型:

表 1.1: C++中的常见类型
名称 C++类型 Pascal类型 范围 大小
布尔型 bool Boolean true/false 1
字符型 char Char 所有单字节字符 1
8位有符号整型 signed char ShortInt \(-128 \sim 127\) 1
8位无符号整型 unsigned char Byte \(0 \sim 255\) 1
16位有符号整型 short SmallInt \(-32768 \sim 32767\) 2
16位无符号整型 unsigned short Word \(0 \sim 65535\) 2
32位有符号整型 int LongInt \(-2147483648 \sim 2147483647\) 4
32位无符号整型 unsigned int LongWord \(0 \sim 4294967295\) 4
64位有符号整型 long long Int64 \(-2^{63} \sim 2^{63}-1\) 8
64位无符号整型 unsigned long long QWord \(0 \sim 2^{64}-1\) 8
单精度浮点型 float Single \(\pm 1.17 \times 10^{-38} \sim 3.40 \times 10^{38}\) 4
双精度浮点型 double Double \(\pm 2.22 \times 10^{-308} \sim 1.79 \times 10^{308}\) 8
扩展浮点型 long double Extended \(\pm 3.36 \times 10^{-4932} \sim 1.18 \times 10^{4932}\) 10/12

布尔型

与 Pascal 相似,布尔型用来表示逻辑运算的结果。一个布尔型量的值只可能是 true 或者 falsetrue 的数值是 1,而 false 的数值是 0。与 Pascal 不同的是,在 C++ 中,很多其他类型的量都可以隐式地转化为布尔型。这时,非零的值都被转化成 true,而零被转化成 false