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

实例
此实例打印数字 11 到 20:
program printNumimplicit none! define variablesinteger :: ndo n = 11, 20! printing the value of nprint*, nend doend program printNum
结果为:
11121314151617181920
实例2
此程序计算数字 1 到 10 的阶乘:
program factorialimplicit none! define variablesinteger :: nfact = 1integer :: n! compute factorialsdo n = 1, 10nfact = nfact * n! print valuesprint*, n, " ", nfactend doend program factorial