C语言 优先级

  过年越来越无聊了,贴完对联后无所事事的看了一下以前的C语言。关于优先级的问题有一些想要写下来的东西。

  当我学习优先级的时候,记得我们的老师帅哥说:以后你们面试,如果有面试官问你们一些关于优先级的计算。如果你有胆量,可以把你手中的东西摔到他的脸上,吃饱撑着了才会这么用优先级。可能我就是那个胆子比较小的。。。。然后我还查阅了不少的类似的题,因为当时刚刚学习C语言,真的觉得这种题好厉害,好流弊!

我分两种看法来解决这个问题:

  1、懒人,喜欢简单,爱好和平的方法。

  比如!a&&b,我就不知道到底是先计算!还是先计算&&。首先我要说的是帅哥说的很有道理,记这些其实鸡毛用都没有。那么该怎么办呢?
  首先我们要让表达式尽量简单。
  其次记住先乘除后加减,括号高于一切!(如果所有的表达式你都可以按照宏定义的要求写。。。那你绝对不会错了)    
   !a&&b   <--->   (!a)&&b   <--->   !(a&&b)   
  2、学霸,爱好研究,坚持正义的方法。
优先级次序:其实很好明白,一个表达式总要计算了才能比较,比较了才能判断对错,最后赋值给某变量。
1、()[] 两个括号与函数、数组有关     “->”“.”箭头和点都是取成员
2、单目运算符  “-”符号  “++”自增  “--”自减  “*”取址  “&”取值  “!”逻辑非  “~”按位取反  “sizeof”长度
3、算数运算符 * / % 大于 + -
4、移位运算符 >> <<
5、关系运算符 > >= < <= 大于 ==  !=
6、逻辑运算符 & > ~ > | > && > ||
7、条件运算股 ?:
8、赋值运算符 = (包括各种复合赋值运算符)
9、逗号运算符 ,

 

posted @ 2016-02-06 15:35  哎呦,哈士奇  阅读(268)  评论(0编辑  收藏  举报