Fortran - do 循环构造
-
简述
do 循环结构允许在给定条件为真时迭代地执行一个语句或一系列语句。 -
句法
do循环的一般形式是 -do var = start, stop [,step] ! statement(s) … end do
在哪里,-
循环变量 var 应该是一个整数
-
start 是初始值
-
停止是最终值
-
step 是增量,如果省略,则变量 var 增加单位
-
-
例如
! 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 进行初始化。
-
接下来,评估条件。如果为真,则执行循环体。如果为假,则不执行循环体,控制流跳转到循环之后的下一条语句。在我们的例子中,条件是变量 var 达到其最终值 stop。
-
循环体执行后,控制流跳回到增量语句。此语句允许您更新循环控制变量 var。
-
现在再次评估条件。如果为真,则执行循环并重复该过程(循环体,然后递增步骤,然后再次条件)。条件变为假后,循环终止。
-
-
示例 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