fortran 佛说如是甚深经典。我从昔来所得慧眼。未曾得闻如是之经。
手气不错
Article

009.logicalAndRelationalOperators_逻辑类型与关系运算符

2026年5月13日入门级

逻辑类型logical用以保存判断结果,适合表示数学命题是否成立、矩阵是否奇异、物理实验条件是否满足、工程开关是否打开、传感器是否在线、阀门是否关闭、温度是否超过设定值、迭代是否收敛、数据是否有效等真假状态。

本文代码

program logicalDemo
  implicit none
  real :: pi ! real类型定义圆周率近似值
  real :: e ! real类型定义自然底数近似值
  logical :: isPiGreaterThanE ! logical类型保存pi是否大于e的判断结果
  logical :: isPiEqualE ! logical类型保存pi是否等于e的判断结果

  pi=3.14
  e=2.71
  isPiGreaterThanE=pi>e ! pi大于e,关系表达式返回.true.
  isPiEqualE=pi==e ! pi不等于e,相等表达式返回.false.

  print *,"logical逻辑类型:"
  print *,"pi=",pi
  print *,"e=",e
  print *,"isPiGreaterThanE=",isPiGreaterThanE
  print *,"isPiEqualE=",isPiEqualE
  print *,"2.eq.2=",2 .eq. 2
  print *,"2.ne.1=",2 .ne. 1
  print *,"2.lt.1=",2 .lt. 1
  print *,"2.le.2=",2 .le. 2
  print *,"2.gt.1=",2 .gt. 1
  print *,"2.ge.3=",2 .ge. 3
end program logicalDemo

编译运行

(base) hong@hongdeMacBook-Pro 009.logical % gfortran exampleLogical.f90
(base) hong@hongdeMacBook-Pro 009.logical % ./a.out
logical逻辑类型:
pi= 3.14000010
e= 2.71000004
isPiGreaterThanE= T
isPiEqualE= F
2.eq.2= T
2.ne.1= T
2.lt.1= F
2.le.2= T
2.gt.1= T
2.ge.3= F
(base) hong@hongdeMacBook-Pro 009.logical %
结果分析

  • 输出单精度实数pi和e的近似值。
  • isPiGreaterThanE=T对应代码isPiGreaterThanE=pi>e,因为3.14>2.71,成立,True。
  • isPiEqualE=F对应代码isPiEqualE=pi==e,是对pi==e做真假判断赋值给isPiEqualE,不成立,False。
  • 以下列举了点式关系运算符,务必熟记。
点式关系运算符关系运算符英文原义中文释义原式举例原式结果
.eq.==equal等于2.eq.2T
.ne.not equal不等于2.ne.1T
.lt.<less than小于2.lt.1F
.le.<=less than or equal小于等于2.le.2T
.gt.>greater than大于2.gt.1T
.ge.>=greater than or equal大于等于2.ge.3F

知识点总结

  • 逻辑常量只有两个——".true."和".false.",而且fortran不允许使用C语言的define false true或define true false重新定义成相反逻辑。
  • 关系表达式会返回逻辑值。
  • 大于等于或小于等于在判断中满足其中任意一条即成立为真,如2.le.2返回.true.

发表回复

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