编程中的运算符优先级是指在进行表达式计算时,运算符相对于操作数的执行顺序。不同的编程语言可能有不同的优先级规则,但大多数遵循以下基本原则:
单目运算符 优先于 双目运算符,双目运算符优先于 三目运算符。
算术运算符优先于 关系运算符,关系运算符优先于 逻辑运算符。
结合性: 大部分运算符是从左至右结合的,但单目运算符、三目运算符和赋值运算符是从右至左结合的。 C/C++ 运算符优先级括号
`( )`
类型转换`(type)`
一元运算符`+ - ! ~ ++ -- sizeof`
算术运算符`* / % + -`
关系运算符`> >= < <= == !=`
位运算符`& ^ | << >>`
逻辑运算符`&& || !`
条件运算符`? :`
赋值运算符`= += -= *= /= %= &= ^= <<= >>= &= |`
示例
```c
int a = 5;
int b = 3;
int c = a + b = 10; // 正确的写法是 int c = (a + b);
```
在这个例子中,由于赋值运算符 `=` 的优先级高于加法运算符 `+`,所以先计算 `a + b` 的结果,然后再赋值给 `c`。
建议
记住常用优先级: 对于常用的运算符,如 `+ - * / % == != && ||`,建议记住它们的优先级,以便在编写表达式时能够快速确定运算顺序。 使用括号
练习:通过编写和测试不同的表达式,加深对运算符优先级的理解和记忆。