一、逗号运算符
- 格式
表达式1,表达式2 - 求解顺序及结果
- 先求解表达式1,再求解表达式2
-
最终结果为表达式2的值
例:
a=3*5,a*4;//最终结果为60
//逻辑表达式,只会对第二个表达式进行判断,第一个表达式的结果没有影响
int i=3;
int j=6;
//恒为真
if(i==5,j==6){
cout<<
}
二、关系运算符
关系运算符:运算结果是bool类型,值只能为true或false:
- 下面四个运算符优先级相同,且优先级都比较高
<
<=
>
>=
- 下面两个个运算符优先级相同,且优先级都比较低
==
!=
逻辑运算符:运算结果是bool类型,值只能为true或false
逻辑运算符由高到低为:
! (非)高
&&(与)中
||(或)低
三、条件运算符
表达式1?表达式2:表达式3
执行顺序:
- 若表达式1为真,则执行表达式2,表达式2的值为最终结果
- 若表达式1为假,则执行表达式3,表达式3的值为最终结果
例:
x=a>1?a:1;
若a>1那么x=a 否则x=1
条件运算符的优先级高于赋值运算符,低于逻辑运算符
四、位运算符
& 将两个运算量的**二进制**进行**按位与**
| 将两个运算量的**二进制**进行**按位或**
^ 将两个运算量的**二进制**进行**按位异或**
>> 右移运算符,i>>x,将变量i的二进制右移x位,(相当于除以2)
<< 左移运算符,i>>x,将变量i的二进制左移x位 (相当于乘以2)