编程语言C运算符优先级

优先级1: ( )、[ ]、->、 .

含义:圆括号、下标运算符、指向结构体成员运算符、结构体成员运算符

优先级2:!、~、++、――、-、(类型)、*、&、sizeof (单目运算符,结合方向自右至左)

含义:逻辑非、按位取反、自增、自减、负号、类型转换、指针、地址与、长度运算符

优先级3:*、/、%

含义:乘法、除法、求余运算符

优先级4:+、—

含义:加法、减法运算符

优先级5:<<、>>

含义:左移、右移运算符

优先级6:<、<=、>、>=

含义:关系运算符

优先级7:==、!=

含义:等于、不等于运算符

优先级8:&

含义:按位与运算符

优先级9:^

含义:按位异或运算符

优先级10:|

含义:按位或运算符

优先级11:&&

含义:逻辑与运算符

优先级12:||

含义:逻辑或运算符

优先级13:?: (三目运算符,结合方向自右至左)

含义:条件运算符

优先级14:=、+=、-+、*=、/=、%=、>>=、<<=、&=、^=、|=   (结合方向自右至左)

含义:赋值运算符

优先级15: ,

含义:逗号运算符

说明:

结合方向大部分运算符都是常规的自左至右,单目运算符、三目运算符和赋值运算符除外,这三种运算符结合方向是自右至左。

优先级简记:非算移关与或条赋

解析:非指逻辑非运算符;算指算术运算符;移指移位运算符;关指关系运算符;或指按位与、按位异或及或运算符,逻辑与、逻辑或运算符;条指条件运算符;赋指赋值运算符;逗号运算符优先级最低,其余的运算符优先级都很高。

后记:因为运算符的优先级有时忘记了一些,而恰好手边没有合适的书籍参考,故记录下来,为自己也为他人提供参考。不过建议编程时最好避免考虑优先级的问题,多加几个括号就可以了。

C/C++中运算符优先级汇总的更多相关文章

  1. java表达式中运算符优先级

    运算符优先级:运算符*和/(以及%)的优先级高于+和-(优先级越高,越早运算) 在逻辑运算符中,!拥有最高优先级,之后是&&,接下来是||. 一般来说,相同优先级的运算符的运算顺序是从 ...

  2. 介绍python中运算符优先级

    下面这个表给出Python的运算符优先级,从最低的优先级(最松散地结合)到最高的优先级(最紧密地结合).这意味着在一个表达式中,Python会首先计算表中较下面的运算符,然后在计算列在表上部的运算符. ...

  3. PHP中运算符优先级

    运算符优先级指定了两个表达式绑定得有多“紧密”.例如,表达式 1 + 5 * 3 的结果是 16 而不是 18 是因为乘号(“*”)的优先级比加号(“+”)高.必要时可以用括号来强制改变优先级.例如: ...

  4. 关于C语言中运算符优先级的一次错误

    好久没碰编程了,最近有点闲,又拾起来.做了个简单的网络测试程序,测试的时候发现有条语句老是获取不到结果.如下: if(portnumber=atoi(argv[1])>65535) portnu ...

  5. js中运算符优先级问题

    其实事情是这样的,最近看到不少朋友讨论一道据说不知道哪儿的笔试题目,题目如下: var a = {n:1}; var b = a; a.x = a = {n:2}; 请写出a.x的值. 当然通过运行, ...

  6. MATLAB中运算符优先级

    下述运算符的优先级从低到高: 1.先决或(||): 2.先决与(&&): 3.逻辑或(|): 4.逻辑与(&): 5.等于类(<,<=,>,>=,==, ...

  7. C中运算符优先级

    总体规则: 特殊运算符>单目运算符>双目运算符>三目运算符>赋值运算符>逗号运算符 只有单目运算符是右结合,其余的均为左结合

  8. js中的运算符优先级顺序

    js中运算符优先级从高到底的顺序: 算术操作符 → 比较操作符 → 逻辑操作符 → "="赋值符号

  9. C语言运算符优先级总结

    一 写在开头1.1 本文内容本文内容为C语言中运算符优先级的总结.转载于:https://blog.csdn.net/huangblog/article/details/8271791,感谢原作者的付 ...

随机推荐

  1. Nginx简介与基础配置

    何为Nginx? Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.最初是为了解决C10k的问题,由Igor ...

  2. List--使用List作为堆栈和队列

    1,List作为堆栈 堆栈“先进后出”.对此,可以使用append和pop来操作数据. 不指定下标时,pop会先操作最后一个数据. 例如: 2,队列 队列“先进先出”.当然也可以使用append和po ...

  3. ALS算法实现用户音乐打分预测

    很多人在决定是否看一部电影之前都会去豆瓣看下评分作为参考,看完电影也会给一个自己的分数.每个人对每个商品或者电影或是音乐都有一个心理的分数,这个分数标明用户是否对这个内容满意.作为内容的提供方,如果可 ...

  4. 90 k数和 II

    原题网址:https://www.lintcode.com/problem/k-sum-ii/description 描述 Given n unique integers, number k (1&l ...

  5. IDEA修改Servlet代码模板

  6. js 给链接 url或href或js、css、图片等解决浏览器缓存

    一. 添加时间戳 情况一.链接是常量 var rand = new Date().getTime(); var aLen=document.getElementsByTagName("a&q ...

  7. IO流17 --- 对象流操作自定义对象 --- 技术搬运工(尚硅谷)

    序列化 @Test public void test14() throws IOException { ObjectOutputStream oos = new ObjectOutputStream( ...

  8. RandomRowFilter(3)

    比较容易理解 用来随机抽取 RandomRowFilter:从名字上就可以看出其大概的用法,本过滤器的作用就是按照一定的几率(<=0会过滤掉所有的行,>=1会包含所有的行)来返回随机的结果 ...

  9. tp5 报 A non well formed numeric value encountered 的错解决办法

    thinkphp5出现A non well formed numeric value encountered的解决办法修改formatDateTime方法如下 默认值: if (is_null($th ...

  10. JUnit4中@Before、@After、@Test等注解的作用

    转载:https://blog.csdn.net/tn_java/article/details/53837024 JUnit4使用Java5中的注解(annotation),以下是JUnit4常用的 ...