📅  最后修改于: 2020-11-04 06:12:48             🧑  作者: Mango
Fortran提供了五种内部数据类型,但是,您也可以派生自己的数据类型。五个固有类型是-
整数类型只能容纳整数值。以下示例提取了可以保存在通常的四个字节整数中的最大值-
program testingInt
implicit none
integer :: largeval
print *, huge(largeval)
end program testingInt
当您编译并执行上述程序时,它将产生以下结果-
2147483647
请注意, huge()函数给出了可以由特定整数数据类型保存的最大数字。您还可以使用种类说明符指定字节数。以下示例演示了这一点-
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
当您编译并执行上述程序时,它将产生以下结果-
32767
2147483647
9223372036854775807
170141183460469231731687303715884105727
2147483647
它存储浮点数,例如2.0、3.1415,-100.876等。
传统上有两种不同的实类型,默认实类型和双精度类型。
但是,Fortran 90/95通过种类说明符可以更好地控制实数和整数数据类型的精度,我们将在数字一章中进行研究。
以下示例显示了真实数据类型的使用-
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
当您编译并执行上述程序时,它将产生以下结果-
0.666666687
0
这用于存储复数。复数有两个部分,实部和虚部。两个连续的数字存储单元存储这两个部分。
例如,复数(3.0,-5.0)等于3.0 – 5.0i
我们将在数字一章中更详细地讨论复杂类型。
只有两个逻辑值: .true。和.false。
字符类型存储字符和字符串。字符串的长度可以由len说明符指定。如果未指定长度,则为1。
例如,
character (len = 40) :: name
name = “Zara Ali”
表达式name(1:4)将给出子字符串“ Zara”。
较早版本的Fortran允许使用一种称为隐式键入的功能,即,您不必在使用前声明变量。如果未声明变量,则其名称的第一个字母将确定其类型。
以i,j,k,l,m或n开头的变量名称被认为是整数变量,而其他则是实数变量。但是,您必须声明所有变量,因为这是良好的编程习惯。为此,您可以使用以下语句启动程序:
implicit none
该语句关闭隐式键入。