zoukankan      html  css  js  c++  java
  • 运算符和结合性(转)

     

    优先级

    运算符

    含义

    要求运算对象的个数

    结合方法

    1

      ( )

      [ ]

      →

      ·

    圆括号

    下标运算标

    指向结构体成员运算符

    结构体成员运算符

    自左至右

    2

       !

       ~

       ++

       --

       -

     (类型)

       *

       &

      sizeof

    逻辑非运算符

    按位取反运算符

    自增运算符

    自减运算符

    负号运算符

    类型转换运算符

    指针运算符

    地址与运算符

    长度运算符

             1

        (单目运算符)

    自右至左

    3

       *

       /

       %

    乘法运算符

    除法运算符

    求余运算符

    2

        (双目运算符)

    自左至右

    4

       +

       -

    加法运算符

    减法运算符

    2

        (双目运算符)

    自左至右

    5

      <<

      >>

    左移运算符

    右移运算符

    2

        (双目运算符)

    自左至右

    6

    <<=︺>>=

    关系运算符

    2

        (双目运算符)

    自左至右

    7

      ==

      !=

    等于运算符

    不等于运算符

    2

        (双目运算符)

    自左至右

    8

       &

    按位与运算符

    2

        (双目运算符)

    自左至右

    9

       ^

    按位异或运算符

    2

        (双目运算符)

    自左至右

    10

       ︱

    按位或运算符

    2

        (双目运算符)

    自左至右

    11

      &&

    逻辑与运算符

    2

        (双目运算符)

    自左至右

    12

       ‖

    逻辑运算符

    2

        (双目运算符)

    自左至右

    13

      ?:

    条件运算符

    2

        (双目运算符)

    自左至右

    14

    =+=-=*=

    /=%=>>=<<=

     &=^=︱=

    赋值运算符

              2

    自右至左

    15

       ,

    逗号运算符(顺序求职运算符)

    自左至右

     

    说明:

    (1)同一优先级的运算符优先级别相同,运算次序由结合方向决定。例如,*与/具有相同的优先级别,其结合方向为自左至右,因此,3*5/4的运算次序是先乘后除。一和++为同一优先级,结合方向为自右至左,因此-i++相当于一(i++)。

    (2)不同的运算符要求有不同的运算对象个数,如十(加)和-(减)为双目运算符,要求在运算符两侧各有一个运算对象(如3+5、8-3等)。而++和-(负号)运算符是一元运算符,只能在运算符的一侧出现一个运算对象(如-a、i++、--i、(float)i、sizeof(int)、*p等)。条件运算符是C语言中唯一的一个三目运算符,如x?a:b。

    (3)从上述表中可以大致归纳出各类运算符的优先级:

    初等运算符(  )[  ]→ •

    单目运算符

    算述运算符(先乘除,后加减)

    关系运算符

    逻辑运算符(不包括!)

    条件运算符

    赋值运算符

    逗号运算符

    以上的优先级别由上到下递减。初等运算符优先级最高,逗号运算符优先级最低。位运算符的优先级比较分散。为了容易记忆,使用位运算符时可加圆弧号。

  • 相关阅读:
    Winform—C#读写config配置文件
    C# 中Web.config文件的读取与写入
    Redis配置文件详解
    三层架构之泛型抽象
    Linq To Sql语法及实例大全
    junit单元测试(keeps the bar green to keeps the code clean)
    观 GT Java语言管理系统的感悟
    java考核完的心得
    15个C++项目列表
    C++文件操作(fstream)
  • 原文地址:https://www.cnblogs.com/10jschen/p/2629610.html
Copyright © 2011-2022 走看看