代码运行在simply fortran2下,复制,粘贴可直接运行看效果

!!!!!-------------------
!    Fortran中函数分两类:子程序(subroutine)和自定义函数(function)。
!    自定义函数本质上就是一般数学上的函数,一般要传递自变量给自定义函数,返回函数值。
!    子程序不一定是这样,可以没有返值也可以多个返回值。
!    func能做到的事,sub一定能做到。
!    传递参数要注意类型的对应,这跟C是一样的。
!!!!!-------------------!!!!!!!!!
!    Module不是函数。它用于封装程序模块,一般是把具有相关功能的函数及变量封装在一起
!    。用法很单,但能提供很多方便,使程序变得简洁,比如使用全局变量不必每次都声明一长串,
!    写在odule里调用就行了。Module一般写在主程序开始之前。
!!!!!!!!!program helloworld
use opModule
! 在主程序或函数中使用时,需要在声明之前先写上一行:
!  use module_name.
implicit nonereal(kind = 4):: a = 2.0, b = 3.0, add_result = 0.0interface   ! 声明函数调用接口,sub无需声明可直接调用real(kind=4) function add_func(a, b)implicit nonereal(kind=4) :: a, bend function add_func
end interface! 注意sub的调用方式 call subname(╬aram1, ...)call add_sub(a, b, add_result)  Print *, "Hello World!", add_result, add_func(a, b)call prtHi()print*, M_add_func(2.3, 4.3), M_resultend program helloworldsubroutine add_sub(a, b, add_result)
implicit none
real(kind=4) :: a, b, add_resultadd_result = a + b;end subroutine add_subreal(kind=4) function add_func(a, b)
implicit none
real(kind=4) :: a, badd_func = a + bend function add_func!!!!!!
!    Module中有函数时必须在contains命令之后(即在某一行写上contains然后下
!    面开始写函数)。并且module中定义过的变量在module里的
!    函数中可直接使用,函数之间也可以直接相互调用(包括主程序或其他包含module的子函数中),
!    连module中的自定义函数在被调用时也不用先声明。
!!!!!!
module opModulereal(kind = 4) :: M_result
containssubroutine prtHi()implicit noneprint *, 'hello fortran, hello 2016.11.16 10:55'end subroutine prtHireal(kind=4) function M_add_func(a, b)implicit nonereal(kind=4) :: a, bM_result = a + bM_add_func = M_resultend function M_add_funcend module opModule

Fortran中function,subroutine, interface和module的简单使用相关推荐

  1. fortran语言和python_如何在Fortran中调用Python

    Python是机器学习领域不断增长的通用语言.拥有一些非常棒的工具包,比如scikit-learn,tensorflow和pytorch.气候模式通常是使用Fortran实现的.那么我们应该将基于Py ...

  2. 今天還是和大家聊點基本功,就是“如何在DLL中活用Interface” DATE :2004-05-21

    聊點基本功,就是"如何在DLL中活用Interface" <Code 1> {--------------------------------------------- ...

  3. fortran中类型

    - 由于 GNU 的 Fortran 和 C 语言二者的函数彼此可以直接相互调用,所以混合编程可以非常容易地实现.只要你足够仔细,确保函数调用时传递的参数类型正确,函数就可以在两种语言间来回调用,就像 ...

  4. php中abstract和interface的区别

    转载链接 1.https://www.cnblogs.com/songanwei/p/9389005.html#!comments 2.https://blog.csdn.net/qq_2263016 ...

  5. 介绍Unreal Engine 4中的接口(Interface)使用C++和蓝图

    这个教程是从UE4 Wiki上整理而来. 在C++中直接使用Interface大家应该很熟悉.只是简单先定义一个个有虚函数的基类,然后在子类中实现相应的虚函数.像这样的虚函数的基类一般概念上叫接口.那 ...

  6. python中function函数的用法_Python中Function(函数)和methon(方法)

    在Python中,对这两个东西有明确的规定: 函数function -- A series of statements which returns some value toa caller. It ...

  7. 如何用mshtml获得Javascript中function的返回值[mshtml]

    marginwidth="0" marginheight="0" src="http://218.16.120.35:65001/PC/Global/ ...

  8. JAVA中Function的使用

    JAVA中Function的使用 一.方法介绍 参数类型 方法介绍 源码 二.demo 参考: https://blog.csdn.net/boyan_HFUT/article/details/996 ...

  9. Java8中Function函数式接口详解及使用

    文章目录 1.函数式接口 1.1允许定义默认方法 1.2允许定义静态方法 1.3允许定义java.lang.Object的public方法 1.4已有函数式接口 2.Function函数 2.1Fun ...

最新文章

  1. 【转】用示例说明索引数据块中出现热块的场景,并给出解决方案
  2. 剑指offer:删除链表中重复的结点
  3. 安装使用vmware及vsphere流程介绍
  4. android获取文件上级目录,Android 文件存储
  5. Organization Unit buffer - OOATTRCUST
  6. python改变列的数据类型_python – Pandas:更改列的数据类型
  7. 这4种分析方法,大牛产品经理都在用
  8. java volatile关键字的作用_java volatile关键字作用及使用场景详解
  9. js数组常用方法总结(包括ES6)
  10. Windows 实用小工具
  11. [PED07]Feature Selection for Clustering:A Review聚类特征选择综述
  12. 视频转换成gif动图如何操作?教你三步完成视频转gif
  13. 【技术分享】使用opencv进行火焰分割
  14. linux --chdir() 改变当前工作目录函数
  15. Homekit智能家居DIY之智能灯泡
  16. 关于微信公众号开发时获取用户昵称作为参数乱码的问题
  17. 别再胡乱写简历了,一份适合普通大众的简历模版,送给大家
  18. Java 代码简单模拟商城购物车
  19. 智能视频抠图_‎App Store 上的“智能视频抠图: 一键去背景”
  20. flutter/Android接入友盟、阿里百川SDK,打包APK后报无法加载arr库的坑

热门文章

  1. 运算放大器设计常见问题
  2. 如何用mysql对淘宝用户行为进行分析
  3. VirtualBox 虚拟机内操作系统与宿主操作系统共享文件夹的方法
  4. python小游戏制作实验总结_20183202 实验四《python程序设计》实验报告
  5. 常见反病毒进程/服务/识别总结
  6. x264和aac编解码器下载地址
  7. Oracle删除用户drop user报错解决方案
  8. 浅析私域流量和公域流量的区别
  9. 【PS小贴士1】SAP PS CN33物资转储 提资BOM
  10. 周子衡:我所理解的DT时代