c语言中的运算符优先级高低是什么意思
6个回答
展开全部
运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例如:2+3,其操作数是2和3,而运算符则是“+”。
运算符的优先级是从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。表达式的结合次序取决于表达式中各种运算符的优先级。优先级高的运算符先结合,优先级低的运算符后结合,同一行中的运算符的优先级相同。
扩展资料
优先级与求值顺序无关。如a+b && b*c,虽然*优先级最高,但这个表达式求值顺序是从左到右。
优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。
相同优先级中,按结合性进行结合。大多数运算符结合性是从左到右,只有三个优先级是从右至左结合的,它们是单目运算符、条件运算符、赋值运算符。
指针最优,单目运算优于双目运算。如正负号。先算术运算,后移位运算,最后位运算。请特别注意:1 << 3 + 2 & 7等价于 (1 << (3 + 2))&7。逻辑运算最后结合。
参考资料来源:百度百科-运算符优先级
展开全部
要了解c语言运算符优先级高低就先从通常数学上运算优先级高低说起。
通常,一个数学算式里如果有加减乘除和括号,我们会先算括号里面的式子,再算括号外面的乘除再然后才是加减。那么这时候我们说括号的优先级比加减乘除的要高,所以我们就先计算括号里的式子。然后是乘除,再然后才是加减。其中加减乘除就是运算符。所以运算符的高低决定了运算的先后顺序。
同理。C语言中的运算优先级和这一个样,只要你把运算符的优先级记住就可以了。
通常,一个数学算式里如果有加减乘除和括号,我们会先算括号里面的式子,再算括号外面的乘除再然后才是加减。那么这时候我们说括号的优先级比加减乘除的要高,所以我们就先计算括号里的式子。然后是乘除,再然后才是加减。其中加减乘除就是运算符。所以运算符的高低决定了运算的先后顺序。
同理。C语言中的运算优先级和这一个样,只要你把运算符的优先级记住就可以了。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
就是有不同运算符出现在同一个表达式中,求表达式的值时,优先级高的运算符先结合求值再求优先级低的,比如a+b*c,明显*的优先级比+高,所以先算b*c,得到的值加上a。另外有些符号优先级相同,那就有从左到右结合,和从右到左结合,还需要再详细吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
也就是说在一个表达式中它先计算什么再计算什么,
举个简单的例子。a+b*c/d-e
谁高就先算谁的。*/高于+-,所以先计算乘除,再计算加减。。
还有很多的运算符,楼主如果要想了解所有运算符的优先级的话,如果有书的话书后应该都有的,没书在网上搜搜吧。这个很重要的
举个简单的例子。a+b*c/d-e
谁高就先算谁的。*/高于+-,所以先计算乘除,再计算加减。。
还有很多的运算符,楼主如果要想了解所有运算符的优先级的话,如果有书的话书后应该都有的,没书在网上搜搜吧。这个很重要的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
比如 1+3*3
因为 *的优先级比+高,所以先运行3*3,在+1。
其实这个不用在意,也不需要背,只要在你需要的运算顺序下加()就行了。
比如 1+(3*3)
因为 *的优先级比+高,所以先运行3*3,在+1。
其实这个不用在意,也不需要背,只要在你需要的运算顺序下加()就行了。
比如 1+(3*3)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询