1.bool类型
布尔变量的值可以是true和false;
c++规定:非零值为true,零为false;
2.const限定符
#define 预处理命令;
const关键字来修改变量声明和初始化;const关键字叫做限定符,因为它限定了声明的含义;
下面说明两种常见的命名方式,这并不是通用的,只是大家多约定俗成的;
//名称的首字母大写,以说明是一个常量;
const int Months = 12;
//将整个名称大写,使用#define时;
#define MONTHS 12
//还有一种是以字母k打头;
kmonths;
//等等
下面说明一下const比#define好的地方;
第一,const能够明确指定类型;
第二,可以使用c++的作用域规则将定义限制在特定的函数或文件中;
第三,可以将const用于更复杂的类型,如数组和结构;
ANSI C 版本和C++稍有不同,C++的作用域规则,和c++中可以用const值来声明数组长度;
3.浮点数
即带小数部分的数字;计算机将这样的值分为两部分存储,一部分表示值,一部分用于对值进行放大或缩小;
//例如
一个数34.1245和另外一个数34124.5;
就可以这么表示,0.341245(基准值)和100(缩放因子);
0.341245(基准值)和10000(缩放因子);
缩放因子的作用是移动小数点的位置;
4.书写浮点数
有两种,第一种常用的标准小数点表示法;
第二种,E表示法;大家用计算器的时候肯定经常见到,例如3.45E6,指的是3.45与10的6次方相乘;E6指的就是10的6次方;
注:
E和e都可以;指数可以是正数也可以是负数;数字中不能有空格;
5.浮点类型
C++也有3种浮点类型,float,double和long double;
float至少32位;double至少48位,且不少于float;long double 至少和double一样多;
不过,通常float为32位,double为64位,long double 为80,96或者128位;不过对于float,c++只保证6位有效位;
6.浮点常量
float使用后缀f或F表示;long double 可使用l或L表示;浮点常量在默认情况下位double类型;
1.234L;
2.45e20f;
7.类型转换
随意进行类型转换,可能出现精度下降,超出取值范围等问题;
将0赋给bool变量时,将被转换为false,非零值将被转换为true;
8.以 {} 方式初始化时进行的转换(C++11)
这种初始化称为列表初始化;列表初始化不允许缩窄,可以理解为不可以降低精度的类型转换;
9.强制类型转换
格式有两种:
(long) thorn;//来自c语言
long (thorn);//来自纯粹的c++;
c++还引入了4个强制类型转换运算符;