编程语言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. Django项目:CRM(客户关系管理系统)--68--58PerfectCRM实现king_admin批量生成上课记录

    # kingadmin.py # ————————04PerfectCRM实现King_admin注册功能———————— from crm import models #print("ki ...

  2. 省际联动distpicker插件的使用讲解

    1.在使用input页面加载script的引用 <script src="js/distpicker/distpicker.data.js"></script&g ...

  3. PAT甲级——A1013 Battle Over Cities

    It is vitally important to have all the cities connected by highways in a war. If a city is occupied ...

  4. spring-搭建-概念-配置详解-属性注入

    1 spring介绍  三层架构中spring位置 spring一站式框架 正是因为spring框架性质是属于容器性质的. 容器中装什么对象就有什么功能.所以可以一站式. 不仅不排斥其他框架,还能帮其 ...

  5. 【vuex】vue2-happyfri

    我发现我对使用vuex并不擅长,现在跟我一起多多研究项目,好好补补vuex吧 这个开源项目地址为:https://github.com/bailicangdu/vue2-happyfri 这是一个答题 ...

  6. TZ_05_Spring_annotation常见注解

    Spring常用的注解大全和解释 注解 解释 @Controller 组合注解(组合了@Component注解),应用在MVC层(控制层),DispatcherServlet会自动扫描注解了此注解的类 ...

  7. 安装node/npm,通过express搭建node项目

    nodejs软件的下载地址:https://nodejs.org/en/ (推荐下载稳定版) 1.只要安装好了nodejs,就自动安装好了npm包. 2.在cmd中通过命令node -version查 ...

  8. 使用Jedis操作Redis-使用Java语言在客户端操作---hash类型

        我们可以将Redis中的Hashes类型看成具有String Key和String Value的map容器.            所以该类型非常适合于存储值对象的信息.如Username.P ...

  9. oracle习题练习-表空间-用户-表-约束

    题一 1.       创建名字为hy_tablespace的表空间,默认大小为10M;@@ 2.       创建一个用户,用户名以自己名字命名,并指定命名空间为hy_tablespace;@@@@ ...

  10. java-多线程的入门_进阶总结

    多线程 概述图 1.概述 进程:正在执行中的程序,其实时应用程序在内存中运行的那片空间. 线程:进程中的一个执行单元,负责进程中的程序的运行,一个进程中至少要有一个线程. (进程可以理解为是一个QQ程 ...