如果构造

if 构造(在 FORTRAN 77 中称为块 IF 语句)在许多编程语言中很常见。当逻辑表达式计算为 true 时,它有条件地执行一个代码块。

[name:] IF (expr) THEN
    block
[ELSE IF (expr) THEN [name]
    block]
[ELSE [name]
   block]
END IF [name]

哪里,

  • name - if 结构的名称(可选)
  • expr - 括在括号中的标量逻辑表达式
  • block - 零个或多个语句或结构的序列

if then 语句开头的构造名称必须与 end if 语句中的构造名称具有相同的值,并且它对于当前作用域单元应该是唯一的。

if 语句中,(in)评估语句的等式和逻辑表达式可以与以下运算符一起使用:

.LT.  which is <   ! less than
.LE.           <=  ! less than or equal
.GT.           >   ! greater than
.GE.           >=  ! greater than or equal
.EQ.           =   ! equal
.NE.           /=  ! not equal
.AND.              ! logical and
.OR.               ! logical or
.NOT.              ! negation

例子:

! simplest form of if construct
if (a > b) then
    c =  b / 2
end if
!equivalent example with alternate syntax
if(a.gt.b)then
   c=b/2
endif

! named if construct
circle: if (r >= 0) then
    l = 2 * pi * r
end if circle

! complex example with nested if construct
block: if (a < e) then
    if (abs(c - e) <= d) then
        a = a * c
    else
        a = a * d
    end if
else
    a = a * e
end if block

if 构造的历史用法是所谓的“算术 if”语句。但是,由于这可以被更现代的结构所取代,因此这里没有涉及。更多细节可以在这里找到。