Fortran 語言的數(shù)據(jù)類型比較簡單,沒有像其他高級編程語言那樣分得那么細,主要分為整數(shù)型和實數(shù)型兩個大類。整數(shù)型的計算與 C、C++、Python 中有點類似,整數(shù)與整數(shù)的商還是一個整數(shù)。即使當不整除的時候,為了保持結(jié)果和參與運算的變量類型一致 Fortran 編譯器會只取正常數(shù)學運算結(jié)果的整數(shù)部分,如下示例所示。實數(shù)型其實與數(shù)學意義上的實數(shù)是一致的,既包括整數(shù)也包括小數(shù),所以當不整除的除法中的兩個變量有一個為實數(shù)型時,F(xiàn)ortran 編譯器會將兩個變量類型對應成實數(shù)型并計算出正常的帶小數(shù)的結(jié)果,如下示例所示。
因為所有變量都要在使用之前聲明類型,所以當屬于同一種類型時我們可以按照下面那樣寫在同一行,不同變量之間用逗號分隔開。為了代碼美觀,建議在逗號與后一個變量名之間留一個空格。
!!! 兩個整數(shù)型相除
integer x, y
x = 2
y = 3
print *, x/y ! 結(jié)果為 0
print *, y/x ! 結(jié)果為 1
!!! 被除數(shù)為實數(shù)型,除數(shù)為整數(shù)型
real m
integer n
m = 10
n = 3
print *, m/n ! 結(jié)果為 3.33333325
!!! 被除數(shù)為整數(shù)型,除數(shù)為實數(shù)型
integer m
real n
m = 10
n = 3
print *, m/n ! 結(jié)果為 3.33333325
!!! 被除數(shù)和除數(shù)均為實數(shù)型
real m, n
m = 10
n = 3
print *, m/n ! 結(jié)果為 3.33333325
實際上,F(xiàn)ortran 語言除了整數(shù)型和實數(shù)型兩個大類之外,還有一些小類,比如說復數(shù)類型、布爾類型、字符串類型。因為操作系統(tǒng)一般使用實數(shù)型或者復數(shù)類型時都默認采用單精度,如果需要使用雙精度則需要特殊聲明。所有數(shù)據(jù)類型總結(jié)如下:
數(shù)據(jù)類型 | 標識符 | 示例 |
---|---|---|
整數(shù)型 | integer | 2 |
實數(shù)型 | real | 2.0 |
雙精度實數(shù)型 | double precision | 2.0 |
復數(shù)型 | complex | (1.0, 2.0) |
雙精度復數(shù)型 | complex(kind(0d0)) | (1.0, 2.0) |
布爾型 | logical | true/false |
字符串型 | character | "Text" |
這里有一點值得十分注意:一個 Fortran 文件的變量聲明必須在最開始,如果多個變量聲明行之間摻雜了其他的操作行或者命令行,則后續(xù)的變量聲明將會無效,在編譯的過程中就會直接報錯。
更多建議: