打印
[ARM入门]

C语言运算符优先级(超详细)

[复制链接]
329|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
C语言运算符优先级(超详细)

 当想找哪个运算符优先级高时,很多时候总是想找的就没有,真让人气愤!现在,终于有个我个人觉得非常全的,分享给大家,欢迎拍砖!
C语言运算符优先级
优先级        运算符        名称或含义        使用形式        结合方向        说明
1        []        数组下标        数组名[常量表达式]        左到右        --
        ()        圆括号        (表达式)/函数名(形参表)                --
        .        成员选择(对象)        对象.成员名                --
        ->        成员选择(指针)        对象指针->成员名                --

2        -        负号运算符        -表达式        右到左        单目运算符
        ~        按位取反运算符        ~表达式               
        ++        自增运算符        ++变量名/变量名++               
        --        自减运算符        --变量名/变量名--               
        *        取值运算符        *指针变量               
        &        取地址运算符        &变量名               
        !        逻辑非运算符        !表达式               
        (类型)        强制类型转换        (数据类型)表达式                --
        sizeof        长度运算符        sizeof(表达式)                --

3        /        除        表达式/表达式        左到右        双目运算符
        *        乘        表达式*表达式               
        %        余数(取模)        整型表达式%整型表达式               
4        +        加        表达式+表达式        左到右        双目运算符
        -        减        表达式-表达式               
5        <<         左移        变量<<表达式        左到右        双目运算符
        >>         右移        变量>>表达式               

6        >         大于        表达式>表达式        左到右        双目运算符
        >=        大于等于        表达式>=表达式               
        <         小于        表达式<表达式               
        <=        小于等于        表达式<=表达式               
7        ==        等于        表达式==表达式        左到右        双目运算符
        !=        不等于        表达式!=  表达式               

8        &        按位与        表达式&表达式        左到右        双目运算符
9        ^        按位异或        表达式^表达式        左到右        双目运算符
10        |        按位或        表达式|表达式        左到右        双目运算符
11        &&        逻辑与        表达式&&表达式        左到右        双目运算符
12        ||        逻辑或        表达式||表达式        左到右        双目运算符

13        ?:        条件运算符        表达式1?
表达式2:  表达式3        右到左        三目运算符

14        =        赋值运算符        变量=表达式        右到左        --
        /=        除后赋值        变量/=表达式                --
        *=        乘后赋值        变量*=表达式                --
        %=        取模后赋值        变量%=表达式                --
        +=        加后赋值        变量+=表达式                --
        -=        减后赋值        变量-=表达式                --
        <<=        左移后赋值        变量<<=表达式                --
        >>=        右移后赋值        变量>>=表达式                --
        &=        按位与后赋值        变量&=表达式                --
        ^=        按位异或后赋值        变量^=表达式                --
        |=        按位或后赋值        变量|=表达式                --

15        ,        逗号运算符        表达式,表达式,…        左到右        --
说明:
同一优先级的运算符,运算次序由结合方向所决定。
简单记就是:! > 算术运算符 > 关系运算符 > && > || > 赋值运算符

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

119

主题

139

帖子

0

粉丝