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. 检查两个操作数的值是否相等,如果是则条件为真. (A == B) 不正确.
    /= .ne. 检查两个操作数的值是否相等,如果值不相等则条件为真. (A != B) 是真的.
    > .gt. 检查左操作数的值是否大于右操作数的值,如果是,则条件为真. (A > B) 不正确.
    < .lt. 检查左操作数的值是否小于右操作数的值,如果是则条件为真. (A < B) 为真.
    >= .ge. 检查左操作数的值是否大于或等于右操作数的值,如果是则条件为真. (A >= B) 不正确.
    <= .le. 检查左操作数的值是否小于或等于右操作数的值,如果是则条件为真. (A <= B) 是真的.
  • 逻辑运算符

    Fortran 中的逻辑运算符仅适用于逻辑值 .true.和.false.
    下表显示了 Fortran 支持的所有逻辑运算符. 假设变量 A 为 .true. 变量 B 为 .false. ,然后 -
    操作员 描述 例子
    .and. 称为逻辑与运算符. 如果两个操作数都不为零,则条件为真. (A .and. B) 是错误的.
    .or. 称为逻辑或运算符. 如果两个操作数中的任何一个不为零,则条件为真. (A.or.B) 是真的.
    .not. 称为逻辑非运算符. 用于反转其操作数的逻辑状态. 如果条件为真,则逻辑非运算符将为假. !(A .and. B) 是真的.
    .eqv. 称为逻辑等价运算符. 用于检查两个逻辑值的等价性. (A.eqv. B) 是错误的.
    .neqv. 称为逻辑非等价运算符. 用于检查两个逻辑值的不等价. (A .neqv. B) 是真的.
  • Fortran 中的运算符优先级

    运算符优先级确定表达式中术语的分组. 这会影响表达式的计算方式. 某些运算符的优先级高于其他运算符;例如,乘法运算符的优先级高于加法运算符.
    例如,x = 7 + 3 * 2;在这里,x 被赋值为 13,而不是 20,因为运算符 * 的优先级高于 +,所以它首先乘以 3*2,然后加到 7.
    在这里,具有最高优先级的运算符出现在表格的顶部,那些具有最低优先级的出现在底部. 在表达式中,优先级较高的运算符将首先被计算.
    类别 操作员 关联性
    逻辑非和负号 .not. (-) 左到右
    求幂 ** 左到右
    乘法 * / 左到右
    添加剂 + - 左到右
    关系型 < <= > >= 左到右
    平等 == /= 左到右
    逻辑与 .and. 左到右
    逻辑或 .or. 左到右
    任务 = 右到左