Fortran - Do 循环构造
当给定条件为真时,do 循环结构允许迭代执行一条语句或一系列语句。
语法
do 循环的一般形式是 −
do var = start, stop [,step] ! statement(s) … end do
其中,
循环变量 var 应该是一个整数
start为初始值
stop是最终值
step是增量,如果省略,则变量var增加单位
For example
! 计算阶乘 do n = 1, 10 nfact = nfact * n ! 打印 n 的值及其阶乘 print*, n, " ", nfact end do
流程图
这是 do 循环结构的控制流程 −
首先执行初始步骤,并且仅执行一次。 此步骤允许您声明和初始化任何循环控制变量。 在我们的例子中,变量 var 使用值 start 进行初始化。
接下来,评估条件。 如果为 true,则执行循环主体。 如果为 false,则循环体不会执行,控制流会跳转到循环后的下一条语句。 在我们的例子中,条件是变量 var 达到其最终值 stop。
执行循环体后,控制流跳回增量语句。 该语句允许您更新循环控制变量var。
现在再次评估条件。 如果为 true,则执行循环并重复该过程(循环主体,然后递增步骤,然后再次条件)。 当条件变为 false 后,循环终止。
示例 1
此示例打印数字 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
当上面的代码被编译并执行时,会产生以下结果 −
1 1 2 2 3 6 4 24 5 120 6 720 7 5040 8 40320 9 362880 10 3628800