Fortran 数据类型与变量声明

2023-12-29 14:54 更新

Fortran 语言的数据类型比较简单,没有像其他高级编程语言那样分得那么细,主要分为整数型和实数型两个大类。整数型的计算与 C、C++、Python 中有点类似,整数与整数的商还是一个整数。即使当不整除的时候,为了保持结果和参与运算的变量类型一致 Fortran 编译器会只取正常数学运算结果的整数部分,如下示例所示。实数型其实与数学意义上的实数是一致的,既包括整数也包括小数,所以当不整除的除法中的两个变量有一个为实数型时,Fortran 编译器会将两个变量类型对应成实数型并计算出正常的带小数的结果,如下示例所示。

因为所有变量都要在使用之前声明类型,所以当属于同一种类型时我们可以按照下面那样写在同一行,不同变量之间用逗号分隔开。为了代码美观,建议在逗号与后一个变量名之间留一个空格。

!!! 两个整数型相除
integer x, y
x = 2
y = 3
print *, x/y ! 结果为 0
print *, y/x ! 结果为 1

!!! 被除数为实数型,除数为整数型
real m
integer n
m = 10
n = 3
print *, m/n ! 结果为 3.33333325

!!! 被除数为整数型,除数为实数型
integer m
real n
m = 10
n = 3
print *, m/n ! 结果为 3.33333325

!!! 被除数和除数均为实数型
real m, n
m = 10
n = 3
print *, m/n ! 结果为 3.33333325

实际上,Fortran 语言除了整数型和实数型两个大类之外,还有一些小类,比如说复数类型、布尔类型、字符串类型。因为操作系统一般使用实数型或者复数类型时都默认采用单精度,如果需要使用双精度则需要特殊声明。所有数据类型总结如下:

数据类型标识符示例
整数型integer2
实数型real2.0
双精度实数型double precision2.0
复数型complex(1.0, 2.0)
双精度复数型complex(kind(0d0))(1.0, 2.0)
布尔型logicaltrue/false
字符串型character"Text"

这里有一点值得十分注意:一个 Fortran 文件的变量声明必须在最开始,如果多个变量声明行之间掺杂了其他的操作行或者命令行,则后续的变量声明将会无效,在编译的过程中就会直接报错。

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号