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,輸出結果為: