codecamp

Fortran while 循环

通过上面的内容,不难发现上述的 do 循环确实看起来有点像 C、C++ 中的 For 循环,那么 Fortran 语言中是否也存在 while 循环呢?答案是当然了,其形式如下所示。

do while (条件)
......
......
enddo

!!! 示例 5
!!! 计算并输出 10,9,8,7,6,5,4,3,2,1 的平方
integer n
n = 10
do while (n > 0)
print *, n**2
n = n - 1
enddo

我们可以从示例 5 中发现,while 循环其实就是变化后的 do 循环。do 循环中判断条件紧跟着 do 字符串,当符合条件时进入循环体内部继续执行,否则跳出循环。while 循环中将 do 循环的初始值放置在了循环语句的前面进行声明,while 循环的条件中只有对于结束值的声明,而原来 do 循环的步长自增或自减操作则放置在了循环体中。这里有一点不同的是,如果自增或自减语句被放置在循环体的第一行,那么最后的执行结果就与 do 循环的不一致了。这是因为 do 循环实际上是在循环体执行完成后执行的步长自增或自减操作,而 while 循环中则可以自行设置自增或自减操作在循环体中的位置。


Fortran do 循环
Fortran if 语句
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }