Fortran Do 循环语句
do 循环语句可以在给定条件为 true 时迭代执行一条语句或一系列语句。
语法
do 循环的一般形式是:
do var = start, stop [,step]
! statement(s)
…
end do
- 循环变量
var
应该是整数 start
是初始值stop
是最终值step
是增量,如果省略此项,则变量var
将增加 1
实例
! compute factorials
do n = 1, 10
nfact = nfact * n
! printing the value of n and its factorial
print*, n, " ", nfact
end do
流程图
这是 do 循环构造的控制流程:
- 首先执行初始步骤,并且只执行一次。此步骤可以声明和初始化任何循环控制变量。在我们的例子中,变量
var
被初始化为start
。 - 接下来,对条件进行判断。如果为 true,则执行循环体。如果为 false,循环体将不执行,控制流将跳到循环后的下一个语句。在我们的例子中,条件是变量
var
达到其最终值stop
。 - 循环体执行后,控制流跳回到增量语句。此语句允许您更新循环控制变量
var
。 - 现在再次判断条件。如果为 true,则执行循环并重复该过程(循环体,然后递增步长,然后再次条件)。条件变为 false 后,循环终止。
实例
此实例打印数字 11 到 20:
program printNum
implicit none
! define variables
integer :: n
do n = 11, 20
! printing the value of n
print*, n
end do
end program printNum
结果为:
11
12
13
14
15
16
17
18
19
20
实例2
此程序计算数字 1 到 10 的阶乘:
program factorial
implicit none
! define variables
integer :: nfact = 1
integer :: n
! compute factorials
do n = 1, 10
nfact = nfact * n
! print values
print*, n, " ", nfact
end do
end program factorial