括号运算符 > 一元运算符 > 算术运算符 > 移位运算符 > 关系运算符 > 位运算符 > 逻辑运算符 > 赋值运算符 > 逗号运算符
简单记为:! > 算术运算符 > 关系运算符 > && > >赋值运算符
1、赋值运算符:=是赋值运算符,用于将右侧的值赋给左侧的变量。
例如,int a = 5;将5赋值给变量a。
c+=a 表示 c=c+a
2、算术运算符:这是用于执行基本数学运算的运算符。
+:加法运算符
-:减法运算符
*:乘法运算符
/:除法运算符
%:取余运算符
++:自增运算符
--:自减运算符
注意:a++ a--
输出的结果即为:
3、比较运算符:这些运算符用于比较两个值。(关系运算符)
==:等于运算符
!=:不等于运算符
<:小于运算符
>:大于运算符
<=:小于等于运算符
>=:大于等于运算符
4、逻辑运算符:这些运算符用于布尔逻辑运算。
&&:逻辑与运算符(AND) 在判断过程中,只要出现了假就不继续判断了。
||:逻辑或运算符(OR)在判断过程中,只要出现了真就不继续判断了。
!:逻辑非运算符(NOT)
5、位运算符:这些运算符用于对二进制位进行操作。
&:按位与运算符
|:按位或运算符
^:按位异或运算符 相同为0 不同为1
~:按位非运算符(一元)按位取反**0变1 1变0**
<<:左移运算符 负数以补码形式存放
右移运算符:>> 数值缩小2的n次方。
-65右移3位(有符号位的移位操作,先转换成补码在进行移位,往右移的过程中符号位不变,移出去的数据丢弃,出现的空补1,得到的二进制数是补码,先变为反码再变为原码,即可得到最终的数):
6、三元运算符(三目)
这个运算符以 ? :表示,用于进行条件运算。例如,a = (b > c) ? b : c;如果b大于c,则a被赋值为b,否则被赋值为c。
7、类型转换运算符
()用于强制类型转换。例如,(float) x;将x转换为浮点数。
8、sizeof运算符
sizeof()返回其参数的大小(以字节为单位)。例如,sizeof(int)返回一个整数的大小。
&取地址符 scanf
("%d\n",&a)
9、const_cast运算符
用于去掉变量的 const 或 volatile 属性。例如,const int p = (const int) &a;删除了变量a的 const 属性。
10、dynamic_cast运算符
在面向对象编程中,用于向下转型(将基类指针转换为派生类指针)。
11、reinterpret_cast运算符
用于重新解释指针或整数类型。例如,int p = (int) &a;将变量a的地址重新解释为一个整数指针。
12、new和delete运算符
在动态内存分配中,用于创建和删除对象。例如,int *p = new int;创建一个新的整数并将其地址赋给指针p。
13、[]和()用于访问数组元素和函数调用
**例如,a[i]访问数组a的第i个元素;而f(arg1, arg2, ...)` 则调用函数f,并将arg1, arg2, ...作为参数传递给它。
14.赋值运算符
赋值运算符用于将一个值赋给变量,包括赋值=、复合赋值+=、-=、*=、/=等。赋值运算符的优先级低于逻辑运算符。
15.逗号运算符
逗号运算符用于在表达式中多个子表达式之间添加标点分隔符。逗号运算符的优先级是最低的,它是从左到右结合的。
等号=从左向右运算
最需要注意的是:
++i和i++是不一样的,注意区分!!!
注:
优先级顺序
说明: 同一优先级的运算符,运算次序由结合方向所决定。
简单记就是: ! > 算术运算符 > 关系运算符 > && > >赋值运算符