循环
DO循环
DO
...
IF(逻辑表达式) EXIT
...
END DO
在DO和END DO之间的语句重复执行,知到逻辑表达式为真,执行EXIT语句。
每个DO循环只能包含一条EXIT语句。
DO WHILE循环
DO WHILE(逻辑表达式)
...
...
...
...
END DO
与DO循环差不多,必须在顶部进行退出测试,因此相比之下DO循环更灵活方便。
注意:不要使用DO WHILE循环,而是使用更一般的DO循环。
迭代或计数循环
DO index=istart, iend, incr
语句1
...
语句n
END DO
- istart, iend, incr分别为计数开始值,计数结束值,计数增量,均为整型变量。
- incr不是必须的,若没有,默认为1。
- istart, iend, incr可以是常量、变量、表达式。
- DO循环执行条件为indexincr≤iendincr.
- 不要在循环体内部改变循环控制变量的值,istart, iend, incr应该在循环开始之前确定不变。
- 不要依赖循环结束输出的循环控制变量的值,因为这三个变量往往是不确定的。
CYCLE和EXIT语句
CYCLE语句
CYCLE语句在DO循环体内执行,当前这一步循环终止,控制返回到循环的顶部。
EXIT语句
EXIT语句在DO循环体内执行,整个循环执行终止,开始执行END DO后的第一条语句。
命名的循环
outer:DO i = 1, 3
inner:DO j = 1, 3
product = i * j
WRITE(*,*) i,'*',j,'=',product
END DO inner
END DO outer
多个循环嵌套,可给循环命名,以方便理解和调试。