主题:[讨论]请教:跳出循环的几个命令的区别?
wwpwwp
[专家分:0] 发布于 2011-03-17 20:09:00
[size=3]各位大侠:
我知道Fortran中跳出循环的两个命令为exit和cycle,exit表示跳出离命令最近的循环,cycle表示结束此次循环并开始下一次循环。请问我这样的说法对吗?
另外Fortran中有其他的关于跳出循环的命令吗,比如说continue、break之类的[/size]
回复列表 (共3个回复)
沙发
yeg001 [专家分:14390] 发布于 2011-03-17 23:09:00
楼主是C转过来的吗?
你对exit和cycle的理解没错. coutinue是fortran旧标准中使用但不是跳出循环的作用. break 我没见过在fortran中使用.
板凳
wwpwwp [专家分:0] 发布于 2011-03-18 09:40:00
[quote]楼主是C转过来的吗?
你对exit和cycle的理解没错. coutinue是fortran旧标准中使用但不是跳出循环的作用. break 我没见过在fortran中使用.[/quote]
谢谢!我本科学的的确是C语言,之后就一直用matlab了,只是现在课题需要得用Fortran。
3 楼
kikyomn [专家分:30] 发布于 2011-03-20 15:30:00
那天正好整理了下fortran 中几个命令的用途,贴出来大家看看有啥不对的地方。
1,goto
goto 在Fortran77中就流传下来了,它提供一个任意跳跃到所赋值行代码的位置,如果是在一个do 循环中如
do 30 i=1,N
if(……) goto 30
30 continue
上语句的意思就是如果符合if里的条件,则会进行下一次循环。
2,pause
pause的功能就能跟它的字面意思相同,程序执行到pause 时,会暂停执行,直到用户按下Enter键才会继续执行。
3. continue
continue这个命令没有实际的用途,它的功能就是 继续向下执行程序
4,stop
它可用来结束程序执行。
5,cycle
cycle命令可由略过循环的程序模块中,在cycle命令后面的所有程序代码,直接跳回循环的开头来进行下一次循环。
如
do floor=1,dest
if(floor==4) cycle
write(*,*) floor
end do
执行结果如下
1
2
3
5
6
……
6。exit
exit的功能是可以直接跳出一个正在进行的循环,不论是do 循环还是do while 循环。
我来回复