位置:首頁 > 高級語言 > Fortran教學 > Fortran運算符

Fortran運算符

運算符是一個符號,它告訴編譯器執行特定的數學或邏輯操作。 Fortran語言為運算符提供了以下幾種類型:

  • 算術運算符
  • 關係運算符
  • 邏輯運算符

讓我們一個接一個來看看所有這些類型的運算符。

算術運算符

下表列出了所有Fortran語言支持的算術運算符。假設變量A=5和變量B=3則:

查看示例

運算符 描述 例子
+ 加法運算符,相加兩個操作數。 A + B = 8
- 減法運算,第一減去第二操作數。 A - B = 2
* 乘法運算符,相乘兩個操作數。 A * B = 15
/ 除法運算符,通過分子除以分母。 A / B = 1
** 乘方運算,計算一個操作數的冪。 A ** B = 125

關係運算符

下表列出了所有Fortran語言支持的關係運算符。假設變量A=10和變量B=20,則:

查看示例

操作符 等量 描述 示例
== .eq. 檢查兩個操作數的值相等與否,如果是,則條件變為真。 (A == B) 不為 true.
/= .ne. 檢查,兩個操作數的值相等與否,如果值不相等,則條件變為真。 (A != B) 為 true.
> .gt. 檢查,左操作數的值是否大於右操作數的值,如果是的話那麼條件為真。 (A > B) 不為true.
< .lt. 檢查,左操作數的值是否小於右操作數的值,如果是的話那麼條件為真。 (A < B) 為 true.
>= .ge. 檢查,左邊的操作數的值是否大於或等於右操作數的值,如果是,則條件變為真。 (A >= B) 不為 true.
<= .le. 檢查,左邊的操作數的值是否小於或等於右操作數的值,如果是,則條件變為真。 (A <= B) 為 true.

邏輯運算符

邏輯運算符在Fortran語言工作隻能在邏輯值.true. 和.false。

下麵的表列出了所有由Fortran語言支持的邏輯運算符。假設變量A=.true。和變量B=.false ,則:

查看示例

操作符 描述 示例
.and. 所謂邏輯與運算符。如果這兩個操作數都為非零,則條件變為真。 (A .and. B) 為 false.
.or. 所謂邏輯OR運算符。如果有兩個操作數不為零,則條件變為真。 (A .or. B) 為 true.
.not. 所謂邏輯非運算符。使用反轉操作數的邏輯狀態。如果條件為真,則邏輯非運算符將返回false。 !(A .and. B) 為 true.
.eqv. 所謂邏輯上相當於運算符。用於檢查兩個邏輯值等價。 (A .eqv. B) 為 false.
.neqv. 所謂邏輯非對等操作。用於檢查兩個邏輯值的非對等。 (A .neqv. B) 為 true.

Fortran語言運算符優先級

運算符優先級來確定條件的表達式中的分組。這會影響一個表達式的求值。某些運算符的優先級高於其他;例如,乘法運算符的優先級比加法運算符更高。

例如x= 7+ 3* 2;這裡,x被賦值13,而不是20,因為運算符*的優先級高於+,所以它首先被乘以3 * 2,然後再加上7。

這裡,具有最高優先級運算符出現在表的頂部,那些具有最低出現在底部。在一個表達式,更高的優先級運算符將首先計算。

查看示例

分類 運算符 關聯
邏輯NOT和負號 .not. (-) 從左到右
** 從左到右
* / 從左到右
+ - 從左到右
關係 < <= > >= 從左到右
相等 == != 從左到右
邏輯與 .and. 從左到右
邏輯或 .or. 從左到右
賦值 = 從右到左