【C语言】运算符优先级
- 只有三类运算符是右结合性【单目+赋值+问号】。
- ! > 算术运算符 > 关系运算符 > && > || > 赋值运算符
文章目录
- 1. 括号是第一
- 2. 【右结合性】单目是其次
- 3. 加减乘除余
- 4. 移位
- 5. 关系运算符( ≤ , ≥ , < , > \leq,\geq,<,> ≤,≥,<,>高于 = , ! = =,!= =,!=)
- 6. 位运算与亦或(与 高于 亦或 高于 或)
- 7. 逻辑与和或(与&& 高于 或|| )
- 8. 【右结合性】问号运算符
- 9. 【右结合性】赋值运算符(=最高,+= 高于 &= 高于 <<= )
- 10. 逗号运算符
最重要的是要搞清楚运算符的优先级和运算顺序。
1. 括号是第一
2. 【右结合性】单目是其次
- 一般来说如果想考你优先级的话大概率是不会给你括号的。
- 因此一定记住单目运算符优先级是第二高的、而且他还是右结合
- 注意这个指针运算 ∗ * ∗和 + + , − − ++,-- ++,−−运算,这里经常会设置问题。
*p++表示:p++,然后再取该地址的值。即*(p++)
(*p)++表示:将p指向的这个值++已知:int a[ ]={1,3,5,7}, y,*p= a;为使变量y的值为3,下列语句正确的是 D。
A) y=++*p++; 表示先将p++,然后取p指向的值1,然后++1,得到的是2,此时p指向的是a[1]了
B) y=++(*p++); 这个括号加了和没加没区别。
C) y=(++*p)++; c语言里面这是一种非法的表示(不过c++里面是合法的);就当作合法来看,先将++(*p),此时p指向的a[0]=2,然后再把a[0]++,输出结果是2。执行完了之后a[0]=3
D) y=(*++p)++; 先++p,此时p指向a[1],然后取*p的值3,进行++,得到的是3。执行完了之后a[1]的值是4
3. 加减乘除余
按照算术的计算顺序计算。
4. 移位
5. 关系运算符( ≤ , ≥ , < , > \leq,\geq,<,> ≤,≥,<,>高于 = , ! = =,!= =,!=)
4 > 3 & & 7 < 5 − ! 0 4>3\&\&7<5 - !0 4>3&&7<5−!0:先算算术、再比较、再逻辑运算
4 > 3 & & 7 < 4 4>3\&\&7<4 4>3&&7<4即0&&0=0
6. 位运算与亦或(与 高于 亦或 高于 或)
位运算:与& 高于 亦或~ 高于 或|
7. 逻辑与和或(与&& 高于 或|| )
在这里需要注意&&的优先级高于 ∣ ∣ || ∣∣
int x = 10; int y = (1 <= x && x <= 10 || 20 <= x && x <= 30); //等价于int y = ( (1 <= x && x <= 10) || (20 <= x && x <= 30));
补充:位运算高于逻辑(字符少的(&)比字符多的(&&)更牛)
8. 【右结合性】问号运算符
9. 【右结合性】赋值运算符(=最高,+= 高于 &= 高于 <<= )
10. 逗号运算符
【C语言】运算符优先级相关推荐
- 关于C语言运算符优先级的记忆技巧是什么?
关于C语言运算符优先级的记忆技巧是什么? (1)先(括号)内层,后(括号)外层. (2)先函数,后运算. (3)先算术,后关系,再逻辑. (4)先乘除,后加减. (5)先左,后右. (6)搞不清,加括 ...
- new是不是c语言运算符优先级表,C语言运算符优先级列表(超详细)
<C语言运算符优先级列表(超详细)>由会员分享,可在线阅读,更多相关<C语言运算符优先级列表(超详细)(7页珍藏版)>请在人人文库网上搜索. 1.本篇文章是对C语言中运算符的优 ...
- C 语言运算符优先级
C 语言运算符优先级 优先级 运算符 描述 结合性 1 ++ -- 后缀自增与自减 从左到右 () 函数调用 [] 数组下标 . 结构体与联合体成员访问 -> 结构体与联合体成员通过指针访问 ( ...
- C语言运算符优先级列表
本篇文章是对C语言中运算符的优先级进行了详细的分析介绍,需要的朋友参考下 每当想找哪个运算符优先级高时,很多时候总是想找的就没有,真让人气愤!现在,终于有个我个人觉得非常全的,分享给大家,欢迎拍砖! ...
- C语言运算符优先级和结合性
C语言运算符优先级和结合性 优先级 运算符 含义 使用形式 结合性 操作数 1 [ ] 数组下标 数组名[整型表达式] 左结合性 ( ) 圆括号 (表达式) . 成员选择(对象) 对象.成员名 -&g ...
- c语言运算符优先级结合,C语言运算符优先级及结合性
今天去翻了下C语言运算符的优先级和结合性,发现当初学习的时候就没认真记住,惭愧.发现一篇讲得不错的文章,编辑了下转来供以后翻阅. C语言运算符优先级表(由上至下,优先级依次递减) 运算符 结合性 () ...
- C语言运算符优先级及结合性
今天去翻了下C语言运算符的优先级和结合性,发现当初学习的时候就没认真记住,惭愧.发现一篇讲得不错的文章,编辑了下转来供以后翻阅. C语言运算符优先级表(由上至下,优先级依次递减) 运算符 结合性 () ...
- c语言运算符优先级 从右到左,c语言运算符优先级,结合性(左/右结合详解)
重新翻了遍c语言,觉得对c语言运算符结合性有必要提一下,毕竟去年我自己刚学c语言的时候,就没搞明白结合性的问题. 什么是左结合?什么是右结合?它们是干嘛用的?它们是什么时候用的? 本文将围绕这几个问题 ...
- C语言运算符优先级 复习小妙招欸嘿
C语言运算符优先级 优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式] 左到右 -- () 圆括号 (表达式)/函数名(形参表) -- . 成员选择(对象) ...
- c语言的运算符优先级文档下载,c语言运算符优先级
c语言运算符优先级Tag内容描述: 1.运算符的优先级与结合律(从高到低排列)=优先级 名称 符号 结合性 1 数组下标 左结合性 1 函数调用 () 左结合性 1 结构和联合的成员. - 左结合性 ...
最新文章
- mysql驱动为什么自动加载_为什么JDBC中加载驱动要使用反射?
- python实现分布式_Python如何快速实现分布式任务
- sqlserver 班级排名_Sqlserver:班级排名问题(转发)
- sobel prewitt算法 模板加权模糊的解释 + 两类边缘下的二阶导数值
- Nginx服务的ssl认证和htpasswd认证
- 描述计算机病毒来源的几种代表性看法,关于计算机病毒的起源
- stata进行无交互效应模型选择—混合模型,个体效应固定,时间效应固定,双向固定和随机效应
- 向量的内积(点积)、叉积(向量积)
- 计算机桌面机器人,桌面的 Spirit Rover(勇气号探测器),机器人爱好者的心头好!!...
- 深度学习能力非常重要!
- echarts树状图怎么设置主节点和子节点的距离_教你秒懂CAD出图比例正确设置技巧...
- 微信小程序(微信支付回调函数)
- 人工智能训练师开始报名了,可评职称、拿补助
- 在Unity3D中使用泛型(上)
- 虚幻4游戏开发_3_创建与继承材质
- SpringBoot中使用redis事务
- 无线广播(Broadcast)
- 【ICPC 2021 沈阳站】心路历程·总结分析
- 6.1 ASP.NET Core Web 入门
- DAMA-第四章(数据架构)