C语言操作符的总结

来源:互联网 发布:软件著作权颁发机构 编辑:程序博客网 时间:2024/06/05 23:56

  C语言中一共有以下几类操作符:

 算术操作符:

+  加:左右操作数适用于整型和浮点型数。
 -  减:左右操作数适用于整型和浮点型数。
 *  乘:左右操作数适用于整型和浮点型数。
 /  除:左右操作数适用于整型和浮点型数。
 %  模运算或求余:左右两边接受两个整型操作数,返回值是余数而不是商。
 
移位操作符: 
  左移位操作:<< 左边移除出位丢弃,右边空位用0补齐填充
  右移位操作:>> ●逻辑移位:左边移入的位用0填充 
                                 ●算数移位:左边移入的位取决于符号位(符号位为1,用1填充;符号位 为0,用0填充)
  标准说明:无符号值执行所有移位操作默认就是逻辑移位;但对于有符号数,到底采用逻辑移位还是算术移位就取决于编译器。
  位操作符 &AND(与):
                                |OR(或):
                               ^XOR(异或):两位二进制相同为0;不同为1.
  赋值运算符: = 赋值是表达式,表达式就具有一个值;其值就是赋值表达式左值的新值。
  结合性(求值顺序):从右到左。
  符合赋值符: +=       -=      *=       /=    %=  
                            <<=   >>=    &=     ^=      |=
 
  单目操作符:
              逻辑取反操作,这个操作符产生一个整型结果0或1
             对整型类型操作数进行求补操作,
              ++要求操作数是一个左值。
              --要求操作数是一个左值。
              + 产生操作数的值;换而言之,它什么也不干。之所以提供这个操作符,是为了与“-”操作符组成对称的一对。
              -产生操作数的负值
              &取地址
              *  间接访问 
           (类型)强制类型转换
            sizeof  判断它操作数的类型长度(以字节为单位)例:sizeof(int);sizeofx;
                  注:判断表达式长度并不需要对表达式进行求值,所以sizeof(a=b+1)并没有向a赋任何值。
  关系操作符: ◇产生的结果是一个整型值,而不是一个布尔值;
               ◇如果两端的操作数符合操作符指定的关系表达式的结果为1(非0值为真),否则为0(假);
               ◇关系操作符的结果是整型值,所以可以赋值给整形变量
               >  >=  <  <=  !=  == 
  逻辑操作符:
        && 逻辑与   &&左边的表达式为假,右边的就不执行;只有两边都为真,整个表达式结果才为真
        ||     逻辑或   左边的表达式为真,右边的表达式不再执行;左边为假,右边才会执行;只要左边或者右边中有一个为真,整个表达式结果就为真 
        注:位操作符和逻辑操作符容易混淆, 区别:
            1、&&和||操作符具有短路性质,如果表达式的值根据左值可以决定;它就不再对右 操作数求值;与之相反,|和&位操作符两边的操作数都需要进行求值。 
            2、逻辑操作符用于测试0值和非0值,而位操作符用于比较它们的操作数中定义的位。
   条件运算符: (a?b):c a为真(非零值)则进行b,a为假则进行c。 
   逗号操作符: 逗号操作符用于将两个或着多个表达式分隔开,这些表达式至左向右逐个进行求值,整个逗号表达式的值是最后那个表达式的值。 
   下标引用、函数调用和结构成员:
       1.[ ]操作数:一个数组名+一个索引值
               例如:int arr[10]
                           arr[1]=0
             2.()函数调用操作符   接受一个或者多个操作数,第一个操作数是函数名,剩余的操作数是传递给函数的参数。
             3.结构体操作符
                .   结构体.成员名
                -> 结构体指针->成员名

原创粉丝点击