C++基本数据类型:算术类型 和 空类型
算术类型包括 :字符、整形数、布尔值、浮点数。
空类型用于特殊场合,例如当函数不返回任何值时使用空类型作为返回类型。
2.1.1算术类型
算术类型分为两类:整形(包含字符和布尔类型在内)和浮点型
带符号类型和无符号类型
带符号类型可以表示为正数,负数或0,无符号类型表示大于0的值。
类型 int 、short、long、long long都是带符号的。在这些类型前面加上unsigned就可以得到无符号类型。
2.1.2类型转换
类型转换就是将给定的类型转换为另一种类型,当我们把整数赋值给浮点数时,小数部分记为0。如果我们把浮点数赋值给整数时,进行了近似处理。
含有无符号类型的表达式
当一个算式表达式中即有无符号整形unsigned int 又有整形int时,那个int值就会转换成无符号数。
#include<iostream> int main() { unsigned u = 10; int i = -42; unsigned f = i; std::cout << i + i << std::endl; std::cout << i + u << std::endl; std::cout << f << std::endl; return 0; }
结算结果为:
可以看出这并不是我们想要的值,所以一定要注意有符号和无符号类型之间的运算。
无符号数之间相减,一定要注意结果不能出现负数。
2.1.3 字面值常量
以0开头的整数代表八进制数。以0x开头的代表16进制数。
用单引号括起来的一个字符称为char型字面值,双引号括起来的零个或多个字符构成字符串字面值。
转义序列
换行符
回车
横向制表符
纵向制表符 v
std::cout<< ';
指定字面值得类型
通过添加所在列的前缀和后缀,可以改变整形、浮点型和字符型字面值得默认类型。