Fortran学习笔记6(函数、子程序)

您所在的位置:网站首页 调用子程序代码的两种格式 Fortran学习笔记6(函数、子程序)

Fortran学习笔记6(函数、子程序)

2023-12-23 21:25| 来源: 网络整理| 查看: 265

子程序Subroutine 自定义函数Function 全局变量COMMON BLOCK DATA

程序代码中,常常会在不同的地方重复用到某一功能和重复某一代码,这个时候就要使用函数。函数包括内嵌函数,自定义函数,子程序。

子程序Subroutine

子程序之所以叫子程序,是因为在没有经过调用之前,它不会被执行。(当然,如果把编译器对主函数的调用也看做同样的话则另当别论。)

包含子程序的程序的格式:

program main ...... ...... call sub_1(...) ...... call sub_2(...) ...... end program main subroutine sub_1(...) ... end subroutine sub_1 subroutine sub_2(...) ... end subroutine sub_2

主程序并不一定要放在最开始,它可以放在程序的任何地方(但是最好放在最开始或者结尾,如果你放在了一大段程序的中间……何苦为难自己!)子程序之间也可以互相调用。甚至可以自己调用自己,这个算法就叫递归,但是Fortran77不支持。调用语句为call。

有关子程序,一个很重要的概念是,子程序独立的拥有属于自己的变量申明。主程序和子程序,不同的子程序之间的变量名可以相同,他们互不干扰。除了变量独立,子程序还独立拥有自己的行代码。

在子程序的调用中会涉及到参数传递。Fortran中的参数传递使用的是传址调用。也就是说,实参和形参公用一块内存,两者改变其中之一,另一者也会发生变化,(其实是形参暂时的借住在实参家里。)

自定义函数Function

自定义函数的运行和上面的子程序没有什么两样,也需要调用才能被执行,也可以独立声明变量,参数传递的方法和子程序相同。尽管如此,自定义函数和子程序还是有两点不同:

调用自定义函数前要声明。 自定义函数调用后会返回一个数值。

下面是一个简单的程序:用牛顿法来解方程。

program main implicit real*


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3