优先级 操作符 描述 例子 结合性
1 ()
[]
->
.
::
++
--
调节优先级的括号操作符
数组下标访问操作符
通过指向对象的指针访问成员的操作符
通过对象本身访问成员的操作符
作用域操作符
后置自增操作符
后置自减操作符
(a + b) / 4;
array[4] = 2;
ptr->age = 34;
obj.age = 34;
Class::age = 2;
for( i = 0; i < 10; i++ ) ...
for( i = 10; i > 0; i-- ) ...
从左到右
2 !
~
++
--
-
+
*
&
(type)
sizeof
逻辑取反操作符
按位取反(按位取补) 
前置自增操作符
前置自减操作符
一元取负操作符
一元取正操作符
解引用操作符
取地址操作符
类型转换操作符
返回对象占用的字节数操作符
if( !done ) ...
flags = ~flags;
for( i = 0; i < 10; ++i ) ...
for( i = 10; i > 0; --i ) ...
int i = -1;
int i = +1;
data = *ptr;
address = &obj;
int i = (int) floatNum;
int size = sizeof(floatNum);
从右到左
3 ->*
.*
在指针上通过指向成员的指针访问成员的操作符
在对象上通过指向成员的指针访问成员的操作符
ptr->*var = 24;
obj.*var = 24;
从左到右
4 *
/
%
乘法操作符
除法操作符
取余数操作符
int i = 2 * 4;
float f = 10 / 3;
int rem = 4 % 3;
从左到右
5 +
-
加法操作符
减法操作符
int i = 2 + 3;
int i = 5 - 1;
从左到右
6 <<
>>
按位左移操作符
按位右移操作符
int flags = 33 << 1;
int flags = 33 >> 1;
从左到右
7 <
<=
>
>=
小于比较操作符
小于或等于比较操作符
大于比较操作符
大于或等于比较操作符
if( i < 42 ) ...
if( i <= 42 ) ...
if( i > 42 ) ...
if( i >= 42 ) ...
从左到右
8 ==
!=
等于比较操作符
不等于比较操作符
if( i == 42 ) ...
if( i != 42 ) ...
从左到右
9 & 按位与操作符 flags = flags & 42; 从左到右
10 ^ 按位异或操作符 flags = flags ^ 42; 从左到右
11 | 按位或操作符 flags = flags | 42; 从左到右
12 && 逻辑与操作符 if( conditionA && conditionB ) ... 从左到右
13 || 逻辑或操作符 if( conditionA || conditionB ) ... 从左到右
14 ? : 三元条件操作符 int i = (a > b) ? a : b; 从右到左
15 =
+=
-=
*=
/=
%=
&=
^=
|=
<<=
>>=
赋值操作符
复合赋值操作符(加法)
复合赋值操作符(减法)
复合赋值操作符(乘法)
复合赋值操作符(除法)
复合赋值操作符(取余)
复合赋值操作符(按位与)
复合赋值操作符(按位异或)
复合赋值操作符(按位或)
复合赋值操作符(按位左移)
复合赋值操作符(按位右移)
int a = b;
a += 3;
b -= 4;
a *= 5;
a /= 2;
a %= 3;
flags &= new_flags;
flags ^= new_flags;
flags |= new_flags;
flags <<= 2;
flags >>= 2;
从右到左
16 , 逗号操作符 for( i = 0, j = 0; i < 10; i++, j++ ) ... 从左到右
记忆方法:
--摘自《C语言程序设计实用问答》       
    问题:如何记住运算符的15种优先级和结合性?    
    解答:C语言中运算符种类比较繁多,优先级有15种,结合性有两种。    
    如何记忆两种结合性和15种优先级?下面讲述一种记忆方法。    
    结合性有两种,一种是自左至右,另一种是自右至左,大部分运算符的结合性是自左至右,只有单目运算符、三目运算符的赋值运算符的结合性自右至左。    
    优先级有15种。记忆方法如下:    
    记住一个最高的:构造类型的元素或成员以及小括号。    
    记住一个最低的:逗号运算符。    
    剩余的是一、二、三、赋值。    
    意思是单目、双目、三目和赋值运算符。    
    在诸多运算符中,又分为:    
    算术、关系、逻辑。    
    两种位操作运算符中,移位运算符在算术运算符后边,逻辑位运算符在逻辑运算符的前面。再细分如下:    
    算术运算符分     *,/,%高于+,-。    
    关系运算符中,〉,〉=,<,<=高于==,!=。    
    逻辑运算符中,除了逻辑求反(!)是单目外,逻辑与(&&)高于逻辑或(||)。    
    逻辑位运算符中,除了逻辑按位求反(~)外,按位与(&)高于按位半加(^),高于按位或(|)。    
    这样就将15种优先级都记住了,再将记忆方法总结如下:    
    去掉一个最高的,去掉一个最低的,剩下的是一、二、三、赋值。双目运算符中,顺序为算术、关系和逻辑,移位和逻辑位插入其中。

