Fortran if 语句

2023-12-29 14:55 更新

if 语句最简单的方式就是,将条件判断语句与执行语句放在同一行,如下所示。这也是因为执行语句比较短,放置在同一行反而代码更加美观。当然一般来说执行语句可能不是一行,甚至是多分支、多重的,因此也有单分支 if 语句、双分支 if 语句、多重 if 语句,如下所示。

!!! 最简单的 if 语句
if (条件) 执行语句

!!! 示例 6
integer n
integer i
n = 10
i = -4
if (i < 0) n = 5
print *, n


!!! 单分支 if 语句
if (条件) then
......
......
endif

!!! 示例 7
if (i < 0) then
n = 5
endif
print *, n


!!! 双分支 if 语句 (一般)
if (条件) then
......
else
......
endif

!!! 示例 8
if (i > 0) then
n = 8
else
n = 5
endif
print *, n


!!! 多重 if 语句
if (条件 1) then
.....
else if (条件 2) then
......
else
.....
endif
endif

!!! 示例 9
if (i > 0) then
n = 8
else if (i > -2) then
n = 6
else
n = 5
endif
endif
print *, n

在使用条件语句对条件变量进行比较判断时,除了我们常用的 >、< 之外,也有其他比较符号可以使用,如下表所示。

比较条件符号含义示例
==左边等于右边n == 10
/=左边不等于右边n /= 10
>左边大于右边n > 10
>=左边大于或等于右边n >=10
<左边小于右边n < 10
<=左边小于或等于右边n <= 10

当我们使用条件语句的时候还有一类使用场景,就是判断一个变量值是否在一个区间,即存在一个下限值和一个上限值。如果使用我们上述的 if 语句恐怕只有多重 if 语句才能满足我们的需求了,但是这代码写起来可能有点显得多余,毕竟我们在逻辑上是想要同时判断变量值与上下限值的大小。所以 Fortran 语言的 if 语句中也存在逻辑运算符 .and..or.  .not.,具体如下表所示。

逻辑运算符含义
条件 1 .and. 条件 2同时满足条件 1 和条件 2
条件 1 .or. 条件 2满足条件 1 和条件 2 之一即可
.not. 条件不满足条件,即满足条件的相反条件
!!! 示例 10
if (i < 0 .and. i > -2) then
n = 5
else
n = 10
endif
我们在其他高级编程语言中可能已经习惯了类似于 -2 < n < 0 这样的写法,有的时候在 Fortran 语言中也会不自觉地写成这样。但是在 Fortran 语言中这种写法是不被支持的,我们需要使用逻辑运算符 .and. 来把上下限值判断连接起来,而不能写在一起。
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号