C语言-操作符归纳


操作符

指令系统的每一条指令都有一个操作符,它表示该指令应进行什么性质的操作。不同的指令用操作符这个字段的不同编码来表示,每一种编码代表一种指令。组成操作符字段的位数一般取决于计算机指令系统的规模。
C语言中的操作符有位操作符、算术操作符、赋值操作符等。


1. 位操作符

’<<’—左移位
把一个数的二进制位整体向左移动N个位。
例如:n=5<<2 把5的二进制向左移动两位
’>>’—右移位
把一个数的二进制位整体向右移动N个位。

  • 分为算术右移和逻辑右移 ,算术右移是指整体向右移,给左边的空缺位补充符号位;逻辑右移是指整体向右移,给左边的空缺位补充0.(取决于编译器,一般多是算术右移)。
  • 左移一位等同于于给原数字*2;右移一位相当于(不是等同于)给原数字/2;
    (-1>>1=-1)

’&’’|’’^’—和、或、与

  • 操作数必须为int型
  • a^a=0;可以用来求取只出现一次的数。
  • a&1;求的a的最后一位是否为1。

2. 算术操作符
’+’、’-’、’*’、’/’、’%’

  • 上述操作符均是双目运算符,且除了‘%’(取模运算符)都可以操作int型和float型。3.0/4的结果是浮点型;3/4的结果是整形;

  • ‘/’—取整运算符;’%’—取模运算符;n%10取得n的最后一位数字,n/10得到舍去最后一位后的数字,两个组合可以输出数字的每一位,另外%2、/2也可以输出一个数的二进制序列;


3. 赋值操作符
’+=’ ‘-=’ ‘*=’ ‘/=’ ‘^=’ ‘%=’ ‘|=’ ‘&=’ ‘sizeof’ ‘~’ ‘- -’ ‘++’ ‘!=’ ‘()’等

  • ‘- -’ '++'需要注意前置和后置,影响结果。
  • ‘~’—按位取反;可以把a的二进制第n位改为1 。

4. 关系操作符
‘&&’ ‘||’—和、或

  • 注意区分&&和&,|和||;

  • 使用时注意“短路”现象,口诀:&&为0则停,||为1则停;


5. 逗号表达式
exp1,exp2,…,expn

  • 逗号运算符一定要从左到右依次运算,虽然以最后一个表达式为整个表达式的结果,但不要只计算最后一个表达式。

6.条件运算符
exp1?exp2:exp3;

  • 相当于if语句的功能,exp1为真,则执行exp2,反之执行exp3 。

7. 特殊的操作符
[ ]—下标引用操作符

  • 操作数为2个:下标数、数组名,arr[0]和0[arr]和arr[]0都是正确的。

‘·’、‘->’—访问结构成员

  • 用于访问结构体变量的成员。

操作符优先级

  • 表格来自于网络非原创

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述


宁静致远

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值