C语言操作符

来源:互联网 发布:淘宝描述不符违规 编辑:程序博客网 时间:2024/05/28 22:11

操作符的分类:

         1.算术操作符

         2.移位操作符

         3.位操作符

         4.赋值操作符

         5.单目操作符

         6.关系操作符

         7.逻辑操作符

         8.条件操作符

         9.逗号表达式

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

1.算术操作符:


                        +       -       *       /       %

              

          在使用算术操作符时,应该注意  %(取模)操作符只能在整数之间使用,而其他算术操作符可以用于整数和浮点数。       


2.移位操作符:

                           <<  左移操作符 

                           >>  右移操作符

  

    <<  左移操作符

               

    >> 右移操作符

        1.算术右移  (左边拿符号位来补,右边抛弃)

        2.逻辑右移  (左边拿0来补,右边抛弃)

                int num = -1

                 num >> 1

            

           在移位操作符中,不可以移动负数位,这是标准未定义的。


3.位操作符:

                      &        |           ^                 

                      与     或       异或


         按位异或:相同为0,相异为0


4.赋值操作符:          =

           复合赋值符:    +=     -=   *=     /=     %=     >>=    <<=     &=     |=     ^=  

           复合赋值符可以简化程序,减少程序员的工作量,方便理解。


5.单目操作符

                      

                     ! 逻辑反操作     

                      -   负值                                       +    正值

                      &  取地址                                   ~   对一个数的二进制按位去反

                      --   前置、后置 --                       ++  前置、后置 ++    

                      *   间接访问操作符                  (类型)强制类型转换

                     sizeof        操作数的类型长度(以字节为单位)


注意:1.  sizeof 不是函数,只是操作符,它返回的是一个变量或者类型的大小。

            2. a++       先使用a,再增加              ++a  先增加,再使用a

                a--         先使用a,再减                   --a  先减,再使用a

            3.        float  b = 1.23

                    强制类型转换 :    int  c =(int)b          

                    强制转换后:             c   =   1


6.关系操作符


                           >               >=                 <              <=                 !=              ==

                        大于         大于等于        小于        小于等于     不等于        等于 



7.逻辑操作符

                                 &&                                          ||

                                逻辑与                                  逻辑或

             区分逻辑与和按位与                  

             区分逻辑或和按位或                



8.条件操作符

                               exp1?exp2 : exp3

           如果表达式exp1为真,则输出为表达式exp2,为假,则输出为exp3。


9.逗号表达式

                 exp1,exp2,exp3,....expN


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


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

(1)[ ]      数组下标引用操作符

(2)() 函数调用操作符

(3)    .结构体.成员名

              ->结构体指针->成员名