首页 > 编程知识 正文

c语言指针运算符优先级,c语言优先级与结合性

时间:2023-05-06 11:45:22 阅读:40481 作者:2105

c语言的运算符很多,具有不同的优先级和结合性。 我们把它们都列举出来,让大家比较容易记忆:

优先顺序

运算符

名字或意思

使用形态

对准方向

说明

1

[]

序列下标

数组名称[常量表达式]

从左到右

()

括号

(公式) /函数名称(形参表) ) ) ) ) ) ) )。

水平。

成员选择(对象)

对象.成员名称

_

成员选择(指针)

对象指针-成员名称

2

_

负号运算符

-公式

从右到左

单眼算子

(类型)

强制类型转换

(数据类型)表达式

自增算子

变量名/变量名

单眼算子

--

自减法运算符

-变量名/变量名-

单眼算子

*

取值运算符

*指针变量

单眼算子

取地址运算符

变量名称

单眼算子

非逻辑运算符

! 公式

单眼算子

~

逐位逆运算符

~式

单眼算子

sizeof

长度运算符

sizeof (公式)

3

/

消除

公式/项目

从左到右

双目算子

*

乘坐

公式*公式

双目算子

%

剩余(模具)。

整数表达式/整数表达式

双目算子

4

加号

公式

从左到右

双目算子

_

负的

公式-公式

双目算子

5

向左移动

变量

从左到右

双目算子

向右移动

变量表达式

双目算子

6

大于

公式

从左到右

双目算子

=

大于相等

公式=公式

双目算子

小于

公式

双目算子

=

小于相等

公式=公式

双目算子

7

==

等于

公式==公式

从左到右

双目算子

!=

不相等

仪式!=公式

双目算子

8

按位和

公式

从左到右

双目算子

9

^

基于异或

公式^公式

从左到右

双目算子

10

|

按位或

公式|公式

从左到右

双目算子

11

逻辑乘积

公式

从左到右

双目算子

12

||

或逻辑

公式||公式

从左到右

双目算子

13

条件运算符

公式1? 式2:式3

从右到左

三目运算符

14

=

赋值运算符

变量=表达式

从右到左

//

除法运算

变量/=表达式

*=

乘法后代入

变量*=表达式

%=

取型赋值

变量%=表达式

=

加法后代入

变量=表达式

-=

扣分后代入

变量-=表达式

=

向左移动并分配值

变量=表达式

>=

右移后赋值

变量>>=表达式

&=

按位与后赋值

变量&=表达式

^=

按位异或后赋值

变量^=表达式

|=

按位或后赋值

变量|=表达式

15

,

逗号运算符

表达式,表达式,…

左到右

从左向右顺序运算

注:同一优先级的运算符,运算次序由结合方向所决定。

上面的表无需死记硬背,很多运算符的规则和数学中是相同的,用得多,看得多自然就记得了。如果你是在记不住,可以使用( )。

一些容易出错的优先级问题

上表中,优先级同为1 的几种运算符如果同时出现,那怎么确定表达式的优先级呢?这是很多初学者迷糊的地方。下表就整理了这些容易出错的情况:

这些容易出错的情况,希望读者好好在编译器上调试调试,这样印象会深一些。一定要多调试,光靠看代码,水平是很难提上来的。调试代码才是最长水平的。

【部分原创】标准C语言的优先级、结合性、求值顺序、未定义行为和非确定行为浅析

零. 优先级    在C++ Primer一书中,对于运算符的优先级是这样描述的:     Precedence specifies how the operands are grouped. It ...

[转]说说C语言运算符的“优先级”与“结合性”

补充自己的一点理解: 1.关于++i 与 i++的区别. ++i 和 i++如果是单独使用的语句,即二者后面均加上分号,或者其他单独使用的语句,没有任何区别.例如: for(i=0;i<100; ...

C语言左值,运算符的优先级以及结合性探讨

刚刚开始看一本书.,相信学习C语言的大家都对这本书有耳闻.今天看到了里面的贪心法则.也即在读到一个字符后,尽可能多的读入更多的字符,直到读入的字符组成的字符串已经不可能再组 ...

说说C语言运算符的&OpenCurlyDoubleQuote;优先级”与&OpenCurlyDoubleQuote;结合性”

论坛和博客上常常看到关于C语言中运算符的迷惑,甚至是错误的解读.这样的迷惑或解读大都发生在表达式中存在着较为复杂的副作用时.但从本质上看,仍然是概念理解上的偏差.本文试图通过对三个典型表达式的分析,集 ...

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

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

C语言的运算符的优先级与结合性&plus;ASCII表

[0]README 0.1) 内容来源于 C程序设计语言, 旨在整理出C语言的运算符的优先级与结合性, 如下图所示(哥子 记了大半年都没有记住,也是醉了,每次都要去翻): Alert)以下内容转自:h ...

C语言运算符优先级和结合性一览表

所谓优先级就是当一个表达式中有多个运算符时,先计算谁,后计算谁.这个其实我们在小学学算术的时候就学过,如1+4÷2. 但是C语言中的运算符已经远不止四则运算中的加减乘除了,还有其他很多运算符.当它们出 ...

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

运算符优先级和结合性 优先级                                       运算符 结合性                                         ...

swift:高级运算符(位运算符、溢出运算符、优先级和结合性、运算符重载函数)

swift:高级运算符 http://www.cocoachina.com/ios/20140612/8794.html 除了基本操作符中所讲的运算符,Swift还有许多复杂的高级运算符,包括了C语和 ...

随机推荐

consul模板的说明2

保证模板的正常执行 使用||true $ consul-template -template "in.ctmpl:out.file:service nginx restart || true ...

【csuoj1014】 西湖三人行

http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1014 (题目链接) 题意 从无向图图上一点到达另一点,可以步行,搭公交或者是打的,不同的交通方式花 ...

mysql加单引号和不加单引号的性能比较

刚刚我们说过了,生活中难免会有一些不如意,比如,我们用一个字符串类型的字段来作为主键,表面上,这太不如意了,然而,事实也证明这是有用的.问题也就出来了,当在查询语句中对该字段值加上单引号和不加查询耗时 ...

BZOJ3028 食物 (生成函数)

首先 1+x+x^2+x^3+...+x^∞=1/(1-x) 对于题目中的几种食物写出生成函数 (对于a*x^b , a表示方案数 x表示食物,b表示该种食物的个数) f(1)=1+x^2+x^4+. ...

C&plus;&plus;转义字符 &amp&semi;amp&semi; keyword

转义字符: 换行符 n   水平制表符t 纵向制表符 v 退格符 b 回车符 r   进纸符 f 报警(响铃)符 a 反斜线 \ 疑问号 ? 单引號 ' 双引號 "   ...

Mac内建Apache开机启动

取消: sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 添加: sudo launchctl ...

【转】 Linux内核中读写文件数据的方法--不错

原文网址:http://blog.csdn.net/tommy_wxie/article/details/8193954 Linux内核中读写文件数据的方法  有时候需要在Linuxkernel--大 ...

SpringCloud Config服务端

1.导入依赖 org.springframework.cloud

Swing——简单的计算器

前言 这是博主学习完Swing后,使用Swing实现的一个简单计算器.做简单的计算器的目的是将最近所学的Swing给应用起来,写博文介绍的目的是记录做这个计算器的思路.下面将分为界面和事件两部分介绍. ...

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。