FORTRAN学习中的一些小心得.docx

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
FORTRAN学习中的一些小心得

FORTRAN 心得第一部分:一些小心得1 Fortran不区分大小写2 Fortran有5种基本数据类型,integer,real,character,logical,complex3 fortran fixed format格式中的变量赋初值一般用DATA,因为它不能用::4 real(kind=8) a这种格式只使用于Fortran90,Fortran77中要使用real*8或real(8)5 FORTRAN中FREE与FIXED两种格式do循环的区别:Fortran 95使用end do来结束循环。Fortran 77使用DO循环要麻烦一点,它不使用END DO来结束循环,而是使用行号来结束循环,程序代码要在DO的后面写清楚这个循环到哪一行程序代码结束。Fortran 77中,经常会使用CONTINUE这个命令来结束循环。因为CONTINUE这个命令没有实际的用途,刚好可以拿来做封装使用。6循环的流程控制:循环中的cycle命令相当于c++里的continue命令,用于结束一次循环循环中的exit命令好比c里面的break,用于结束循环7 不使用do循环,单纯用GOTO语句也能设计循环程序,但不推荐使用GOTO语句7 fortran有等价声明:即用equivalence(a,b),这样使得a,b使用同一块内存,这样可以节省内存,有时可精简代码。8 fortran77中只能用单引号。(还有疑问,因为fixed format能用双引号)9逻辑运算符 == /= = = !Fortran90用法 .EQ. .NE. .GT. GE. .LT. .LE. !Fortran77用法9 PAUSE,CONTINUE,STOP pause 暂停程序执行,按enter可继续执行 continue 貌似没什么用处,可用作封装程序的标志 STOP 命令用来结束程序,要谨慎使用10 数组元素之间要用逗号分隔,而不能像matlab一样既可以用逗号也可以用空格,fortran的数组元素之间不能用空格。11 数组的声明:Fortran 77中数组的声明,必须使用DIMENSION命令Integer a; !先声明a是整型Dimension a(10) !再声明a是大小为10的数组Fortran 95中可以用简单的方法:Integer a(10) !最简单的方法Integer,dimension(10):: a !另一种方法12 数组的赋值:Fortran 77中数组的声明,可以使用DATA命令或隐含式循环来赋初值;Fortran 95中可以直接设置初值;如:integer ::a(5)=(/1,2,3,4,5/);此时,括号和除号之间不能有空格;13与C不同,Fortran数组索引值默认从1开始,而且可以在声明时改变该规则,如 integer a(-3:1) !索引值为-3,-2,-1 ,0,113数组在内存中的存放顺序也与C不同(正好相反),如a(2,2)在内存中的存放顺序为a(1,1),a(2,1),a(1,2),a(2,2);原则是放低维的元素,再放高维的元素,此规则称为column major矩阵输出时也是按列输出。。14 Fortran的特色:隐含式循环15 a,b都为数组,则可以这样用a=sin(b),(内部函数都可以这样用)16数组专用:where命令形式上类似于if,但只用于设置数组 where.....elsewhere...elsewhere...endwhere (没有then) FORALL是Fortran95添加的功能,只能用于数组操作 forall可以嵌套使用,还可以在forall中使用where,但where中不能使用forall15 Fortran中传递参数的原理与c++不同,Fortran中是传址调用,就是传递时用参数和子程序接受时用的参数使用一个地址,尽管命名可以不同。16 调用自定义函数前需要做声明,调用子程序则不需要。17 Module中有函数时必须在contains命令之后18 全局变量(有的书上叫无名公用区、有名公用区)全局变量用来定义一块共享的内存空间;全局变量不能声明成常量全局变量不能直接使用data命令赋初值,要在block data模块中使用data来设置初值。COMMON语句是说明语句,因此它应该出现在相应程序单元中的所有可执行语句之前。取用全局变量时,是根据它们的相对位置关系来作对应,而不是根据

文档评论(0)

linsspace + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档