-
算术操作符
加号 (+)、减号 (-)、乘号 (*)、除号 (/)和取模 (%)运算。
%相当于商几余几,取模操作符只能用于·整型,不能用于浮点数。
-
移位操作符
移位运算符在程序设计中,是位操作运算符的一种。
移位运算符可以在二进制的基础上对数字进行平移。 按照平移的方向和填充数字的规则分为三种:<< (左移)、>> (带符号右移)和>>> (无符号右移)。
在c++中,移位运算符有双目移位运算符:<<(左移)和>>(右移)。 移位运算符组成的表达式也属于算术表达式,其值为算术值。 左移运算是将一个二进制位的操作数按指定移动的位数向左移动,移出位被丢弃,右边移出的空位一律补0。
-
位操作符
-
^按位异或 对应的二进制数字相同为0,相异为1
-
& 按位与 对应的二进制有0则为0,全1才为1
-
| 按位或 对应的二进制有1则为1,全0才为0
(在32位机里的32个用1/0表示的数字进行与,或等运算)
- 赋值操作符
= += -= *= /= &= ^= |= >>= <<=
赋值 加 减 乘 除 与 异或 或 右移 左移
- 单目操作符
- ! 逻辑反操作(!是逻辑反操作,c语言中,用0表示假,非0表示真。运算符就是操作符)
- - 负值
- + 正值
- & 取地址
- sizeof 操作数的类型长度(以字节为单位)
- ~ 对一个数的二进制按位取反
~ 叫做按位取反 二进制位(二进制位都是内存里的二进制位)
-1是负整数,负整数的二进制有源码,补码,反码
二进制中最高位是1,表示是负数;最高位是0,表明是正数
(-1表示为
10000000000000000000000000000001 表示-1的源码
11111111111111111111111111111110 表示反码
最高位不变,其余全部取反 ,给反码加1 11111111111111111111111111111111 表示补码)
~给-1按位取反后 00000000000000000000000000000000
7.-- 前置、后置--
8.++ 前置、后置++
先前后置,再使用
先使用,再前后置
关系操作符
逻辑操作符
-
&&逻辑与 并
-
||逻辑或 或
- 关系操作符
- 逻辑操作符
- 条件操作符
简化if语句
表达式为:表达式1?表达式2:表达式3
先求解表达式1,
若其值为真(非0)则将表达式2的值作为整个表达式的取值,
否则(表达式1的值为0)将表达式3的值作为整个表达式的取值。
- 逗号表达式
在C语言和C++语言中,可以把多个表达式用逗号联接起来(或者说,把这些表达式用逗号分开),构成一个更大的表达式。其中的逗号称为逗号运算符,所构成的表达式称为逗号表达式。逗号表达式中用逗号分开的表达式分别求值,以最后一个表达式的值作为整个表达式的值。
- 下标引用,函数调用和结构成员
[] () . ->
[]下标引用操作符:操作数是arr 和 4
()函数调用操作符 操作数是Add和3,5,共三个操作数(不是三个操作数,一个两个也行)