运算符优先级
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
优先级
优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。
相同优先级中,按结合顺序计算。
大多数运算是从左至右计算,只有三个优先级是从右至左结合的,它们是单目运算符、条件运算符、赋值运算符。
基本的优先级需要记住:
指针最优,单目运算优于双目运算。
如正负号。
先算术运算,后移位运算,最后位运算。
请特别注意:1 << 3 + 2 && 7等价于(1 << (3 + 2))&&7.
逻辑运算最后计算。
C语言优先级
说明:
同一优先级的运算符,运算次序由结合方向所决定。
简单记就是:!> 算术运算符> 关系运算符> && > || > 赋值运算符3C++
4Java
一个特殊的例子:
public class stlye
{
public static void main(String[] args)
{
int a=10,b=6;
System.out.println("改变之前的数:a="+a+",b="+b); a-=b++;
System.out.println("改变之后的数:a="+a+",b="+b); }
}
运算结果为:
改变之前的数:a=10,b=6
改变之后的数:a=4,b=7
因为b++运算中先执行++,再返回后置++运算表达式(b++)的返回值(6)给-=运算符。
在这个程序中a-=b++等于a=a-b++=10-6,所以a=4。
5C#
一个特殊的例子:
class Program
{
static void Main(string[] args) {
int a; a = 10; int b = 4;
a += b++;
Console.WriteLine("a={0}",a); Console.WriteLine("b={0}", b); Console.ReadLine();
}
}
运算结果为:
a=14
b=5
在这个程序中a+=b等于a=a+b=10+4,因为b++ 时返回了一个临时变量后才进行自增。
6Visual Basic。