運算符是一個符號,它告訴編譯器執(zhí)行特定的數(shù)學(xué)或邏輯操作。 Fortran語言為運算符提供了以下幾種類型:
讓我們一個接一個來看看所有這些類型的運算符。
下表列出了所有Fortran語言支持的算術(shù)運算符。假設(shè)變量A=5和變量B=3則:
運算符 | 描述 | 例子 |
---|---|---|
+ | 加法運算符,相加兩個操作數(shù)。 | A + B = 8 |
- | 減法運算,第一減去第二操作數(shù)。 | A - B = 2 |
* | 乘法運算符,相乘兩個操作數(shù)。 | A * B = 15 |
/ | 除法運算符,通過分子除以分母。 | A / B = 1 |
** | 乘方運算,計算一個操作數(shù)的冪。 | A ** B = 125 |
下表列出了所有Fortran語言支持的關(guān)系運算符。假設(shè)變量A=10和變量B=20,則:
操作符 | 等量 | 描述 | 示例 |
---|---|---|---|
== | .eq. | 檢查兩個操作數(shù)的值相等與否,如果是,則條件變?yōu)檎妗?/td> | (A == B) 不為 true. |
/= | .ne. | 檢查,兩個操作數(shù)的值相等與否,如果值不相等,則條件變?yōu)檎妗?/td> | (A != B) 為 true. |
> | .gt. | 檢查,左操作數(shù)的值是否大于右操作數(shù)的值,如果是的話那么條件為真。 | (A > B) 不為true. |
< | .lt. | 檢查,左操作數(shù)的值是否小于右操作數(shù)的值,如果是的話那么條件為真。 | (A < B) 為 true. |
>= | .ge. | 檢查,左邊的操作數(shù)的值是否大于或等于右操作數(shù)的值,如果是,則條件變?yōu)檎妗?/td> | (A >= B) 不為 true. |
<= | .le. | 檢查,左邊的操作數(shù)的值是否小于或等于右操作數(shù)的值,如果是,則條件變?yōu)檎妗?/td> | (A <= B) 為 true. |
邏輯運算符在Fortran語言工作只能在邏輯值.true. 和.false。
下面的表列出了所有由Fortran語言支持的邏輯運算符。假設(shè)變量A=.true。和變量B=.false ,則:
操作符 | 描述 | 示例 |
---|---|---|
.and. | 所謂邏輯與運算符。如果這兩個操作數(shù)都為非零,則條件變?yōu)檎妗?/td> | (A .and. B) 為 false. |
.or. | 所謂邏輯OR運算符。如果有兩個操作數(shù)不為零,則條件變?yōu)檎妗?/td> | (A .or. B) 為 true. |
.not. | 所謂邏輯非運算符。使用反轉(zhuǎn)操作數(shù)的邏輯狀態(tài)。如果條件為真,則邏輯非運算符將返回false。 | !(A .and. B) 為 true. |
.eqv. | 所謂邏輯上相當(dāng)于運算符。用于檢查兩個邏輯值等價。 | (A .eqv. B) 為 false. |
.neqv. | 所謂邏輯非對等操作。用于檢查兩個邏輯值的非對等。 | (A .neqv. B) 為 true. |
運算符優(yōu)先級來確定條件的表達(dá)式中的分組。這會影響一個表達(dá)式的求值。某些運算符的優(yōu)先級高于其他;例如,乘法運算符的優(yōu)先級比加法運算符更高。
例如x= 7+ 3* 2;這里,x被賦值13,而不是20,因為運算符*的優(yōu)先級高于+,所以它首先被乘以3 * 2,然后再加上7。
這里,具有最高優(yōu)先級運算符出現(xiàn)在表的頂部,那些具有最低出現(xiàn)在底部。在一個表達(dá)式,更高的優(yōu)先級運算符將首先計算。
分類 | 運算符 | 關(guān)聯(lián) |
---|---|---|
邏輯NOT和負(fù)號 | .not. (-) | 從左到右 |
冪 | ** | 從左到右 |
乘 | * / | 從左到右 |
加 | + - | 從左到右 |
關(guān)系 | < <= > >= | 從左到右 |
相等 | == != | 從左到右 |
邏輯與 | .and. | 從左到右 |
邏輯或 | .or. | 從左到右 |
賦值 | = | 從右到左 |