运算符优先级决定了当同一表达式中出现不同运算符时,运算符的分组方式。例如,*的优先级高于+。因此,表达式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 中运算符的表格,按优先级从高到低排列。除非另有说明,所有运算符均从左到右分组。
函数调用、数组索引、元胞数组索引和结构体元素索引‘()’ ‘{}’ ‘.’
后缀递增和后缀递减‘++’ ‘--’
这些运算符从右向左分组。
转置和幂运算‘'’ ‘.'’ ‘^’ ‘.^’
一元正号、一元负号、前缀递增、前缀递减和逻辑"非"‘+’ ‘-’ ‘++’ ‘--’ ‘~’ ‘!’
乘法和除法‘*’ ‘/’ ‘\’ ‘.\’ ‘.*’ ‘./’
加法和减法‘+’ ‘-’
冒号‘:’
关系运算符‘<’ ‘<=’ ‘==’ ‘>=’ ‘>’ ‘!=’ ‘~=’
逐元素"与"‘&’
逐元素"或"‘|’
逻辑"与"‘&&’
逻辑"或"‘||’
赋值‘=’ ‘+=’ ‘-=’ ‘*=’ ‘/=’ ‘\=’ ‘^=’ ‘.*=’ ‘./=’ ‘.\=’ ‘.^=’ ‘|=’ ‘&=’
这些运算符从右向左分组。
版权所有 © 2024-2026 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号-4