3.2 DO循环结构
[name:] do [label[,]] [loop_control] block [label] term_stmt [name]
block为循环体,即重复执行的语句部分; term_stmt为循环终端语句,可谓CONTINUE 或者ENDDO,也可以是允许的其他可执行语句;
3.2 DO循环结构
do while(e) …… …… …… end do
逻辑表达式成立时,执行循环
do while循环执行过程
3.2 DO循环结构
例:使用DO WHILE循环计算2+4+6+8+10
program ex0604 implicit none integer, parameter :: limit=10 ! 计数器的上限 integer counter ! 计数器 integer :: ans = 0 ! 拿来累加使用 counter = 2 ! 设定计数器初值 do while( counter <= limit ) ans = ans + counter counter = counter + 2 ! 计数器累加 end do write(*,*) ans stop end
3.2 DO循环结构
FORTRAN 77经常用CONTINUE来结束程序
100
do 100, counter=2, limit, 2 ans=ans+counter continue
3.2 DO循环结构
Do i=e1, e2 [, e3]
1) 计数增值e3可以为负数,则终值e2必须小于起始 值,才能循环。例: do i=10, 1, -1 write (*, *) I end do 作计数器的变量I, 在循环的程序模块中不能再使 用命令来改变它的数值, 不然在编译中会发生 错误 do i=1, 10 i=i+1 end do