fortran fortran中文资料网
手气不错
Article

020.simpleIf_判断

2026年6月18日入门级

判断是最小的条件执行结构:条件表达式为真时执行一小段语句,为假时直接越过这一段。相关数学记号可写作(T > 37.3)T > 37.3

判断结构的核心是把一个能得到真或假的logical表达式放在if后面。Fortran不把普通整数自动当作真假条件,条件位置应写关系表达式、逻辑变量或逻辑表达式。

块状simple if的结构是if(条件)then开始,以end if结束。thenend if之间的语句属于受控语句块,只有条件为真时才执行。

  • 语法位置:if后面放条件表达式,then表示受控语句块开始。
  • 条件类型:条件表达式的结果应为logical,即.true..false.
  • 执行规则:同一次判断中,程序只沿着满足条件的路径继续。

本文代码

! 简单if用于条件成立时执行一小段语句。
program simpleIfDemo
  implicit none
  real :: temperatureCelsius

  temperatureCelsius=38.5

  print "(A)","简单if:"
  print "(A,F6.2)","温度=",temperatureCelsius
  if (temperatureCelsius>37.3) then
    print "(A)","判断结果:温度高于常用发热阈值。"
  end if
end program simpleIfDemo

编译运行

(base) hong@hongdeMacBook-Pro 020.simpleIf % gfortran exampleSimpleIf.f90
(base) hong@hongdeMacBook-Pro 020.simpleIf % ./a.out
简单if:
温度= 38.50
判断结果:温度高于常用发热阈值。

结果分析

本例先把temperatureCelsius设为38.5,然后用temperatureCelsius>37.3作为if条件。38.5>37.3,因此条件表达式的值为真,程序执行thenend if之间的输出语句。

如果把temperatureCelsius改成36.8,条件表达式会变为假,此时if块内部语句不会执行。simple if的重点不是“判断后一定输出”,而是“条件成立才执行被包住的语句”。

常见注意

  • 不要把if条件写成普通数值表达式;Fortran条件位置需要logical结果。
  • 多个else if分支有先后顺序,前面条件成立后,后面的分支不会再检查。
  • end if的作用是结束整个判断结构,不是结束某一条print语句。

知识点总结

  • 条件表达式的结果必须是logical,即真或假。
  • simple if只有一个受控语句块,没有else分支。
  • 当条件为假时,if块内部语句不执行,程序继续执行end if后面的语句。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注