c++ 运算符及优先级

1、逻辑与 &&

       左右两个条件都成立时,整体才成立。

2、逻辑或 ||

       左右两个条件中有一个成立,整体就成立。

3、条件运算符 ?:

       ?前面是判断语句,当成立时输出:左边值,不成立时输出:右边值。

int c = a > b ? 2 : 3;// 当a大于b时,c被赋值2,否则被赋值3

4、按位或 |

       相同位的两个数字都为0,则为0,若有一个不为0,则为1;

#define TUANYUAN 1
#define DANGYUAN 2
#define GANBU 4
#define PINGMIN 8
//单个位为1的数值,我们称为标志位

int k = GANBU | DANGYUAN;//代表即是干部也是党员
k = k | DANGYUAN | PINGMIN;//会再给他加上平民属性,已存在的党员属性不会叠加

5、按位与 &

       相同位的两个数字都为1,则为1,若有一个不为1,则为0;
       与运算用来判断,判断是否包含相应的属性。也可以用来清理其它位。

if(k & DANGYUAN)
    printf("是党员");
else
    printf("不是党员");

int k = GANBU | DANGYUAN;
int a = k & TUANYUAN;//a等于0
a = k & GANBU;//a等于4
a = k & PINGMIN;//a等于0
a = k & DANGYUAN;//a等于2

6、按位取反 ~

       单目运算,将一个数字所有二进制0变1,1变0。(无符号时相当于最大值减自己,有符号相当于乘-1,正变负时绝对+1,负变正绝对值-1)
       和&连用,用来删除一个标志混合变量中的某个属性。

int k = GANBU | DANGYUAN;
k = k & ~GANBU;//将干部属性删除
k = k & ~GANBU;//被开除后,不会再被开除

7、按位异或 ^

       双目运算,当相同的两个数字相同时为0,不同时为1。(两次跟同一个数字^运算结果,恢复原来之前数值)

int i = 13;//源码
int j = 14;//加密
int k = i ^ j;//生成码
int x = k ^ j;//源码

8、左移 <<

       移几位就相当于这个数乘以2的几次方

int i = 1 << 3;// 1乘以2的3次方,i等于8
int j = 5 << 3;// j等于40

9、右移 >>

       移几位相当于这个数除以2的几次方

int i = 8 >> 2;// 8除以2的2次方,i 等于2

10、运算符优先级

一级优先级
  • 圆括号 ()
  • 下标运算符 []
  • 指向成员运算符 ->
  • 成员运算符 .
二级优先级
  • 逻辑非运算符 !
  • 按位取反运算符 ~
  • 自增运算符 ++
  • 自减运算符 –
  • 负号运算符 -
  • 类型转换运算符 (类型)
  • 指针运算符 *
  • 地址运算符 &
  • 长度运算符 sizeof
三级优先级
  • 乘法运算符 *
  • 除法运算符 /
  • 取余运算符 %
四级优先级
  • 加法运算符 +
  • 减法运算符 -
五级优先级
  • 左移运算符 <<
  • 右移运算符 >>
六级优先级
  • 小于运算符 <
  • 小于等于运算符 <=
  • 大于运算符 >
  • 大于等于运算符 >=
七级优先级
  • 等于运算符 ==
  • 不等于运算符 !=
八级优先级
  • 按位与运算符 &
九级优先级
  • 按位异或运算符 ^
十级优先级
  • 按位或运算符 |
十一级优先级
  • 逻辑与运算符 &&
十二级优先级
  • 逻辑或运算符 ||
十三级优先级
  • 条件运算符 ? :
十四级优先级
  • 加等于运算符 +=
  • 减等于运算符 -=
  • 乘等于运算符 *=
  • 除等于运算符 /=
  • 取余等于运算符 %=
  • 赋值运算符 =
  • 大于等于运算符 >=
  • 小于运算符 <
  • 小于等于运算符 <=
  • 按位与等于运算符 &=
  • 按位异或等于运算符 ^=
  • 按位或等于运算符 |=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值