1、基本内置类型
2、类型int short long 和long long都是带符号的,在他们面前加上unsigned就可以得到无符号类型。类型unsigned int 可以缩写成unsigned.
3、字符型被分为了三种:char、signed char(-128~127)、和unsigned char(0~255)
4、类型char在一些机器上是有符号的,在另一些机器上又是无符号的,所以使用char进行运算特别容易出问题。如果需要一个不大的整数,最好明确指定他是signed char 或者unsigned char
5、类型转换:
非布尔----->布尔: 0 == false !0 == true
浮点 ----->整型:向下取整
6、给无符号类型一个超过它表示范围的值时,结果是初始值对无符号类型表示数值总数取模后的余数。所以unsigned char a = -1;的实际结果是a = 255 = -1%256 = (-1+256)%256.
7、含有无符号类型的表达式
7-1、表达式int和unsigned混用,int 会转成unsigned
7-2、unsigned中减去一个数不管这个数怎么样,都必需保证结果不为负,unsigned取反等于该数加上unsigned的模
7-3、循环中需要注意 unsigned >= 0的风险很大,因为unsigned 不可能小于0
8、字面值
一个形如42的值被称作字面值常量(literal),这样的值一望便知。每个字面值常量都对应一种数据类型,字面值常亮的形式和值决定了它的数据类型
整型和浮点型字面值
十进制字面值不会是负数
字符和字符串字面值
字符串字面值的实际长度要比它的内容多1;如果两个字符串字面值位置紧邻且仅由空格,缩进和换行符分割,则实际上是一个整体。当书写的字符串字面值较长,写在一行里不太合适时,就可以采取分开书写的方式。
9、转义序列
\1234567表示八进制转义序列
\x123..DEF表示十六进制转义序列
如果反斜线\后面跟着的八进制数字超过3个,则只有前面3个数字与\构成转义序列。如\1234表示两个字符,八进制123和字符4。
如果反斜线\x后跟着的数字一般不超过8位,否则最好要换成其他写法。
10、nullptr是指针字面值
未完待续...