一、算术运算符
a=5,b=10
运算符符号 | 解释用法 | 语法举例 |
+ | 加号 | a+b=15或a+=b(结果相同,下同) |
- | 减号 | b-a=5或b-=a |
* | 乘号 | a*b=50或a*=b |
/ | 除号 | a/b=0.5或a/=b |
= | 赋值运算符 | x=2,将2赋给x |
++ | 自加运算符 | a++,结果为6 |
-- | 自减运算符 | a--,结果为4 |
二、关系运算符
<,>,<=,>=,==,!=
三、逻辑运算符
A=1,B=0
四、位运算符
位运算符作用于位,并逐位执行操作。&、 | 和 ^ 的真值表如下所示:
位运算 | 用途 | 举例 |
&(按位与) |
| 【当对应位都是1时则写1,否则为0】
|
^(按位异或) | 使特定位翻转 | 【与0异或保持原值,与1异或取反】 0111 1010 低四位翻转:与0000 1111 异或 |
|(按位或) | 将某些位置1,其他位置不变 | 【只要有一个1,则该位是1】 int a 低字节置1:a = a|0xff |
<<(左移运算) >>(右移运算) |
| 【无符号数补0,有符号数补符号数】 |
sizeof运算 | 是求一个变量或者一种数据类型所占的字节数 语法形式:sizeof(类型名)或sizeof 表达式 | sizeof(short) sizeof x |
五、逗号运算符
举例:a=3*5,a*4,得60
六、条件运算符
举例:x=a<b?a:b,如果a<b,则x=a,否则为b
七、优先级
八、混合运算时数据类型的转换
(1)隐含转换
**一些二元运算符(算术,关系,逻辑,位和赋值运算符)要求两个操作数类型一致
**在算术运算和关系运算中如果参与运算运算的操作数类型不一致,编译系统会自动对数据进行转换(即隐含转换),基本原则是将低类型数据转换为高数据类型
**低到高
char(unsigned) short(unsigned) int(unsigned) long(unsigned) longlong float double
(2)显式转换
作用:将表达式的结果类型转换为类型说明符所指定的类型
语法形式:类型说明符(表达式)
(类型说明符)表达式
类型转换操作符<类型说明符>(表达式)
类型转换操作符可以是:const_cast,dynamic_cast,reinterpret_cast,static_cast(最常用)
举例:int(z),(int)z,static_cast<int>(z) 三种完全等价
发布不易,欢迎点赞收藏