8.8运算符优先权

运算符优先级确定在一个表达式中出现不同运算符时,运算符的分组方式。例如*的优先级高于+’. 因此,表达式a + b * c乘法的意思b和c,然后添加a对于产品(即。,a + (b * c)).

您可以使用括号否决运算符的优先级。如果你自己不写括号,你可以把优先规则想象成假设括号在这里的。事实上,当你有一个不寻常的运算符组合时,使用括号是明智的,因为其他阅读程序的人可能不记得在这种情况下的优先级是多少。你也可能忘记,然后你也可能犯错误。显式括号将有助于防止任何此类错误。

当优先级相等的运算符一起使用时,最左边的运算符首先分组,但按相反顺序分组的赋值运算符除外。因此,表达式a - b + c分组为(a - b) + c,但是表达式a = b = c分组为a = (b = c).

当一个运算符跟在操作数后面时,前缀一元运算符的优先级很重要。例如-x^2方法-(x^2)因为-的优先级低于^’.

这是一个Octave运算符表,按优先级递减的顺序排列。除非另有说明,否则所有运算符都从左到右分组。

function call and array indexing, cell array indexing, and structure element indexing

‘()’ ‘{}’ ‘.’

postfix increment, and postfix decrement

‘++’ ‘--’

这些操作符从右向左分组。

transpose and exponentiation

‘’ ‘.'’ ‘^’ ‘.^’

unary plus, unary minus, prefix increment, prefix decrement, and logical "not"

‘+’ ‘-’ ‘++’ ‘--’ ‘~’ ‘!’

multiply and divide

‘*’ ‘/’ ‘\’ ‘.\’ ‘.*’ ‘./’

add, subtract

‘+’ ‘-’

colon

‘:’

relational

‘<’ ‘<=’ ‘==’ ‘>=’ ‘>’ ‘!=’ ‘~=’

element-wise "and"

‘&’

element-wise "or"

‘|’

logical "and"

‘&&’

logical "or"

‘||’

assignment

‘=’ ‘+=’ ‘-=’ ‘*=’ ‘/=’ ‘\=’‘^=’ ‘.*=’ ‘./=’ ‘.\=’ ‘.^=’ ‘|=’‘&=’

这些操作符从右向左分组。


版权所有 © 2024-2026 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号-4