zoukankan      html  css  js  c++  java
  • C/C++运算符优先级关系

    C/C++优先级 从高到低 1~14梯队

    1、  ()  []  .  ->

    2、   !  ~   -(负号) ++  --   &(取变量地址)*   (type)(强制类型)    sizeof 

    3 、  * / % 

    4 、  + - 

    5 、  >> <<  

    6 、  > >= < <= 

    7 、  == !=   

    8 、  &  

    9 、  ^   

    10、  |   

    11、  &&

    12、  ||

    13、  ?:

    14 、  =  +=  -=  *=  /=   %=  |=   ^=   &=   >>=   <<=

    举例

    常常分不清优先级了,需要加很多的括号,相当不受看,常用的如下几种情况就不用加括号

    *p->x

    &p->y

    if(a==b+c)

    if(a!=b>>1)

    相反的,以下情况需要加括号

    if(a==(b&c))

    下边这个点需要注意:(当参与运算的位不纯时,其它位上的值会被当作真来影响结果,即C/C++虽然能进行位运算,但却是用整个字节中的所有位来进行运算的,然后整个字节中所有位的整体值为最终结果的)

    int n = 2;
    bool b1 = (n ^ 1);//true
    bool b2 = (n ^ 2);//false

    n = 3;
    bool b3 = (n ^ 1);//true
    bool b4 = (n ^ 2);//true

    祝君精进!

  • 相关阅读:
    HashMap实现原理
    框架-Spring
    团队开发介绍
    返回一个环状整数数组中最大子数组之和
    软件工程学习体会
    书店促销
    寻找小水王
    梦断代码阅读笔记3
    找水王
    梦断代码阅读笔记2
  • 原文地址:https://www.cnblogs.com/ice-arrow/p/11881900.html
Copyright © 2011-2022 走看看