C/C++中运算符优先级汇总
编程语言C运算符优先级
优先级1: ( )、[ ]、->、 .
含义:圆括号、下标运算符、指向结构体成员运算符、结构体成员运算符
优先级2:!、~、++、――、-、(类型)、*、&、sizeof (单目运算符,结合方向自右至左)
含义:逻辑非、按位取反、自增、自减、负号、类型转换、指针、地址与、长度运算符
优先级3:*、/、%
含义:乘法、除法、求余运算符
优先级4:+、—
含义:加法、减法运算符
优先级5:<<、>>
含义:左移、右移运算符
优先级6:<、<=、>、>=
含义:关系运算符
优先级7:==、!=
含义:等于、不等于运算符
优先级8:&
含义:按位与运算符
优先级9:^
含义:按位异或运算符
优先级10:|
含义:按位或运算符
优先级11:&&
含义:逻辑与运算符
优先级12:||
含义:逻辑或运算符
优先级13:?: (三目运算符,结合方向自右至左)
含义:条件运算符
优先级14:=、+=、-+、*=、/=、%=、>>=、<<=、&=、^=、|= (结合方向自右至左)
含义:赋值运算符
优先级15: ,
含义:逗号运算符
说明:
结合方向大部分运算符都是常规的自左至右,单目运算符、三目运算符和赋值运算符除外,这三种运算符结合方向是自右至左。
优先级简记:非算移关与或条赋
解析:非指逻辑非运算符;算指算术运算符;移指移位运算符;关指关系运算符;或指按位与、按位异或及或运算符,逻辑与、逻辑或运算符;条指条件运算符;赋指赋值运算符;逗号运算符优先级最低,其余的运算符优先级都很高。
后记:因为运算符的优先级有时忘记了一些,而恰好手边没有合适的书籍参考,故记录下来,为自己也为他人提供参考。不过建议编程时最好避免考虑优先级的问题,多加几个括号就可以了。
C/C++中运算符优先级汇总的更多相关文章
- java表达式中运算符优先级
运算符优先级:运算符*和/(以及%)的优先级高于+和-(优先级越高,越早运算) 在逻辑运算符中,!拥有最高优先级,之后是&&,接下来是||. 一般来说,相同优先级的运算符的运算顺序是从 ...
- 介绍python中运算符优先级
下面这个表给出Python的运算符优先级,从最低的优先级(最松散地结合)到最高的优先级(最紧密地结合).这意味着在一个表达式中,Python会首先计算表中较下面的运算符,然后在计算列在表上部的运算符. ...
- PHP中运算符优先级
运算符优先级指定了两个表达式绑定得有多“紧密”.例如,表达式 1 + 5 * 3 的结果是 16 而不是 18 是因为乘号(“*”)的优先级比加号(“+”)高.必要时可以用括号来强制改变优先级.例如: ...
- 关于C语言中运算符优先级的一次错误
好久没碰编程了,最近有点闲,又拾起来.做了个简单的网络测试程序,测试的时候发现有条语句老是获取不到结果.如下: if(portnumber=atoi(argv[1])>65535) portnu ...
- js中运算符优先级问题
其实事情是这样的,最近看到不少朋友讨论一道据说不知道哪儿的笔试题目,题目如下: var a = {n:1}; var b = a; a.x = a = {n:2}; 请写出a.x的值. 当然通过运行, ...
- MATLAB中运算符优先级
下述运算符的优先级从低到高: 1.先决或(||): 2.先决与(&&): 3.逻辑或(|): 4.逻辑与(&): 5.等于类(<,<=,>,>=,==, ...
- C中运算符优先级
总体规则: 特殊运算符>单目运算符>双目运算符>三目运算符>赋值运算符>逗号运算符 只有单目运算符是右结合,其余的均为左结合
- js中的运算符优先级顺序
js中运算符优先级从高到底的顺序: 算术操作符 → 比较操作符 → 逻辑操作符 → "="赋值符号
- C语言运算符优先级总结
一 写在开头1.1 本文内容本文内容为C语言中运算符优先级的总结.转载于:https://blog.csdn.net/huangblog/article/details/8271791,感谢原作者的付 ...
随机推荐
- 模板:ST表
ST表:解决RMQ类问题,预处理$O(nlog_{2}n)$,查询$O(1)$ 较线段树来说每次查询为1,线段树为log,但ST表不方便更改 ST表还用了倍增思想. 模板: struct ST_MAP ...
- poj 3263
传送门 解题思路 如果x与y互相看见,那么他们一定比之间的高,所以给他们之间的高度-1,最后得到的答案是所有牛的高度+h,之间-1会T,用差分数组或线段树维护即可. 代码 #include<io ...
- 做网站-mysql表字段设计
https://mp.weixin.qq.com/s/HhdbmQqKmiw9IVnnL0Zyag VARCHAR与CHAR如何选择 使用VARCHAR理由 字段不经常更新 字段比较长,且长度不均(比 ...
- 事务一致性理解 事务ACID特性的完全解答
A 原子性 事务管理者多个小操作,他们同时完成或者同时不完成就是原子性 C 一致性 一致性,是一个很相对的,很主观的概念, 一致性 描述的是 事务 从一个一致的状态变成 另一个一致的状态. 一致性需 ...
- 建造者模式(Builder)(生成器模式)(框架化)
建造者模式将一个复杂对象的构建与其表示分离. 将复杂对象进行框架化,将同类的对象编造进同一个制造流程.同类·对象会有一样的框架. 而由于各部分的实现细节有所不同,所生产出来的产品会有所不同.从而有不同 ...
- JavaWeb-类加载器-注解-动态代理
(一)类加载器 1.什么是类加载器,作用是什么? 类加载器就加载字节码文件(.class) 2.类加载器的种类 类加载器有三种,不同类加载器加载不同的 1)BootStrap:引导类加载器:加载都是最 ...
- [转]js设计模式—发布订阅模式
发布—订阅模式又叫观察者模式,它定义对象间的一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知.在javascript开发中,一般用事件模型来替代传统的发布—订阅模式.本文将 ...
- hibernate分页功能
设置开始位置无效 设置终止位置是可以的 设置完之后,并没有分页 问题解决 https://blog.csdn.net/qq_39859824/article/details/77902488 http ...
- Python学习笔记(六)Python组合数据类型
在之前我们学会了数字类型,包括整数类型.浮点类型和复数类型,这些类型仅能表示一个数据,这种表示单一数据的类型称为基本数据类型.然而,实际计算中却存在大量同时处理多个数据的情况,这种需要将多个数据有效组 ...
- 类的加载classload和类对象的生成
在Java中最重要的可以说就是类的加载了.不论我们编写的功能多么复杂,或是多么简单,永远逃离不开的,就是将这个类从class文件加载到JVM中来. 类的加载过程 首先我们要了解一下类的加载过程,包括: ...