【C++复习】运算符优先级(简)
只讨论个大概,不管细节
不同优先级的运算符混在一起,就根据优先级算
相同优先级的运算符混在一起,就看它们的结合性(这里不谈)
一定要记住:括号>基本计算>关系>逻辑>底层选手
1、运算符有哪些?
- 单目运算符
*
++
自增,有前置和后置--
自减,有前置和后置!
逻辑非+
正号-
负号
- 双目运算符/三目运算符
- 算术运算符
+
-
*
/
%
- 移位运算符
<<
>>
- 关系运算符
<
<=
>
>=
==
!=
- 位运算符(按位进行逻辑计算)
&
|
^
- 逻辑运算符(依据表达式进行逻辑计算)
&&
||
- 条件运算符(三目)
?:
- 赋值运算符
=
*=
/=
%=
+=
-=
<<=
>>=
&=
^=
|=
- 逗号运算符
,
- 算术运算符
2、运算符优先级原则(一般场景)
- 底层选手:逗号运算符和赋值运算符优先级最低,之后就是三目运算符和双目逻辑运算符
- 一般情况下的法则
- 单目>双目>三目
- 括号>基本计算>关系>逻辑>底层选手
- 注意按位逻辑运算符在关系运算符之后
3、常见运算场景
经典数值判断(算数>关系>双目逻辑)
a+2>3&&b-a>4
//相当于
( (a+2) > 3 ) && ( (b-a) > 4 )
经典三目运算符应用
ans=a>b?a:b
//相当于
ans = ( (a>b) ? a:b )
关系>按位运算
3&4!=2
//等价于
3&(4!=2)
//3与1进行按位与运算,结果为1
z=x<y?x++:y++
int x = 1, y = 2, z = 66;
z = x < y ? x++ : y++;
/*等价于
if(x<y) z=x++;
else z=y++;
*/
/*运行结果:
x=2,y=2,z=1
*/
【C++复习】运算符优先级(简)的更多相关文章
- c/c++系列的运算符优先级总结
经常写程序的时候,遇到运算符优先级的问题,令我汗颜的是,查书的次数挺多的……狠狠心,总结下.不过还要结合大量的编程实践来深入脑海. 1.首先永远忘不了的是,逗号运算符级别最低,毫无争议的还有()括起来 ...
- (转)JavaScript中的运算符优先级
JavaScript中的运算符优先级是一套规则.该规则在计算表达式时控制运算符执行的顺序.具有较高优先级的运算符先于较低优先级的运算符执行.例如,乘法的执行先于加法. 下表按从最高到最低的优先级列出J ...
- C语言运算符优先级和口诀(转)
一共有十五个优先级: 1 () [] . -> 2 ! ~ -(负号) ++ -- &(取变量地址)* (type)(强制类型) sizeof 3 ...
- js 运算符优先级
在看jquery源码,仔细看入口函数的时候,有点懵了.看到与或.多重三目,傻傻的分不清,就代码仔细的区分下运算符优先级,以前都是呼呼的飘过.看来任何一个细节都不能忽略,不然效率极低.. !functi ...
- 一道c语言运算符优先级问题
一道c语言运算符优先级问题 #include <iostream> using namespace std; int main() { char test[] = {"This ...
- C语言运算符优先级和口诀 (转)
一共有十五个优先级: 1 () [] . -> 2 ! ~ -(负号) ++ -- &(取变量地址)* (type)(强制类型) sizeof 3 ...
- Java运算符优先级(转)
转自:http://www.cnblogs.com/gw811/archive/2012/10/13/2722752.html Java运算符优先级 序列号 符号 名称 结合性(与操作数) 目数 说明 ...
- java运算符优先级记忆口诀
尊重原创:(口诀)转自http://lasombra.iteye.com/blog/991662 今天看到<java编程思想>中的运算符优先级助记口诀,不过"Ulcer Addi ...
- js中的运算符优先级顺序
js中运算符优先级从高到底的顺序: 算术操作符 → 比较操作符 → 逻辑操作符 → "="赋值符号
- C/C++运算符优先级
运算符优先级从高至低 优先级 操作符 描述 例子 结合性 1 ()[]->.::++-- 调节优先级的括号操作符数组下标访问操作符通过指向对象的指针访问成员的操作符通过对象本身访问成员的操作符作 ...
随机推荐
- 《HTTP权威指南》– 8.网关、Web机器人
集成点:网关.隧道及中继 网关 网关(gateway): 资源和应用程序之间的粘合剂.应用程序可以(通过HTTP或其它已定义的接口)请求网关来处理某条请求,网关可以提供一条响应.网关可以向数据库发送查 ...
- jQuery事件与动态效果
目录 一:阻止后续事件执行 1.推荐使用阻止事件 2.未使用 阻止后续事件执行 3.使用阻止后续事件执行 二:阻止事件冒泡 1.什么是事件冒泡? 2.未阻止事件冒泡 3.阻止事件冒泡 4.2.阻止冒泡 ...
- 重学c#系列——linq(2) [二十八]
前言 前文提及到了一些基础的linq的基础,那么这一节是一些补充. 正文 关于一个orderby的问题. 比如我们输入两个order by. 这里告诉我们多个order by是没有意义的,如果多个那么 ...
- 用Python来写个小型购物车程序
0x1 前言 Python语言能做很多东西的,像数据分析啊.自动化.开发. 爬虫(真的很棒哟,初学者玩很有成就感的啊哈哈)等等还有挺多. 0x2 用Python编写的一个小型购物车程序 import ...
- python与数值计算环境安装
数值计算的编程的软件很多种,也见过一些编程绘图软件的对比. 利用Python进行数值计算,需要用到numpy(矩阵) ,scipy(公式符号), matplotlib(绘图)这些工具包. 1.Linu ...
- Python函数用法和底层分析
目录 Python函数用法和底层分析 函数的基本概念 Python 函数的分类 核心要点 形参和实参 文档字符串(函数的注释) 返回值 函数也是对象,内存底层分析 变量的作用域(全局变量和局部变量) ...
- vivo 服务端监控体系建设实践
作者:vivo 互联网服务器团队- Chen Ningning 本文根据"2022 vivo开发者大会"现场演讲内容整理而成. 经过几年的平台建设,vivo监控平台产品矩阵日趋完善 ...
- elasticsearch之单请求多查询
一.需要解决的问题 有的时候我们需要同时执行多个查询,并且需要得到每个单独查询的搜索结果,elasticsearch提供了multi search此需求的支持: 二.elasticsearch mul ...
- xcode运行sh权限问题
Showing Recent Messages Command /bin/sh emitted errors but did not return a nonzero exit code to ind ...
- C語言成績分析系統
C語言成績分析系統,可以實現七個功能.(使用的編譯器是 code::blocks) 主要實現對於學生信息的輸入 顯示輸入學生的信息 根據期末成績來進行排名. 查找某個學生的信息 刪除某個學生的信息 修 ...