字面值常量
整型和浮点型
整型
整型可以写成十进制 八进制 十六进制
十进制:正常的数字
int.long.long long中最能放得下的类型
整型默认是signed八进制:027 用0开头
可以是int.unsigned.long.unsigned long.longlong.unsigned long long 中能放得下最小的类型
十六进制:0x1A 用0x开头
可以是int.unsigned.long.unsigned long.longlong.unsigned long long 中能放得下最小的类型
PS: 严格说,整型字面值常量没有负数如-10 其中10是字面值,-对这个字面值常量取负数浮点型
默认是double 3.14
也可用科学计算机 3.14e3 3.14E3
字符和字符串字面值
字符字面值’a’
字符串字面值"a"
字符串字面值末尾有’\0’ 空字符
字符串字面值实质就是const char []
字符串分开写cout<<"long long long long long long long long" "long long long long long long long string";
转义
转义序列如 ‘\n’
下面几个比较陌生:
\v 纵向制表符
// 效果如下 1 2 3 4
\b 退格符back 作用是将光标往回退一格
// 输出是 hellworld cout << "hello\b" << "world";
\f 进纸符 换页
也可以用数字转义称为泛化的转义序列
有两种形式
\7 \77 \777 反斜杠加最多三位八进制数
\0xAAAAAAAAA 无限位数的十六进制数
十六进制一般报错,应该限定字面值类型,为特殊的字符集
指定字面值常量的类型
通过添加前缀或者后缀,改变字面值常量默认类型
注意:这里限定的是默认类型,如果超出,还是会往大的类型确定整型和浮点型用后缀
整型
u or U unsigned
l or L long
ll or LL long long浮点型
f or F float
l or L long double字符和字符串字面值常量用前缀
u Unicode 16 char16_t
U Unicode 32 char32_t
L 宽字符 wchar_t
u8 UTF-8 char
bool型字面值
就是true or false
指针字面值
空指针 nullptr
关于字符编码 明天再写