编程语言的核心就是它的数据类型和运算符。这些元素定义了语言的极限和语言可以完成
的功能。正如我们所期望的那样,C++支持大量的数据类型和运算符,这使得它在很多领
域都是很合适的编程语言。数据类型和运算符的内容很丰富。这里,我们将以 C++中最基
本的数据类型和最常用的运算符开始学习。我们还会进一步研究变量和表达式。
为什么数据类型如此重要
数据类型如此重要是因为它决定了可以使用的运算符和可以存储的数值的范围。C++中
定义了几种数据类型,每种都有各自的特点。由于数据类型不一样,所有的变量在使用之
前都必须进行声明。变量的声明包括指定变量的类型。编译器需要这个信息来生成正确的
代码。在 C++
“
”
中没有所谓的 没有类型 的变量。
数据类型如此重要的第二个原因是因为这几种基本的类型是和计算机操作的基本对象紧
密相关的:字节和字。因此 C++允许我们操作的数据类型是和 CPU 直接操作的类型一样
的。这也是为什么 C++能够编写出高效的、系统级的代码的原因之一。
基本技能 2.1: C++中的数据类型
C++提供的内置数据类型是对应于整型,字符,浮点和布尔类型的值。这也是程序中通
常存储和处理数据的方式。在本书后面的章节中会看到,C++允许我们构建更复杂的类型,
比如类,结构,枚举,但是它们完全是由内置的类型所构成。
C++类型系统的核心就是下面的 7 种基本的数据类型
类型
意义
char
Character 字符
wchar_t
Wide Character 宽位字符
int
Integer 整型数
float
Floating Point 单精度浮点数
double
Double Floating Point 双精度浮点数
bool
Boolean 布尔类型
void
Valueless 空类型
C++允许一些基本数据类型可以被修饰符修饰,修饰符放置在类型的前面。修饰符改变
了基本类型的含义,使得它能满足不同的需要。数据类型的修饰符如下:
signed
unsigend
long
short
修饰符 signed、unsigned、long、short 都可以用于修饰 int。修饰符 signed 和 unsigned 可以用
来修饰 char 类型。类型 double 可以被修饰符 long 来修饰。表格 2-1 显示了所有有效的基本
类型和修饰符的组合。这张表同时还给出了 ANSI/ISO C++中定义的每种类型的最小取值
范围。
类型
最小取值范围
char
-127 到 127
unsigned char
0 到 255
signed char
-127 到 127
int
-32767 到 32767
unsigned int
0 到 65535