C++操作符的优先级 及其记忆方法相关推荐

  1. 详解:操作符的优先级

    前言: 复杂表达式的求值有三个影响的因素. 1. 操作符的优先级 2. 操作符的结合性 3. 是否控制求值顺序 两个相邻的操作符先执行哪个?取决于他们的优先级.如果两者的优先级相同,取决于他们的结合性 ...

  2. C/C++操作符的优先级和结合性问题浅析

    两个相邻操作符的执行顺序由它们的优先级决定.例如: a + b*c,在这个表达式中,乘法和加法操作符是两个相邻的操作符,由于乘法的优先级比加法高,所以乘法运算先于加法运算执行.编译器在这里别无选择,它 ...

  3. 世界公认最好的记忆方法_世界记忆大师:6种简单实用记忆方法,让孩子成为学霸中学霸...

    绝大部分成绩好的孩子,都是与记忆力好坏相关,而成绩差的孩子也付出了相应的努力,但就是怎么学都学不好.当然了,这个世界是没有笨小孩,只要坚定信心,每天坚持记忆方法训练,每个孩子都可以成为一名学霸中的学霸 ...

  4. 关于C语言运算符优先级的记忆技巧是什么?

    关于C语言运算符优先级的记忆技巧是什么? (1)先(括号)内层,后(括号)外层. (2)先函数,后运算. (3)先算术,后关系,再逻辑. (4)先乘除,后加减. (5)先左,后右. (6)搞不清,加括 ...

  5. 学习方法之04提取练习,永远都不会忘的记忆方法

    学习方法之04提取练习,永远都不会忘的记忆方法 前言 最近在复习准备秋招,总觉得效率不高,可能学习方式哪里出了问题,思考了一下,决定先学习正确的学习方式(是否真的正确还有待).在网上找了个学习方法教程 ...

  6. 学习方法之02掌握记忆方法,在学习上就赢了一半

    学习方法之02掌握记忆方法,在学习上就赢了一半 前言 最近在复习准备秋招,总觉得效率不高,可能学习方式哪里出了问题,思考了一下,决定先学习正确的学习方式(是否真的正确还有待).在网上找了个学习方法教程 ...

  7. python优先级排序_Python实现一个优先级队列的方法

    问题 怎样实现一个按优先级排序的队列? 并且在这个队列上面每次 pop 操作总是返回优先级最高的那个元素 解决方案 下面的类利用 heapq 模块实现了一个简单的优先级队列: import heapq ...

  8. linux 命令 记忆方法,linux 记忆命令心得

    新开始学linux,要记住很多的命令,毕竟这是linux的根本,没有这些命令,连操作都没办法进行.所以我写这个的目的是我自己记忆,也是想帮助一下一同学习linux的同学们,提供自己记忆这些的方法,抛砖 ...

  9. cont char *p 和 char* const p 区别及记忆方法

    /* cont char *p 和 char* const p 区别及记忆方法 const char *p = "hello"; 和 char const *p = "h ...

最新文章

  1. python怎样实现封装_python 封装底层实现原理
  2. B2C电子商务系统研发——商品SKU分析和设计(一)
  3. 如何合理的规划jvm性能调优
  4. 信息学奥赛一本通 1054:三角形判断 | OpenJudge NOI 1.4 16
  5. python if else_菜鸟笔记015 Python If ... Else
  6. 前端工程师如何与设计师合作能提高效率
  7. 各种波形文件(wlf/vcd/fsdb/shm/vpd)的区别及生成方法(转)
  8. Delphi 源码格式书写规范
  9. 内存优化——使用pandas读取千万级数据
  10. linux终端ANSI转义字符
  11. 图书销售系统需求分析获取
  12. 荣耀9igoogle模式_将iGoogle设为Microsoft Outlook中的启动页
  13. Android通过百度api地址经纬度获取文字位置信息
  14. PHP实现匿名聊天室
  15. 二、设计模式-必要的基础知识—旅行前的准备 #和设计模式一起旅行#
  16. android allapp图标拖动,RecyclerView 拖拽移动,长按小图标拖拽,侧滑删除
  17. “福鼎一杯”:“一杯严选”与“茶人的栖息地”——见茶卸甲 | AiHi资讯
  18. Debug签名时候数据正常正式签名的时候数据不正常,不显示,或者数据错乱问题
  19. Java 内部类简介,理解,特点,注意事项
  20. 京东自动抢茅台脚本(亲测可用,文末有新年礼物)

热门文章

  1. 解决svn错误:post-commit hook failed (exit code 1) with output
  2. 广州技术沙龙第 4 期报名开始!
  3. 【数据结构与算法】之深入解析“不同路径II”的求解思路与算法示例
  4. 我的Go+语言初体验--Go+之环境安装与程序编码初体验
  5. 404. Sum of Left Leaves 左叶子之和
  6. 10.1.3 标签分类与嵌套
  7. Ubuntu + pip + Python3 + CPU版本 PaddlePaddle 安装
  8. Host key verification failed.
  9. 无人机飞控开发平台培训理论课程——MSP430最小系统
  10. 排序算法 —— 选择排序