您的位置:首页 > 编程语言 > C语言/C++

C语言的操作符优先级

2009-04-28 21:03 225 查看
C语言的程序是典型的命令式的程序。它主要由各种操作符和操作数组成!
然而作为C语言组成部分的操作符和操作数如果没有一套详细的规则来规范的话,那么将会是很糟糕的事情。
所以C语言建立了一套完善的操作符优先级制度!
但是很多同学在学习这个的时候总是去记忆,这样作不是不好,但是却发现一个现象,就是同学们只是单纯的记忆了,并没有理解这个优先级的关键意义。如果理解了,那么是不需要记忆的。
优先级是相对的优先级,它只决定了操作符和操作数的邦定关系,操作符级高的优先组合,同级的按照关联规则来组合。
见例子:
x=-2+4*5+4
这里先分析表达式:
表达式里共有4个操作符,分别是:-,+,*,+,其中的前一个+和后一个+是一样的。(注意这里的+不是正号,而是加号。)
”-“的优先级是最高的(一元操作符的优先级比较高),其次是*,最后是+
于是经过分析可知道该表达式会分解为如下的关系:()用来表示操作符和操作数邦定的关系
1.x=(-4)+4*5+4
2.x=(-4)+(4*5)+4
3.x=((-4)+(4*5))+4
4.x=(((-4)+(4*5))+4)
最后,由小括号的深度来决定计算顺序,从而保证不论多么复杂的表达式都能按照既定的规则顺利执行!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: