第二章 变量和基本类型
数据类型是程序的基础:它告诉我们数据的意义及我们能在数据上执行的操作
2.1 基本数据类型
C++定义了一套包括算术类型和空类型在内的基本数据类型
2.1.1 算术类型
算术类型:
- 整型
- 浮点型
布尔类型的取值是真或者假
带符号类型和无符号类型:
除去布尔型和扩展的字符之外,其他整型可以划分为 带符号的和无符号的。带符号的可以表示正数、负数、0,无符号类型仅可以表示大于等于0的值。- 类型 int、short、long、和 long long都是带符号的
- 类型 unsigned int、unsigned short、unsigned long和 unsigned long long都是无符号的
如何选择类型
- 当明确知晓数值不可能为负时,选用无符号类型
- 使用int执行整数运算。如果数值超过int的数值范围,则选用long long
- 在算术表达式中不要使用char或bool,只有在存放字符或者布尔值时才使用他们
- 执行浮点数运算选用double
2.1.2 类型转换
对象的类型定义了对象能包含的数据和能参与的运算,其中一种运算被大多数类型支持,就是将对象从一种类型转换为另一种类型。
类型所能表示的值的范围决定了转换的过程:
- 当我们把一个非布尔类型的算术值付给布尔类型时,初始值是0 则结果为false,否则结果为true
- 当我们把一个布尔值赋给非布尔类型时,初始值为false 则结果为0,初始值为true 则结果为1
- 当我们把一个