C语言——运算符优先级
目录:
一:引言
二:优先级表
实例:
记忆口诀 :
括号成员是老大; // 括号运算符 []() 成员运算符. ->全体单目排老二; // 所有的单目运算符比如++、 --、 +(正)、 -(负) 、指针运算*、&乘除余三,加减四; // 这个"余"是指取余运算即%移位五,关系六; // 移位运算符:<< >> ,关系:> < >= <= 等等与不等排行七; // 即 == 和 !=位与异或和位或; // 这几个都是位运算: 位与(&)异或(^)位或(|) "三分天下"八九十; 逻辑与,逻辑或; // 逻辑运算符: || 和 &&十一十二紧挨着; // 注意顺序: 优先级(||) 底于 优先级(&&) 条件只比赋值高, // 三目运算符优先级排到 13 位只比赋值运算符和 "," 高逗号运算最低级! //逗号运算符优先级最低
一:引言
运算符的优先级确定表达式中项的组合
这会影响到一个表达式如何计算
某些运算符比其他运算符有更高的优先级,例如,乘除运算符具有比加减运算符更高的优先级
例如 x = 7 + 3 * 2,在这里,x 被赋值为 13,而不是 20,因为运算符 * 具有比 + 更高的优先级,所以首先计算乘法 3*2,然后再加上 7。
下表将按运算符优先级从高到低列出各个运算符
具有较高优先级的运算符出现在表格的上面
具有较低优先级的运算符出现在表格的下面
在表达式中,较高优先级的运算符会优先被计算
二:优先级表
类别 | 运算符 | 结合性 |
---|---|---|
后缀 | () [] -> . ++ - - | 从左到右 |
一元 | + - ! ~ ++ - - (type)* & sizeof | 从右到左 |
乘除 | * / % | 从左到右 |
加减 | + - | 从左到右 |
移位 | << >> | 从左到右 |
关系 | < <= > >= | 从左到右 |
相等 | == != | 从左到右 |
位与 AND | & | 从左到右 |
位异或 XOR | ^ | 从左到右 |
位或 OR | | | 从左到右 |
逻辑与 AND | && | 从左到右 |
逻辑或 OR | || | 从左到右 |
条件 | ?: | 从右到左 |
赋值 | = += -= *= /= %=>>= <<= &= ^= |= | 从右到左 |
逗号 | , | 从左到右 |
实例:
#include <stdio.h>main()
{int a = 20;int b = 10;int c = 15;int d = 5;int e;e = (a + b) * c / d; // ( 30 * 15 ) / 5printf("(a + b) * c / d 的值是 %d\n", e );e = ((a + b) * c) / d; // (30 * 15 ) / 5printf("((a + b) * c) / d 的值是 %d\n" , e );e = (a + b) * (c / d); // (30) * (15/5)printf("(a + b) * (c / d) 的值是 %d\n", e );e = a + (b * c) / d; // 20 + (150/5)printf("a + (b * c) / d 的值是 %d\n" , e );return 0;
}
运行结果:
(a + b) * c / d 的值是 90
((a + b) * c) / d 的值是 90
(a + b) * (c / d) 的值是 90
a + (b * c) / d 的值是 50
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 结构和联合的成员. - 左结合性 ...
最新文章
- JAVA黑白圆圈图形_CSS3 黑白交替旋转圆圈
- Android中使用ContentProvider进行跨进程方法调用
- kafka集群安全化之启用kerberos与acl
- PB开发境界 多个DW进行update
- VBA如何打开html文件6,VBA程序中如何自动打开网页
- ssh放行端口_安全组中已经添加规则放行SSH端口的访问之后如何使用f1 RTL
- 在Windows上build Spark
- C++复数的运算、运算符重载
- bzoj 1637: [Usaco2007 Mar]Balanced Lineup
- Matlab中使用varargin来实现参数可变的函数
- mma7660(gsensor)的hwmon驱动
- 【macOS】重装mac系统手把手教学
- 色环电阻、色环电容的识别方法
- TypeScript02 方法特性【参数种类、参数个数】、generate方法、析构表达式、箭头表达式、循环...
- iOS中百度地图API的总结
- 转换MP4后浏览器播放只有声音没有图像的问题
- osgearth加载本地离线影像瓦片地图
- chatgpt赋能python:Python圆柱体积计算器:简单、高效、快速解决计算难题
- tewa-500e 虚拟服务器,关于成都电信送的光纤猫设置 TEWA-500E
- ThreadLocal面试题