zoukankan      html  css  js  c++  java
  • 运算符的优先级

        首先要清楚都有哪几种运算符?
        算数运算符(单目运算符,双目运算符),移位运算符,关系运算符,逻辑运算符,三目运算符,赋值运算符,逗号运算符还有(),[],->,.(我在这里!).
        所有的运算符中:(),[],->,.    这四个运算符的优先级最高。
        其次是单目运算符,再次双目运算符,注意单目运算符的运算顺序是自右向左的。
        之后是移位运算符,<< >>
        第四是关系运算符,关系运算符中的< > <= >=四个运算符的优先级大于 == 和 != ,这样方便与我们写如下的代码:if( a<b == c<d) //a与b的大小顺序与c与d的大小顺序相同。
        逻辑运算符的优先级顺序是基于B语言等历史原因,我也不是特别了解,在此不作详述,其中只要记住 与 大于 或,异或在二者之间,注意不要忘了异或 ^ 这个运算符。
        三目运算符的优先级大于赋值运算符,这样我们就可以下如下的代码:tax_rate = income > 40000 && residency < 5 ? 3.5 : 2.0(想不出比这个更好的例子,索性就用人家的吧)。注意赋值运算符的运算顺序是自右向左的,但是不能理解“三目运算符的运算顺序是自右向左”是个什么情形?“?:?:”这样?有什么用处呢?
        逗号运算符的优先级最低,注意函数参数中的逗号不是运算符,eg.method(x,y)中x,y的求值顺序是未定义的,而method2((x,y))中的x,y的求值顺序是是确定的先x后y。
        这是从网上找来的C运算符优先级表:http://www.slyar.com/blog/c-operator-priority.html,这个东西在很多书上能找到,但是如果你想直接被它,太难了!

  • 相关阅读:
    HDU2546(01背包)
    HDU4283(KB22-G)
    POJ1651(KB-E)
    POJ2955(KB22-C 区间DP)
    POJ3264(KB7-G RMQ)
    POJ3468(KB7-C 线段树)
    POJ3616(KB12-R dp)
    Ubuntu16.04安装opencv for python/c++
    华中农业大学第五届程序设计大赛网络同步赛-L
    华中农业大学第五届程序设计大赛网络同步赛-K
  • 原文地址:https://www.cnblogs.com/kimimaro/p/2007842.html
Copyright © 2011-2022 走看看