常量指的是该程序不能在其执行期间改变的固定值。这些固定的值也被称为文字。
常量可以是任何像一个整数的基本数据类型的常量,浮点常量,字符常量,复杂的常量或一个字符串字面量。只有两个逻辑常量:.true. 和 .false.
常量被视为就像普通的变量,但它们的值无法定义后进行修改。
命名常量和文字
有两种类型的常量:
- 字面常量
- 命名常量
一个字面常量有值,但没有名字。
例如,以下是文字常量:
类型 | 例子 |
---|---|
整型常量 | 0 1 -1 300 123456789 |
实型常量 | 0.0 1.0 -1.0 123.456 7.1E+10 -52.715E-30 |
复数常量 | (0.0, 0.0) (-123.456E+30, 987.654E-29) |
逻辑常量 | .true. .false. |
字符常量 |
"PQR" "a" "123'abc$%#@!" " a quote "" " 'PQR' 'a' '123"abc$%#@!' ' an apostrophe '' ' |
命名常量的值和名称。
命名常量应该在程序或过程的开始声明,就像一个变量的类型声明,说明其名称和类型。命名常量与参数属性声明。例如,
real, parameter :: pi = 3.1415927
例子
下面的程序计算的位移,由于重力作用下垂直运动。
program gravitationalDisp ! this program calculates vertical motion under gravity implicit none ! gravitational acceleration real, parameter :: g = 9.81 ! variable declaration real :: s ! displacement real :: t ! time real :: u ! initial speed ! assigning values t = 5.0 u = 50 ! displacement s = u * t - g * (t**2) / 2 ! output print *, "Time = ", t print *, 'Displacement = ',s end program gravitationalDisp
当上述代码被编译和执行时,它产生了以下结果:
Time = 5.00000000 Displacement = 127.374992