MST

星途 面试题库

面试题:Fortran中运算符优先级相关问题

在Fortran语言中,设有表达式3 + 5 * 2 / (4 - 1) ** 2,按照Fortran运算符优先级规则,计算该表达式的结果,并详细说明每一步运算顺序。
28.1万 热度难度
编程语言Fortran

知识考点

AI 面试

面试题答案

一键面试
  1. 运算符优先级规则
    • 在Fortran语言中,运算符优先级从高到低为:
      • 指数运算 (**)
      • 乘除运算 (*/)
      • 加减运算 (+-)
  2. 计算过程
    • 第一步:计算指数部分
      • 表达式中有 (4 - 1) ** 2,先计算括号内 4 - 1 = 3,然后进行指数运算 3 ** 2 = 9
      • 原表达式变为 3 + 5 * 2 / 9
    • 第二步:计算乘除部分
      • 按照顺序,先计算乘法 5 * 2 = 10
      • 表达式变为 3 + 10 / 9
      • 接着计算除法 10 / 9,在Fortran中,如果都是整数类型,结果为整数,即 10 / 9 = 1(这里是整数除法取整)。
      • 表达式变为 3 + 1
    • 第三步:计算加法部分
      • 计算 3 + 1 = 4

所以,表达式 3 + 5 * 2 / (4 - 1) ** 2 的结果是 4