昨天懒了呜呜呜我有罪
第二章 数据类型、运算符和表达式
一、C++语言的数据类型
基本类型分为算数类型和空类型(void)
算数类型包括字符、整型数、布尔值、浮点数。分两类:整型(字符、整型数、布尔值)、浮点型(浮点数)。
1.整型
short//短整型,最小尺寸16位;
int//整形,最小尺寸16位;
long//长整形,最小尺寸32位;
long long//长整形,最小尺寸64位
signed//带符号的,可表示正、负、0;
unsigned——//无符号的,只表示大于等于0的值
类型int、short、long、long long都是带符号的,在这些类型名前加unsigned就可得到无符号类型,
如:unsigned long
以0开头为八进制;以0x或0X开头为十六进制
表2.1 整型字面值 | |
---|---|
后缀 | 最小匹配类型 |
u or U | unsigned |
l or L | long |
ll or LL | long long |
2.浮点型
通常字面值是一个double
表2.2 浮点型字面值 | |
---|---|
后缀 | 类型 |
f或F | float |
l或L | long double |
3.字符和字符串
单引号 如:'a'——char型字面值
双引号 如:"Hello World"——字符串型字面值
4.转义字符、转义序列(一般当做一个字符使用)
不可打印字符(如:退格)或有特殊含义的字符(如:单引号、双引号、问号、反斜线)不直接使用,所以用到转义序列。转义序列(escape sequence):均以反斜线作为开始。
表2.3 转义序列 | |||
---|---|---|---|
\n | 换行符 | \b | 退格符 |
\v | 纵向制表符 | \? | 问号 |
\\ | 反斜线 | \f | 进纸符 |
\r | 回车符 | \a | 报警(响铃)符 |
\t | 横向制表符 | \" | 双引号 |
\' | 单引号 |
泛化的转义序列:
\x后紧跟1个或多个十六进制数字(用到后面跟着的所有数字)(如:\x4d、\x1234,\x1234表示一个16位的字符)
或\后紧跟1~3个八进制数字(如:\1234,但它表示2个字符,即八进制数123和字符4,因为如果\后跟的八进制数字超过3个,只有前三个数字与\构成转义序列)
5.指定字面值的类型
添加前后缀改变整型、浮点型、字符型字面值默认类型。
指定字面值的类型参见表2.1、表2.2、表2.4。
表2.4 字符和字符串字面值 | ||
---|---|---|
前缀 | 含义 | 类型 |
u | Unicode 16 字符 | char16_t |
U | Unicode 32 字符 | char32_t |
L | 宽字符 | wchar_t |
u8 | UTF-8(仅用于字符串和字面常量) | char |
6.布尔字面值和指针字面值
true和false是布尔类型的字面值;nullptr是指针字面值。