c语言之操作符

来源:互联网 发布:tomcat nginx 哪个快 编辑:程序博客网 时间:2024/04/30 14:13

    C语言的操作符主要有8种:算数操作符,移位操作符,位操作符,赋值操作符,单目操作符,关系操作符,逻辑操作符,条件操作符。

   (1)算数操作符:主要有+,-,*,/,%。+,-,*,/可以作用于整数和浮点数,而%只能作用于整数,返回的是整除之后的余数。

   (2)移位操作符:主要有左移<<   右移>>

                                   左移规则:左边抛弃,右边补零,有乘2的效果;

                                   右移规则:右移分为逻辑移位和算术移位。逻辑移位:左边补零,有除2的效果;算数移位:左边补的是符号位(绝大部分用的是算数移位)

                                   左移和右移都不能移动负数位,正能移动正数位。

    (3)位操作符:分为三种:&(与)   ||(或)    ^ (异或:相同为0,相异为1)要求它们的操作数必须是整数;

                                正数的原码,反码和补码一样;负数的反码是符号位不变,其他位取反,负数的补码是反码加1。

    (4)赋值操作符:比如:int a = 0;

                                              a = 2;

                                    复合赋值操作符:+=,-=,*=, /=, %=, <<=, |=, %=     比如 : x=x+2可以写成 x+=2

    (5)单目操作符:指只含有一个操作数。如:!(按位取反)     sizeof(操作数的类型长度)     -(负值)  +(正值)   &(取地址) ~(对一个数的二进制按位取反)等等。

                                   着重注意 :sizeof(数组名)-----数组名表示的是整个数组----计算的是整个数组的大小;

                                                      &数组名-----数组名表示整个数组,这里取出整个数组的地址,单位是字节。

                                                       除了以上两种情况外,所有的数组名表示的是首元素的地址。       

    (6)关系操作符:>    >=   <   <=    !    ==

    (7)逻辑操作符:&&(逻辑与)    ||(逻辑或)

                                    逻辑与:同真为真,有假为假

                                    逻辑或:同假为假,有真则真

    (8)条件操作符:exp1 ? exp2 :  exp3

                                  如找两个数的较大值:   int max(a>b) ? a : b;