C语言中的操作符及其用法

1. 算数操作符


在上述操作符中,+, - 、* 我们都很熟悉了。/、% 有两点是需要我们注意的:

1.  对于/运算,如果两边都是整数,则执行整数运算;如果两边有一个为浮点数,则执行的是浮点数操作。

2.  %不能用于浮点数,两边都只能是整数,其余四个都可以用于浮点数和整数。

2. 移位操作符

左移操作符移位规则:左边抛弃,右边补0;(有*2的效果)

    例如 :6  的二进制补码为 00000000 00000000 00000000 00000110

                                左移后  00000000 00000000 00000000 00001100

               变为12。

右移操作符移位规则分为两种:1. 算数移位:右边丢弃,左边补符号位

                                               2. 逻辑移位:右边丢弃, 左边补0;(右移有/2的效果)

扫描二维码关注公众号,回复: 1761215 查看本文章

    例如:6 的二进制补码为 00000000 00000000 00000000 00000110    

                               右移后 00000000 00000000 00000000 00000011

               变为3。

但我们现在一般使用的都是算数移位,假如逻辑移位,就会把负数变为正数,算数运算更符合我们的要求。

注:

1. 对于移位操作符,不要移动负数为,因为这个是标准未定义的。

2. 假如a=6;a<<1;在a没被赋值的情况下,自身的值是不会发生变化的。

3. 位操作符


按位与:5 的二进制补码为  00000000 00000000 00000000 00000101

              6 的二进制补码为  00000000 00000000 00000000 00000110

                                      & 00000000 00000000 00000000 00000100

               结果为4。

按位或 、按位异或同样道理。

注意:

  这三个操作符的运算数必须为整数。

4. 赋值操作符

赋值操作符就相对简单了一点,有:=、+=、-=、/=、%=、>>=、<<=、&=、|=、^=。

例如:a = a >> 1; 就可以表示为 a>>=1;

5. 单目操作符

上述操作符中,需要注意的是:

1. 0为假,非0为真(-1也为真)

2. sizeof是一个操作符,而不是一个函数;并且sizeof内的表达式不计算

3. 前置++:先++后运算

    后置++:先运算后++ 

6. 关系操作符

关系操作符也比较简单,有:>,> = 、<、<=、!=(不相等)、==。

注:=和==和区别,=是赋值操作符,==才是判断是否相等,在编程过程中注意。

7. 逻辑操作符

注意区分 逻辑与和按位与 : 1&2为0

                                            1&&2为1

               逻辑或和按位或: 1|2为3

                                            1 || 2为1

注:

1.如果有 A&&B&&C,A、B、C为三个条件,运算过程中,从A到B再到C,只要A为假,后面两个表达式就不用运算了,如果A     为真,则继续往后运算,以此类推

2. 如果有 A || B || C,A、B、C为三个条件,运算过程中,从A到B再到C,只要A为真,后面两个表达式就不用运算了,如果A     为假,则继续往后运算,以此类推

8. 条件操作符

  格式:exp1 ? exp2 : exp3

也被叫做三目表达式。
如果表达式EXP1为真,则执行表达式exp2,否则执行表达式exp3

例如:if(a> 5)

                b = 3;

           else   

                b = -3;

转化为三目表达式为:b = a > 5 ? 3 : -3;

9.逗号表达式

格式:exp1,exp2,exp3 .....

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


猜你喜欢

转载自blog.csdn.net/aixiaodeshushu/article/details/80690743
今日推荐