运算符优先级确定在一个表达式中出现不同运算符时,运算符的分组方式。例如*的优先级高于+’. 因此,表达式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-2025 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号-2