C语言运算符优先级 之 快速记忆

先摘录谭浩强《C程序设计》对运算符优先级的两点说明:

1. 同一优先级的运算符,运算次序由结合方向来决定。

例如:

a) * 与 / 具有相同的优先级别,其结合方向为自左向右,因此3 * 5 / 4的运算次序是先乘后除;

b) - 和 ++ 为同一优先级,结合方向为自右向左,因此 - i ++ 相当于 - ( i ++ )。

2. 从上述表中可以大致归纳出各类运算符优先级:

初等运行符->单目运算符->算术运算符->关系运算符->逻辑运算符->条件运算符->赋值运算符->逗号运算符

经过分析总结,编成顺口溜6句以助记忆:

初等单目一二级, // 初等运算符和单目运算符分别是第1、2优先级

乘除求余加减移, // 这句里面的运算符全归为算术运算符,移表示移位

关系等于不等于, // 关系运算符(<  <=  >  >=)

按位与来异或或, // 位运算符优先级顺序: & -> ^ -> |

逻辑与或条件弱, // 逻辑运算符优先级顺序: && -> ||,后面跟着优先级比较低(弱)的条件运算符

赋值逗号一点破。 // 赋值,逗号最低

优先级

运算符

名称或含义

使用形式

结合方向

说明

1

[]

数组下标

数组名[常量表达式]

左到右

()

圆括号

(表达式)/函数名(形参表)

.

成员选择(对象)

对象.成员名

->

成员选择(指针)

对象指针->成员名

2

-

负号运算符

-表达式

右到左

单目运算符

(类型)

强制类型转换

(数据类型)表达式

++

自增运算符

++变量名/变量名++

单目运算符

--

自减运算符

--变量名/变量名--

单目运算符

*

取值运算符

*指针变量

单目运算符

&

取地址运算符

&变量名

单目运算符

!

逻辑非运算符

!表达式

单目运算符

~

按位取反运算符

~表达式

单目运算符

sizeof

长度运算符

sizeof(表达式)

3

/

表达式/表达式

左到右

双目运算符

*

表达式*表达式

双目运算符

%

余数(取模)

整型表达式/整型表达式

双目运算符

4

+

表达式+表达式

左到右

双目运算符

-

表达式-表达式

双目运算符

5

<<

左移

变量<<表达式

左到右

双目运算符

>>

右移

变量>>表达式

双目运算符

6

>

大于

表达式>表达式

左到右

双目运算符

>=

大于等于

表达式>=表达式

双目运算符

<

小于

表达式<表达式

双目运算符

<=

小于等于

表达式<=表达式

双目运算符

7

==

等于

表达式==表达式

左到右

双目运算符

!=

不等于

表达式!= 表达式

双目运算符

8

&

按位与

表达式&表达式

左到右

双目运算符

9

^

按位异或

表达式^表达式

左到右

双目运算符

10

|

按位或

表达式|表达式

左到右

双目运算符

11

&&

逻辑与

表达式&&表达式

左到右

双目运算符

12

||

逻辑或

表达式||表达式

左到右

双目运算符

13

?:

条件运算符

表达式1? 表达式2: 表达式3

右到左

三目运算符

14

=

赋值运算符

变量=表达式

右到左

/=

除后赋值

变量/=表达式

*=

乘后赋值

变量*=表达式

%=

取模后赋值

变量%=表达式

+=

加后赋值

变量+=表达式

-=

减后赋值

变量-=表达式

<<=

左移后赋值

变量<<=表达式

>>=

右移后赋值

变量>>=表达式

&=

按位与后赋值

变量&=表达式

^=

按位异或后赋值

变量^=表达式

|=

按位或后赋值

变量|=表达式

15

,

逗号运算符

表达式,表达式,…

左到右

从左向右顺序运算

