操作符简介

算术操作符

'+ 、- 、* 、/ 、%'

除法操作符的两个操作数都是整数的话,执行的是整数除法;两个操作数只要有一个是浮点数,执行的是小数除法;

取模操作符的两个操作数必须是整数;

移位操作符

'<<'左移操作符 '>>'右移操作符

移动的是二进制的位

<<

最左边一位丢弃,右边补0。

>>
  1. 逻辑右移

右边丢弃,左边用0填充

2. 算术右移

右边丢弃,左边用原来的符号位填充

ps:右移是采用哪种方式,取决于编译器,这两种方法与负数移位后的正负性有关

位操作符

'&'按位与

'|'按位或

'^'按位异或(支持交换律)

不创建变量交换两数:

int main()
{
    int a = 3;
    int b = 5;
    //a = a + b;
    //b = a - b;
    //a = a - b;
    //两数较大时不行
    a = a ^ b;
    b = a ^ b;//b = a ^ b ^ b;
    a = a ^ b;//a = a ^ b ^ a;
} 

ps:操作数必须是整数,且是对补码进行运算

赋值操作符

'='

a=b=c;

从右向左赋值。

#### 复合赋值符

'+ =、- =、* =、/ =、^ =、>> ='

单目操作符

'!、-、+、&、sizeof、~(对一个数补码按位取反)、--、++、* 、(类型)(强制类型转换)'

不输入时结束循环写法:

 while(~scanf())//EOF=-1,~-1=0

关系操作符

'> 、 >= 、 < 、 <= 、!= 、== '

逻辑操作符

'&& 、||'

ps:&&前为假则不执行后面运算,||前为真则不执行后面运算

示例:

结果:

条件操作符

'exp1 ? exp2 : exp3;'

本质:

 if(exp1)
  exp2;
else
  exp3;

示例:

a > 5 ? b = 3 : b = -3;
b = a > 5 ? 3 : -3;

逗号表达式

'exp1,exp2,exp3,···,expn'

从左到右依次执行,整个表达式的最后结果是最后一个表达式的结果。

示例:

int a = 1;
int b = 2;
int c = (a > b, a = b + 10, a, b = a + 1);

结果:c = 3;

示例:

下标引用、函数调用和结构成员

下标引用

操作数:一个数组名+一个索引值

函数调用

操作数:函数名+()

结构成员访问操作符

' . 、->'

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值