Fortran if 語句

2023-12-29 14:55 更新

if 語句最簡單的方式就是,將條件判斷語句與執(zhí)行語句放在同一行,如下所示。這也是因為執(zhí)行語句比較短,放置在同一行反而代碼更加美觀。當然一般來說執(zhí)行語句可能不是一行,甚至是多分支、多重的,因此也有單分支 if 語句、雙分支 if 語句、多重 if 語句,如下所示。

!!! 最簡單的 if 語句
if (條件) 執(zhí)行語句

!!! 示例 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

當我們使用條件語句的時候還有一類使用場景,就是判斷一個變量值是否在一個區(qū)間,即存在一個下限值和一個上限值。如果使用我們上述的 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
我們在其他高級編程語言中可能已經(jīng)習(xí)慣了類似于 -2 < n < 0 這樣的寫法,有的時候在 Fortran 語言中也會不自覺地寫成這樣。但是在 Fortran 語言中這種寫法是不被支持的,我們需要使用邏輯運算符 .and. 來把上下限值判斷連接起來,而不能寫在一起。
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號