标签:
过年越来越无聊了,贴完对联后无所事事的看了一下以前的C语言。关于优先级的问题有一些想要写下来的东西。
当我学习优先级的时候,记得我们的老师帅哥说:以后你们面试,如果有面试官问你们一些关于优先级的计算。如果你有胆量,可以把你手中的东西摔到他的脸上,吃饱撑着了才会这么用优先级。可能我就是那个胆子比较小的。。。。然后我还查阅了不少的类似的题,因为当时刚刚学习C语言,真的觉得这种题好厉害,好流弊!
我分两种看法来解决这个问题:
1、懒人,喜欢简单,爱好和平的方法。
比如!a&&b,我就不知道到底是先计算!还是先计算&&。首先我要说的是帅哥说的很有道理,记这些其实鸡毛用都没有。那么该怎么办呢?
首先我们要让表达式尽量简单。
其次记住先乘除后加减,括号高于一切!(如果所有的表达式你都可以按照宏定义的要求写。。。那你绝对不会错了)
!a&&b <---> (!a)&&b <---> !(a&&b)
2、学霸,爱好研究,坚持正义的方法。
优先级次序:其实很好明白,一个表达式总要计算了才能比较,比较了才能判断对错,最后赋值给某变量。
1、()[] 两个括号与函数、数组有关 “->”“.”箭头和点都是取成员
2、单目运算符 “-”符号 “++”自增 “--”自减 “*”取址 “&”取值 “!”逻辑非 “~”按位取反 “sizeof”长度
3、算数运算符 * / %
4、算数运算符 + -
5、移位运算符 >> <<
6、关系运算符 > >= < <=
7、关系运算符 == !=
8、逻辑运算符 & > ~ > | > && > ||
9、条件运算股 ?:
10、赋值运算符 = (包括各种复合赋值运算符)
11、逗号运算符 ,
C语言 优先级
标签:
原文地址:http://www.cnblogs.com/ohmg/p/5184136.html