FORTRAN90学习笔记:关键概念与入门
需积分: 9 174 浏览量
更新于2024-09-16
收藏 18KB DOCX 举报
"这篇读书杂记主要探讨了FORTRAN90和FORTRAN95的一些关键概念,适合初学者快速入门。作者提到了变量类型的定义、选择性声明、指针操作、数组处理、模块和过程接口的使用,以及输入输出相关的功能,如文件操作和名单位置。"
在FORTRAN90中,变量的类型定义更为灵活,可以指定KIND属性来控制存储空间的大小。例如,INTEGER(KIND=1,2,4)分别表示占用1, 2, 4个字节的整型,而默认是4字节。REAL(KIND=4,8)则对应4字节的单精度浮点数和8字节的双精度浮点数,通常单精度的有效位约6-7位,双精度的有效位大约15位。SELECT_INT_KIND(r)和SELECT_REAL_KIND(p,r)函数用于根据需求指定整数或浮点数的位宽。
指针在FORTRAN90中是一个重要的特性,可以使用POINTER声明,用P=>D的方式将指针P指向变量D。状态检查可以通过ASSOCIATED(P)来实现,以判断指针是否已关联到某个对象。
模块(Module)是FORTRAN90中的一个重要工具,它可以用来声明过程、定义全局变量和派生类型,创建外部程序接口,管理全局数据和可分配数组。模块有助于代码的组织和封装。
过程接口块(INTERFACE)确保调用过程时有正确的参数匹配。当函数返回值是数组、返回不定长字符,或者涉及数组片段、运算符重载等情况时,就需要使用接口块。接口块还允许在不同的过程单元中以相同或不同的名称访问同一量。
文件操作在FORTRAN90中通过OPEN语句进行,如示例中的OPEN(UNIT=1, FILE='file.dat', IOSTAT=status),用于打开文件并检查操作状态。NAMELIST用于结构化输入输出,允许用户定义一组变量并一次性写入或读取,如示例所示的NAMELIST/mylist/a1,a2,a3。
此外,FORTRAN90还支持假定形状数组,其形状在运行时确定,这在处理动态数据时非常有用。数组的初始化可以使用K=(/1,2,3/)这样的语法,而数组的重塑则通过RESHAPE函数完成,如A=RESHAPE((/1,2,3,4/),(/2,3/))。
这篇读书杂记涵盖了FORTRAN90和FORTRAN95的基本要素,包括变量声明、指针操作、模块使用、过程接口和文件I/O,是学习FORTRAN编程的良好参考资料。
1145 浏览量
1636 浏览量
117 浏览量
2021-05-05 上传
2022-09-22 上传
230 浏览量
117 浏览量
160 浏览量
himing24
- 粉丝: 0
- 资源: 14
最新资源
- Gooper1 Data Pack:新的 G1DP 存储库。 去贡献!-开源
- iOS Apprentice v7.0 (iOS12 & Swift4.2 & Xc.zip
- PersonalPage:我的NextJS个人开发人员页面
- CS300P07
- AppAuth-JS:JavaScript客户端SDK,用于与OAuth 2.0和OpenID Connect提供程序进行通信
- js和CSS3炫酷圆形导航菜单插件
- 裂纹检测:使用计算机视觉工具箱进行裂纹检测-matlab开发
- 开源软路由OPENWRT2020.9.8原版VMWARE固件
- Onboard-SDK:DJI Onboard SDK官方资料库
- projetoFinal-ips-2-ano
- chips_thermal_face_dataset:芯片热敏面数据集是一个大规模的热敏面数据集(来自3个不同大洲的1200幅男性和女性图像,年龄在18-23岁之间)。 该数据集将可供全世界的研究人员使用最新的深度学习方法创建准确的热面部分类和热面部识别系统
- pamansayurdev.github.io:网站paman sayur
- MO_Ring_PSO_SCD:它是用于多模态多目标优化的多目标 PSO-matlab开发
- resynthesizer:用于纹理合成的gimp插件套件
- NavigationDrawer:这是一个示例项目,用于演示如何制作导航抽屉。此外,在这个项目中,我添加了材料设计,因此对于想要实现材料设计、工具栏等的人也有帮助
- hacker-news-clone