c语言操作符的总结

操作符

 

一、操作符的分类

1.     算数操作符

2.     位移操作符

3.     位操作符

4.     赋值操作符

5.     单目操作符

6.     关系操作符

7.     逻辑操作符

8.     条件操作符

9.     逗号操作符

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

二、逐个讲解

1、 算数操作符

    +   -      *      /      %

1)    除了%操作符之外,其他的几个操作符可以作用于整数和浮点数。

2)    对于/操作符如果两个操作数都为整数,执行整数除法。而只要有浮点数执行的就是浮点数除法。

3)    %操作符的两个操作数必须为整数。返回的是整除之后的余数。

2、位移操作符

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

1)    左位移操作符

位移规则:左边抛弃,右边补0

在没有赋值的情况下自身的值不发生变化。

int num= 10;

num<<1;    //num的值没有发生变化还是10

num= num<<1;   //num的值才发生变化,位20

2)    右移操作符

首先右移分两种:

a)    逻辑位移

左边用0填充,右边丢弃

unsignedint num = 0xffffffff//是-1的补码的形式

printf(“%d”,num);   //输出的是-1而不是一个整数,因为%d是按十进制整数的格式输出,

printf(“%u”,num);  //输出的是一个最大的正数,%u表示输出的是无符号的

num= num>>1;  //结果是0x7fffffff

 

b)    算数位移

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

intnum = 0xffffffff;

num= num>>1;//num的值位0xffffffff  -1的补码

3、位操作符

&   //按位与    |    //按位或    ^  //按位异或

它们的操作数必须是证书

4、 赋值操作符

+=  -= *=  /=  %= >>=  <<=  &= |=  ^=

5、 单目操作符

!逻辑反操作  -负值   +正值  &取地址  sizeof操作数的类型长度(以字节位单位)  ~对一个二进制数按位取反   --前置、后置 --   ++前置、后置++

        *间接访问操作符(解引用操作符)

        (类型)强制类型转换操作符

        sizeof 是一个操作符不是函数 

         int a = 0;    sizeof (a)  和sizeofa都是正确的

         但是sizeof(int)正确  sizeof int 错误    

         前置++a,--a 先计算a++和--后a的值,早使用a

         后置a--,a++   先使用a的值,然后a的值再自增,自减

6、 关系操作符

<   <= >  >=   !=  ==

7、 逻辑操作符

&&      逻辑与      ||逻辑或

区分按位与和逻辑与

1&2-------->0     1&&2-------->1

1|2--------->3      1||2----------->1

a&&b&&c   当a的值为0,则不再判断b和c,也不再计算b和c的值

a||b||c        当a的值为1,则不再判断b和c,也不再计算b和c的值

8、 条件操作符

exp1 ? exp2 : exp3

如果exp1结果为真,表达式的结果为exp2的结果,否则为exp3的结果

a>  b? max=a : max = b;也可以写为 max = a>b? a : b;

9、 逗号表达式

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

 

  

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值