三目运算符的理解
来源:互联网 发布:淘宝店过户费用 编辑:程序博客网 时间:2024/05/21 17:49
a?b:c
性质:
1、相当于条件判断语句
首先判断a是真是假,真就执行b,假就执行c,不会同时又判断a的真假的同时,又运算a,b的结果,最后再根据a的真假对a,b取舍,不会这样的。
2、结合方式从右向左分组运算
a=b>c?d:e-f?g-h:i+j
实际先运算e-f?g-h:i+j三目表达式的结果,然后再计算前面的三目表达式,最后赋值给a。
顺便附一张符号运算优先级列表
优先级
运算符
名称或含义
使用形式
结合方向
说明
1
后置++后置自增运算符
变量名++
左到右
后置--后置自减运算符变量名-- [ ]
数组下标数组名[整型表达式]
( )
圆括号
(表达式)/函数名(形参表)
.
成员选择(对象)
对象.成员名
->
成员选择(指针)
对象指针->成员名
2
-
负号运算符
-表达式
右到左
单目运算符
(类型)
强制类型转换
(数据类型)表达式
前置++
前置自增运算符
++变量名
单目运算符
前置--
前置自减运算符
--变量名
单目运算符
*
取值运算符
*指针表达式
单目运算符
&
取地址运算符
&左值表达式
单目运算符
!
逻辑非运算符
!表达式
单目运算符
~
按位取反运算符
~表达式
单目运算符
sizeof
长度运算符
sizeof 表达式/sizeof(类型)
3
*
乘
表达式*表达式
左到右
双目运算符
/
除
表达式/表达式
双目运算符
%
余数(取模)
整型表达式%整型表达式
双目运算符
4
+
加
表达式+表达式
左到右
双目运算符
-
减
表达式-表达式
双目运算符
5
<<
左移
表达式<<表达式
左到右
双目运算符
>>
右移
表达式>>表达式
双目运算符
6
>
大于
表达式>表达式
左到右
双目运算符
>=
大于等于
表达式>=表达式
双目运算符
<
小于
表达式<表达式
双目运算符
<=
小于等于
表达式<=表达式
双目运算符
7
==
等于
表达式==表达式
左到右
双目运算符
!=
不等于
表达式!= 表达式
双目运算符
8
&
按位与
整型表达式&整型表达式
左到右
双目运算符
9
^
按位异或
整型表达式^整型表达式
左到右
双目运算符
10
|
按位或
整型表达式|整型表达式
左到右
双目运算符
11
&&
逻辑与
表达式&&表达式
左到右
双目运算符
12
||
逻辑或
表达式||表达式
左到右
双目运算符
13
?:
条件运算符
表达式1? 表达式2: 表达式3
右到左
三目运算符
14
=
赋值运算符
变量=表达式
右到左
/=
除后赋值
变量/=表达式
*=
乘后赋值
变量*=表达式
%=
取模后赋值
变量%=表达式
+=
加后赋值
变量+=表达式
-=
减后赋值
变量-=表达式
<<=
左移后赋值
变量<<=表达式
>>=
右移后赋值
变量>>=表达式
&=
按位与后赋值
变量&=表达式
^=
按位异或后赋值
变量^=表达式
|=
按位或后赋值
变量|=表达式
15
,
逗号运算符
表达式,表达式,…
左到右
从左向右顺序运算
阅读全文
0 0
- 三目运算符的理解
- C语言中怎样理解三目运算符(条件运算符)的右结合性
- C语言中 怎样理解三目运算符(条件运算符)的右结合性??
- C语言中怎样理解三目运算符(条件运算符)的右结合性
- 运算符的理解
- 逻辑运算符、位运算符、移位运算符、三目运算符、运算符的优先级
- C#的空接合运算符 三目运算符
- C语言的三目运算符
- PHP的三目运算符
- 三目运算符 " ? : " 的特性
- 三目运算符的优先问题
- lua的三目运算符
- C++三目运算符的增强
- 三目运算符的简单介绍
- 三目运算符的用法
- 三目运算符"?:"的透彻分析
- 三目运算符 的应用
- 强大的三目运算符
- 算法课作业系列8——Knight Probability in Chessboard
- 实现基于LVS负载均衡集群的电商网站架构
- Mybatis一级缓存和二级缓存
- windows下python环境搭建
- 基于spark实现kmeans的更新聚类中心的关键代码
- 三目运算符的理解
- leetcode 189. Rotate Array
- 前(中后)序表达式讲解
- 异常 三角形
- POJ
- LeetCode 349: Intersection of Two Arrays
- $.ajax请求中的async:false/true的作用
- 成绩转换
- Map和multimap容器