C语言运算符优先级 之 快速记忆相关推荐

  1. C语言运算符优先级 之 快速记忆6,[快速记忆]C语言/php的运算符优先级(结合性)...

    author: selfimpr blog: http://blog.csdn.net/lgg201 mail: lgg860911@yahoo.com.cn 阅读, 看到书中对优先级记忆的精彩讲解, ...

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

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

  3. C语言运算符优先级以及记忆方式

    C语言运算符优先级 C语言中运算符的优先级从高到低如下: 一元运算符:! ++ – +(正数)-(负数)& (取地址)*(指针值) 乘除模运算符:* / % 加减运算符:+ - 移位运算符:& ...

  4. new是不是c语言运算符优先级表,C语言运算符优先级列表(超详细)

    <C语言运算符优先级列表(超详细)>由会员分享,可在线阅读,更多相关<C语言运算符优先级列表(超详细)(7页珍藏版)>请在人人文库网上搜索. 1.本篇文章是对C语言中运算符的优 ...

  5. C 语言运算符优先级

    C 语言运算符优先级 优先级 运算符 描述 结合性 1 ++ -- 后缀自增与自减 从左到右 () 函数调用 [] 数组下标 . 结构体与联合体成员访问 -> 结构体与联合体成员通过指针访问 ( ...

  6. C语言运算符优先级列表

    本篇文章是对C语言中运算符的优先级进行了详细的分析介绍,需要的朋友参考下 每当想找哪个运算符优先级高时,很多时候总是想找的就没有,真让人气愤!现在,终于有个我个人觉得非常全的,分享给大家,欢迎拍砖! ...

  7. C语言运算符优先级和结合性

    C语言运算符优先级和结合性 优先级 运算符 含义 使用形式 结合性 操作数 1 [ ] 数组下标 数组名[整型表达式] 左结合性 ( ) 圆括号 (表达式) . 成员选择(对象) 对象.成员名 -&g ...

  8. c语言运算符优先级结合,C语言运算符优先级及结合性

    今天去翻了下C语言运算符的优先级和结合性,发现当初学习的时候就没认真记住,惭愧.发现一篇讲得不错的文章,编辑了下转来供以后翻阅. C语言运算符优先级表(由上至下,优先级依次递减) 运算符 结合性 () ...

  9. C语言运算符优先级及结合性

    今天去翻了下C语言运算符的优先级和结合性,发现当初学习的时候就没认真记住,惭愧.发现一篇讲得不错的文章,编辑了下转来供以后翻阅. C语言运算符优先级表(由上至下,优先级依次递减) 运算符 结合性 () ...

最新文章

  1. java for 执行顺序_java – @BeforeMethod和继承 – 执行顺序(TestNG)
  2. python 笔记:读取mat文件
  3. 博客园.Text技术支持移至PSP技术支持中心
  4. [转帖]H.264 RTP payload 格式(有效载荷)
  5. ajax 传字符串到后台,JSON.stringify()将JSON对象转换为字符串通过Ajax传入到后台处理...
  6. 数组中的第K个最大元素
  7. 三包围结构的字是什么样的_清桦学书之结构篇——包围结构。
  8. python numpy模块玩转矩阵与科学计算
  9. 利用BioEdit软件进行短序列序列比对之查看突变位点
  10. CodeForces Round#524B - Margarite and the best present (前缀和)
  11. [转载]中国书法:中华文化的代表性符号
  12. Cups打印机驱动延迟Bug解决
  13. 华为ME909之4G模块的开发
  14. 自动生成文章摘要[JavaScript 版本]
  15. 记一次失败的实战渗透
  16. 方舟手游服务器信息介绍,方舟生存进化手机版PVX服务器介绍 PVX服务器玩法
  17. scada如何用oracle数据库,怎样设计SCADA系统数据库存储功能及其应用
  18. 关于QT TTS ( TextToSpeech ) 编码导致的只能读英文不能读中文的问题
  19. OpenPDF使用教程及样例代码
  20. Java使用FTP、FTPS上传文件

热门文章

  1. 如何注册专利技术?价值如何评估?
  2. 蓝天计算机培训怎么样,呼和浩特蓝天计算机培训班好不好
  3. ZEROMQ 第 4 章 - 可靠地请求响应模型
  4. likely和unlikely函数的含义
  5. DODO被黑详解:偷天换日
  6. 设计模式(2)——创建型——工厂相关:简单工厂(Simple factory),工厂方法(Factory method),抽象工厂(Abstract factory)
  7. HDU - 5073 Galaxy 思维+方差性质
  8. 通过windows自带的命令查看笔记本电脑的电池状态
  9. 为什么没黑客敢入侵我国?原因有这样的人才在
  10. 腾讯视频如何设置热键