
f95后缀名是野没Fortran95源代码文件的常见文件扩展名。Fortran是一种编程语言,.f95文件扩展名指的是使用Fortran95语言编写的源代码文件。Fortran95是Fortran编程语言的一种变体,是Fortran90的后继版本,引入了一些新的颂脊纳特性和改进,包括模块化编程、动态内存分配、更好的字符串处理能力等。在编写Fortran95程序时,通常野蚂使用.f95文件扩展名来标识源代码文件。“k=5”是将5赋值给k,“do i=1,5”是循环开始,i从1到5,12345这是省略写法,完整的是“i=1,5,1”,最后一个1是说每次增加的个数,i只能是整数,因为一般默认增加的数为1,
所以省略了1;“print*”是打印,*号
也是省略写法,表示默认输出到显示屏和默认输出格式,一般这样用也就够了;“(' ',j=1,20-3*(i-1),1)”,这里面的“j=1,20-3*(i-1),1”也是循环绝巧碰,可以看到最后有个1,就是说增量为1,整个意思就是打印那么多个
空格,前面的“' '”就是空格,用单引号引起来一般表示字符;“char(j/10+48),char(mod(j,10)+48)”中的char是character的缩写,表示字符,本来j/10+48结果是数字,用了char(j/10+48)后就将数字转化成了字符,后面的char(mod(j,10)+48)也是,其中的mod(j,10)表示求余数,就是j除以10得到的余数;后面的“' ',j=k,5*i,1”也是个循环控制,用括号将整个括起来“(char(j/10+48),char(mod(j,10)+48),' ',j=k,5*i,1)”就表示后面的循环控制是控制括号中的;“k=k+4”是指将k加上4后再赋值给k,比如k原来等于5,经过“k=k+4”后就变成了9=5+4;“end do”一般中间有个空格,是与之前的“do”对应的,do与end do就表示了一个循环,循环的区域就在它们之间;“end”的话,因为一般的Fortran程序开头会以“program XXX”,“subroutine XXX”等开头,结束就需要写“end”。
再来看一下整个小程序,k=5,然后i=1,然后打印出20-3*(1-1)=20个空格,然后是字符5/10+48,(这时需要注意,因为j是整数,所以5/10本来应该是0.5,但Fortran中会将其转化为0,如果是5.0/10.0的话,结果就是0.5,当然,只是这个计算结果,如果将0.5赋值给一个整形变量时,就不会是0.5了,而是0,因为0.5不是整数嘛),所以字符5/10+48是48,接着是mod(j,10)+48=5+48=53,至于输出到显示并谈屏上会是什么样,因为是默认输出,所以一个字符占的长度是默认的,所以会因电脑而异,可以自己在程序中设置,但有点复杂就不说了。接着就是空格。从j=k,5*i,1可以看出j从5开始,i=1时j从5到5所以就只有5这一个数,完了后就到“k=k+4”,k就变成9了,再接着下去算,回到“do i=1,5”,这时i就等于2了,因为i是从1到5,所以当循环到i=5时打印出东西后,接着k=k+4=25,然后就结束程序了。
可能解释得太复杂,有问题可以再问,当初自己学的时候也是蛮纠结的,虽然以前没遇到过这样的程序,但也宽镇看得懂。加油!
if rv is not None and rsv is not None:
# extract version/subversion
self._nmap_version_number = int(line[rv.start():rv.end()])
self._nmap_subversion_number = int(line[rsv.start()+1:rsv.end()])
break
}
评论列表(0条)