
- Fortran 教程
- Fortran - 首頁
- Fortran - 概述
- Fortran - 環境設定
- Fortran - 基本語法
- Fortran - 資料型別
- Fortran - 變數
- Fortran - 常量
- Fortran - 運算子
- Fortran - 決策
- Fortran - 迴圈
- Fortran - 數字
- Fortran - 字元
- Fortran - 字串
- Fortran - 陣列
- Fortran - 動態陣列
- Fortran - 派生資料型別
- Fortran - 指標
- Fortran - 基本輸入輸出
- Fortran - 檔案輸入輸出
- Fortran - 過程
- Fortran - 模組
- Fortran - 本質函式
- Fortran - 數值精度
- Fortran - 程式庫
- Fortran - 程式設計風格
- Fortran - 除錯程式
- Fortran 資源
- Fortran - 快速指南
- 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) 為假。 |
/= | .ne. | 檢查兩個運算元的值是否相等,如果不相等則條件為真。 | (A != B) 為真。 |
> | .gt. | 檢查左側運算元的值是否大於右側運算元的值,如果是則條件為真。 | (A > B) 為假。 |
< | .lt. | 檢查左側運算元的值是否小於右側運算元的值,如果是則條件為真。 | (A < B) 為真。 |
>= | .ge. | 檢查左側運算元的值是否大於或等於右側運算元的值,如果是則條件為真。 | (A >= B) 為假。 |
<= | .le. | 檢查左側運算元的值是否小於或等於右側運算元的值,如果是則條件為真。 | (A <= B) 為真。 |
邏輯運算子
Fortran 中的邏輯運算子僅對邏輯值 .true. 和 .false. 起作用。
下表顯示了 Fortran 支援的所有邏輯運算子。假設變數 A 持有 .true.,變數 B 持有 .false.,則:
運算子 | 描述 | 示例 |
---|---|---|
.and. | 稱為邏輯 AND 運算子。如果兩個運算元都不為零,則條件為真。 | (A .and. B) 為假。 |
.or. | 稱為邏輯 OR 運算子。如果兩個運算元中的任何一個不為零,則條件為真。 | (A .or. B) 為真。 |
.not. | 稱為邏輯 NOT 運算子。用於反轉其運算元的邏輯狀態。如果條件為真,則邏輯 NOT 運算子將使其為假。 | !(A .and. B) 為真。 |
.eqv. | 稱為邏輯等價運算子。用於檢查兩個邏輯值的等價性。 | (A .eqv. B) 為假。 |
.neqv. | 稱為邏輯非等價運算子。用於檢查兩個邏輯值的非等價性。 | (A .neqv. B) 為真。 |
Fortran 中的運算子優先順序
運算子優先順序決定了表示式中項的組合方式。這會影響表示式的計算方式。某些運算子的優先順序高於其他運算子;例如,乘法運算子的優先順序高於加法運算子。
例如,x = 7 + 3 * 2;這裡,x 被賦值為 13,而不是 20,因為運算子 * 的優先順序高於 +,所以它首先與 3*2 相乘,然後加到 7 中。
這裡,優先順序最高的運算子出現在表格的頂部,優先順序最低的出現在底部。在表示式中,優先順序較高的運算子將首先計算。
類別 | 運算子 | 結合性 |
---|---|---|
邏輯 NOT 和負號 | .not. (-) | 從左到右 |
冪運算 | ** | 從左到右 |
乘法 | * / | 從左到右 |
加法 | + - | 從左到右 |
關係 | < <= > >= | 從左到右 |
相等 | == /= | 從左到右 |
邏輯 AND | .and. | 從左到右 |
邏輯 OR | .or. | 從左到右 |
賦值 | = | 從右到左 |
廣告