操作符

操作符

1.  算数操作符

  +      -     *     /     %

        除了%操作符外的操作符都既能用于整型也能用于浮点型,/操作符的一个操作数位浮点型,则执行浮点数除法;%是取模,只能用于整型,得到的数字是左数除以右数相除的余数。


2.  移位操作符

   <<      >>

         <<   左移位操作符,即将一个值的二进制序列整体向左移动,最左边的几位丢弃,右边用0补齐

         >>   右移位操作符,有逻辑移位,即将一个值的二进制序列整体向右移动,最右边的几位丢弃,左边用0补齐。算数移位,移动与逻辑移位相同,最左补符号位(正补0,负补1)。


3.  位操作符

   &     |     ^   

   &  按位与      两个位   0&0=0     1&0=0     0&1=0    1&1=1

   |   按位或      两个位   0&0=0     1&0=1     0&1=1    1&1=1

   ^   异或         两个位   0&0=0     1&0=1     0&1=1    1&1=0

例:  a 二进制序列是00101110   b的是01011011

         a&b=00001010

         a | b=01111111

         a ^ b=01110101

         *它们的操作数必须是整数。


4.  赋值操作符

        =      把右边的操作数的值给右边

        +=,-=,*=,/=,%=,<<=,>>=,&=,|=

        +=    a+=1   相当于   a=a+1   ,其他与之类似。


5.  单目操作符

      !   -    +   &  sizeof     ++  --     ~    *     (类型)

      ! :逻辑取反操作,如果操作数为真,结果为假;操作数为假,结果为真。


       -  :产生操作值的负数。


       + :产生操作值。


       & :产生操作数的地址。


       sizeof  :  操作数的类型长度,以字节为单位表示,操作数既可以是表达式,也可以是加上括号的类型名。

       sizeof a  ;   sizeof(int)

       *sizeof  不是函数。放在sizeof内部的表达式不参与运算。

       数组名单独放在sizeof内部表示整个数组。


       ++:自增运算符    a=1;a++  得到2

        前后置的区别:++i   先自增再使用;i++   先使用再自增

       --  :自减运算符   与++类似


       ~:对整型操作数进行取反操作

  

       *:间接访问操作符。它与指针一起使用,用于访问指针所指向的值。


      (类型):强制类型转换, int a;  (float)a;即将整型a的类型转换为单精度浮点型。     


6.  关系操作符

    >   

    >=

    <

    <=

    !=    不等于

    ==    相等   

陷阱:    x = get_value();

            if(x = 5)

   x从函数获得一个值,但我们将5赋值给x,而不是将x与5比较,从而丢失了从函数获得的值,出现错误。


7.  逻辑操作符

     &&  逻辑与    同真为真,否则为假;&&左操作数先求值,若为假,则不进行右操作数求值。

      ||    逻辑或    同假为假,否则为真;  || 左操作数先求值,若为真,则不进行右操作数求值。


8.  条件操作符

         exp1   ?   exp2 : exp3

         若exp1为真,进行exp2;否则进行exp3。

例:if (a > 5)

            b = 3;               可写为           a > 5 ? b = 3  :  b=-20 ;

       else

            b = -20;


9.  逗号操作符

      (exp1,exp2,......exp n)

    表达式从左向右进行求值,整个逗号表达式的值为最右边表达式的值。


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


(1)    [ ]下表引用

     操作数:一个数组名 + 一个索引值

     arr[下标]   

     *(arr+(下标)) 


     int  arr[10]

     arr[9] = 10;

     [ ] 的两个操作数是arr 和9.

 

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

     接受一个或者多个操作数:第一个操作数是函数名,剩余操作数就是传递给函数的参数。


(3)    访问一个结构的成员

   .结构体.成员名

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





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值