C语言操作符

算术操作符

+ - * / %

%操作符,要求左右操作数必须为整数

移位操作符

<< >>
对于移位运算符,不能移动负数位,这个是C语言标准未定义的,属于 未定义行为

左移操作符

int num = 10;
num << 1;

左移 1 位,就是把 num 在内存里的二进制全部向左移动 1 位,最左边的一个二进制位就被抛弃了,最右边补 0。左移 1 位,相当于×2。

但实际上 num 在没有被赋值的情况下,自身的值并不会改变。
test

右移操作符

C语言只支持算术右移

算术右移

最低位舍弃,最高位补符号位

逻辑右移

最低位舍弃,最高位补0

位操作符

& | ^ ~
两个操作数(必须是整数)对应二进制位进行运算。

&,两个位都是1,则结果为1,否则为0
|,两个位都是0,则结果为0,否则为1
^,相异为1,相同为0
~,针对一个操作数计算。0取反为1,1取反为0

逻辑操作符

&& || !

短路求值

赋值操作符

= 以及 += 一系列复合赋值符
赋值操作符可以进行连续赋值

单目操作符

!逻辑反 -负值 +正值 &取地址 sizeof操作数或者类型的长度 ~按位取反 - -自减 ++自增 *间接访问操作符 (类型)类型强转

关系操作符

> >= < <= == !=

条件操作符

C语言唯一的三目运算符exp1?exp2:exp3
优先级别最低。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值