do循环结构使得一个语句或一系列语句,以进行迭代,当一个给定的条件为真。
语法
do循环的一般形式是:
do var = start, stop [,step]
! statement(s)
…
end do
这里,
- 循环变量var应该是一个整数
- start 是初始值
- stop 是最终值
- 步骤step是递增,如果此被省略,则变量var以单位增加
跳出循环
Fortran中跳出循环的两个命令为exit和cycle,exit表示跳出离命令最近的循环,cycle表示结束此次循环并开始下一次循环。
pause:程序执行到pause 时,会暂停执行,直到用户按下Enter键才会继续执行。
continue这个命令没有实际的用途,它的功能就是继续向下执行程序,相当于python中的pass。
stop用来结束程序执行。
cycle命令可由略过循环的程序模块中,相当于python和C中的continue,直接跳过后面的所有代码,然后开始下一次循环。
exit的功能是可以直接跳出一个正在进行的循环,不论是do 循环还是do while 循环,相当于python和C中的break。
1 program sime 2 3 implicit none 4 integer :: tn 5 6 tn=2 7 print_tn : do 8 print *, tn 9 tn = tn+2 10 if (tn>=200) exit print_tn 11 end do print_tn 12 pause 13 14 end
1 program odd_num 2 3 implicit none 4 integer :: num,num_odd 5 print *, 'Input data number:' 6 read *,num 7 8 num_odd = 0 9 10 do 11 num = num - 1 12 13 if (num<0) then 14 exit 15 elseif (mod(num,2)==0) then 16 cycle 17 else 18 num_odd = num_odd + 1 19 endif 20 21 22 print *, num 23 enddo 24 25 print *, 'The number of odd number is',num_odd 26 27 pause 28 29 end
如果输入20,输出结果为: