操作符简述

来源:互联网 发布:淘宝买的固话办信用卡 编辑:程序博客网 时间:2024/05/20 07:16

         这段时间系统的学习了一下操作符,现将自己总结的知识点和大家做个分享。

       首先,操作符由算术操作符、移位操作符、位操作符、赋值操作符、单目操作符、关系操作符、逻辑操作符、条件操作符、逗号表达式、下标引用、函数调用和结构成员组成。一些基本的大家都清楚,我就不一一做介绍了,下面是我认为需要注意的几个方面:

      1.%操作符的两个操作数必须为整数,其他的算术操作符可以作用于整数和浮点数。

      2.  <<   左移操作符;移位规则:左边丢弃右边补0;

           >>    右移操作符;右移运算分为两种:逻辑右移——左边补0,右边丢弃

                                                                          算术右移——左边补符号位,右边丢弃

                 移位位数不能为负,例如:a<<-2,是错误的。

        3.!取反操作符

#include<stdio.h>{     int flag = 2;     printf("%d",!flag);     return 0;}


      这里输出的结果为0,因为是逻辑取反。

       4.1)sizeof求操作数的类型长度,以字节为单位,注意:sizeof不是函数

              sizeof(a)可以写成sizeof a,这里a为一个变量;但是求类型长度时,必须写成sizeof(int)。一般建议写成sizeof().

            2)sizeof和&后跟数组名的区别:

               sizeof(数组名),数组名表示整个数组,表达式求的是整个数组的大小,单位是字节;

               &数组名,数组名表示整个数组,表示求的是整个数组的地址;

               除上述两种情况外,所有的数组名都是首元素的地址。

        5.分清楚 逻辑与( &&)和按位与(&)以及逻辑或(||)和按位或(|)的区别

                                    1 & 2,结果为 0;

                                    1&& 2,结果为 1;

                                    1 | 2,结果为 3;

                                    1 || 2,结果为1.

         6.逗号表达式,从左到右依次执行,整个表达式结果为最后一个表达式结果

       

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

              c = 13,      a>b为假,执行第二条语句,a=b+10, a=12,执行最后一条语句,b=a+1,b=13,所以c = b,所以c = 13

         7.a++和a--         先对a使用,再进行自加或自减;

            ++a和--a          先对a进行自加或自减,再使用。

     上面是我的一些总结,如果有错,欢迎指正。