目录
(1)数与类型
(2)基本类型
(3)字面常量
(4)操作符
(5)类型转换
(1)数与类型
(2)基本类型
整型
浮点型 --- 表示实数类型
非指数形式 1234.56
指数形式 1.23456e+03
布尔型bool
存储长度1字节,只有“true”和“false”
整型和布尔型之间可以通用
字符型char 表示文本字符 存储长度1字节,存储的是字符的ASCII码 C/C++宽字符类型wchar_t类型,占2字节
(3)字面常量
字面常量的值在程序中不会改变
整型常量
八进制:在数值的前面加”0”,040
十六进制:在数值的前面加”0x”,0x20
默认情况下,整型常量认为是signed int
long型在数值的后面加”l”或”L”,
32L unsigned型在数值的后面加”u”或”U”,0x20UL
浮点型常量
默认情况下,浮点型常量认为是double
float型在数值后面加”f”或”F”,3.1e-2F
long double型在数值后面加”l”或”L”,3.14E-2L
布尔型常量
true和false
字符型常量
一般以单引号‘’括起,’A’,’,’,’’’
转义字符,以\开头
‘\’’,’\”’,’\\’,’\n’,
‘\101’,’\x41
字符串常量
一串字符,由双引号”括起一个或多个字符 “hello,world!” 可以声明宽字符的字符串 L“hello,world!”
(4) 操作符
根据操作数(operand)的数目分类
一元操作符:作用在1个操作数
二元操作符:作用在2个操作数
三元操作符:作用在3个操作数
赋值操作符 计算顺序是自右向左
算术操作符
操作符 | 优先级 | 结合型 | 含义 | 示例 |
* | 5 | 左右 | 乘法 | a*b |
/ | 5 | 左右 | 除法 | a/b |
% | 5 | 左右 | 取模(求余数) | a%b |
+ | 6 | 左右 | 加法 | a+b |
- | 6 | 左右 | 减法 | a-b |
+ | 3 | 右左 | 求正 | +a |
- | 3 | 右左 | 求负 | -a |
++ | 3 | 自加 | a++,++a | |
-- | 3 | 自减 | a--,--a |
关系操作符
操作符 | 优先级 | 结合型 | 含义 | 示例 |
> | 8 | 左右 | 大于 | a>b |
>= | 8 | 左右 | 大于等于 | a>=b |
< | 8 | 左右 | 小于 | a<b |
<= | 8 | 左右 | 小于等于 | a<=b |
== | 9 | 左右 | 等于 | a==b |
!= | 9 | 左右 | 不等于 | a!=b |
逻辑操作符
操作符 | 优先级 | 结合型 | 含义 | 示例 |
&& | 13 | 左右 | 与 | a&&b |
|| | 14 | 左右 | 或 | a||b |
! | 3 | 右左 | 非 | !a |
条件操作符
操作符 | 优先级 | 结合型 | 示例 |
<exp1>?<exp2>:<exp3> | 15 | 右左 | a>b?a:b |
位操作符
操作符 | 优先级 | 结合型 | 含义 | 示例 |
& | 10 | 左右 | 位与 | a&b |
| | 12 | 左右 | 位或 | a|b |
^ | 11 | 左右 | 异或 | a^b |
~ | 3 | 右左 | 取补 | ~a |
<< | 7 | 左右 | 左移 | a<<n |
>> | 7 | 左右 | 右移 | a>>n |
逗号操作符
将多个表达式隔开,逗号表达式的值等于最后一个表达式的值 优先级最低,19级
sizeof操作符
返回一个变量或数据类型的字节长度
sizeof(类型)
sizeof(变量)
sizeof 变量
typeid操作符
返回一个变量或数据类型的“类型”
typeid(类型)
typeid(变量)
typeid 变量
typeid返回的“类型”为type_info类的对象,需要通过type_info类的name()获取该”类型“的名字
(5)类型转换
可分为隐式转换和显式转换 隐式转换implicit 系统自动转换
显式转换Explicit 避免不经意的情况发生
语法: (类型)表达式; 类型(表达式); (类型)(表达式); static_cast<类型>(表达式)