Fortran語言提供了五種內(nèi)在數(shù)據(jù)類型,但是,也可以得到自己的數(shù)據(jù)類型。這五個(gè)固有的類型有:
整數(shù)類型只能容納整數(shù)值。下面的示例中提取,可以在通常為4字節(jié)整數(shù)保存最大值:
program testingInt implicit none integer :: largeval print *, huge(largeval) end program testingInt
當(dāng)編譯并執(zhí)行上述程序也將產(chǎn)生以下結(jié)果:
2147483647
需要注意的是huge()函數(shù),可以通過特定的整數(shù)數(shù)據(jù)類型可以保持的最大數(shù)目。還可以指定使用的字節(jié)數(shù)。下面的例子說明了這一點(diǎn):
program testingInt implicit none !two byte integer integer(kind=2) :: shortval !four byte integer integer(kind=4) :: longval !eight byte integer integer(kind=8) :: verylongval !sixteen byte integer integer(kind=16) :: veryverylongval !default integer integer :: defval print *, huge(shortval) print *, huge(longval) print *, huge(verylongval) print *, huge(veryverylongval) print *, huge(defval) end program testingInt
當(dāng)編譯并執(zhí)行上述程序,它會(huì)產(chǎn)生以下結(jié)果:
32767 2147483647 9223372036854775807 170141183460469231731687303715884105727 2147483647
它存儲(chǔ)的浮點(diǎn)數(shù),例如2.0,3.1415,-100.876等
傳統(tǒng)上有兩種不同的實(shí)際類型,默認(rèn)實(shí)型和雙精度型。
然而,F(xiàn)ortran語言90/95提供了更多的控制權(quán)實(shí)數(shù)和整數(shù)數(shù)據(jù)類型,通過種類說明,我們將在對(duì)數(shù)的章節(jié)研究精度。
下面的例子展示了如何使用實(shí)數(shù)類型:
program division implicit none ! Define real variables real :: p, q, realRes ! Define integer variables integer :: i, j, intRes ! Assigning values p = 2.0 q = 3.0 i = 2 j = 3 ! floating point division realRes = p/q intRes = i/j print *, realRes print *, intRes end program division
當(dāng)編譯并執(zhí)行上述程序也將產(chǎn)生以下結(jié)果:
0.666666687 0
這被用于存儲(chǔ)復(fù)數(shù)。一個(gè)復(fù)雜的數(shù)字有兩部分,實(shí)數(shù)部分和虛數(shù)部分。兩個(gè)連續(xù)的數(shù)字存儲(chǔ)單元存儲(chǔ)兩個(gè)部分。
例如,該復(fù)數(shù)(3.0,-5.0)等于3.0 - 5.0i
我們將更詳細(xì)地討論復(fù)雜類型,在數(shù)字章節(jié)。
只有兩個(gè)邏輯值:.true. 和.false
字符類型存儲(chǔ)字符和字符串。字符串的長度可以通過len個(gè)符來指定。如果沒有指定長度,它是1。
例如,
character (len=40) :: name name = “Zara Ali”
表達(dá)式name(1:4)將得到的子串“Zara”。
Fortran語言的舊版本允許一個(gè)叫做隱式類型,也就是說,不必在使用前聲明變量的功能。如果一個(gè)變量沒有聲明,則其名稱為第一個(gè)字母,將確定其類型。
其中i的變量名以 i, j, k, l, m, 或 n 開始,被認(rèn)為是為整數(shù)變量,其余都是實(shí)型變量。但是,必須聲明所有的變量,因?yàn)樗橇己玫木幊塘?xí)慣。開始程序如下:
implicit none
這條語句將關(guān)閉隱式類型。