如果构造
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”语句。但是,由于这可以被更现代的结构所取代,因此这里没有涉及。更多细节可以在这里找到。