Fortran 运算符

运算符是告诉编译器执行特定数学或逻辑操作的符号。

Fortran 提供以下类型的运算符:

  • 算术运算符
  • 关系运算符
  • 逻辑运算符

让我们逐一看看所有这些类型的运算符。


算术运算符

下表显示了 Fortran 支持的所有算术运算符。假设变量 A 为 5,变量 B 为 3,则:

运算符描述实例
+加法运算符,将两个操作数相加。A + B = 8
-减法运算符,从第一个操作数中减去第二个操作数。A - B = 2
*乘法运算符,将两个操作数相乘。A * B = 15
/除法运算符,将分子除以去分子。A / B = 1
**指数运算符,将一个操作数提升到另一个的幂次。A ** B = 125

关系运算符

下表显示了 Fortran 支持的所有关系运算符。假设变量 A 为 10,变量 B 为 20,则:

运算符等同于描述实例
==.eq.检查两个操作数的值是否相等,如果相等,则条件变为 true。(A == B) 为 true
/=.ne.检查两个操作数的值是否相等,如果值不相等,则条件变为 true。(A != B) 为 true
>.gt.检查左操作数值是否大于右操作数值,如果是,则条件变为 true。(A > B) 不为 true
<.lt.检查左操作数值是否小于右操作数值,如果是,则条件变为 true。(A < B) 为 true
>=.ge.检查左操作数值是否大于或等于右操作数值,如果是,则条件变为 true。(A >= B) 不为 true
<=.le.检查左操作数值是否小于或等于右操作数值,如果是,则条件变为 true。(A <= B) 为 true

逻辑运算符

Fortran 中的逻辑运算符仅对逻辑值有效 .true..false.

下表显示了 Fortran 支持的所有逻辑运算符。假设变量 A 成立 .true. 变量 B 为 .false.,然后

运算符描述实例
.and.称为逻辑与运算符。如果两个操作数都为非零,则条件变为 true。(A .and. B) 为 false
.or.称为逻辑或运算符。如果两个操作数中的任何一个为非零,则条件变为 true。(A .or. B) 为 true.
.not.称为逻辑非运算符。用于反转其操作数的逻辑状态。如果条件为 true,则逻辑非运算符将为 false。!(A .and. B) 为 true
.eqv.称为逻辑等价运算符。用于检查两个逻辑值的等价性。(A .eqv. B) 为 false
.neqv.称为逻辑非等价运算符。用于检查两个逻辑值的不等价性。(A .neqv. B) 为 true

Fortran 中运算符的优先级

运算符优先级决定了表达式中术语的分组。这会影响表达式的求值方式。某些运算符的优先级高于其他运算符;例如乘法运算符比加法运算符具有更高的优先级。

例如,x=7+3*2;这里,x 被赋值为 13,而不是 20,因为运算符 * 的优先级高于+,所以它首先乘以 3*2,然后加上 7。

在这里,优先级最高的运算符显示在表的顶部,优先级最低的运算符出现在底部。在表达式中,优先级较高的运算符将首先被计算。

类别运算符结合性
逻辑非和负号.not. (-)从左到右
指数**从左到右
相乘* /从左到右
+ -从左到右
关联< <= > >=从左到右
等于== /=从左到右
逻辑和.and.从左到右
逻辑或.or.从左到右
赋值=从左到右

分类导航