Fortran学习记录——新手入门

Fortran 程序

FORTRAN程序由一个主程序或一个主程序与若干个子程序组成。主程序与子程序都是一个独立的程序单位,称为一个程序模块。

1、 基本结构

1、程序分段:一个程序由一个或若干个程序单位组成。主程序和每一个子程序分别是一个独立的程序单位。子程序是实现模块化的有效方法。
2、每一个程序单位都是以“END”语句结束。主程序段中的END语句作用是使程序“停止运行”;子程序段中的END语句是“使流程返回调用程序”。
3、一个程序有且仅有一个主程序段,可以有0个或若干个子程序段。
4、一个程序单位包括若干行。FORTRAN行分为两类:即语句行和非语句行。
语句行由一个FORTRAN语句组成。FORTRAN语句又可分为执行语句和非执行语句。
非语句行,即为注释行。
5、FORTRAN程序的基本成份是语句。一行只能有一个语句。若一个语句太长,一行内写不下,可分写在几行上,但要用“续行标志”。
6、FORTRAN程序中语句允许有标号,以便被其他句引用。
7、一个程序单位中各类语句的位置是有一定规则的。一般是非执行语句放在所有可执行语句之前。

2、书写格式(固定格式)

FORTRAN语言程序的书写格式要求很严格。一个程序由多行组成,但每一行上都是80列,每一行上最多可以书写80个字符。其中这80列可以分为四个区:
(1)标号区:第1列至第5列。标号最多由五位数组成。在标号区内的空格不起作用。标号的大小与所在行的位盟也无关。标号不能超越出标号区的范围。
(2)续行区:也称为续行标志区,位于第6列。如果在一行的第6列上写一个非零和非空格的任一FORTRAN字符,则表明该行是其上一行的续行。一个语句最多可以有19个续行(共1320个字符)。使用续行时,可以在上一行的任一位置中断而直接转到下一行。
(3)语句区:位于第7列到第72列。我们不必须在第7列就开始写语句,可以从第8列或第9列开始写。但在一行中,只能写一个语句,语句区内的空格是无效的。如果语句太长,一行写不下,可以使用续行。
(4)注释区:位于第73列到第80列。它是用于程序的注释或标志。当然,可以用注释行对一个FORTRAN程序作注释。注释区不是程序的一部分,编译时对这个区的内容不予翻译。
程序中的行可以分为以下几类:注释行、起始行、继续行、结束行

固定格式自由格式
英文Fixed-formatFree-format
扩展名.for .f ….f90 .f95 .f03 …
语法F66、F77、F90、F95、F03、F08F66、F77、F90、F95、F03、F08
格式代码从第7格开始任意
续行在第6格键入一个非0字符在前一行最后加入&
行宽72132
注释行首行键入C/c/*注释前打感叹号
说明不推荐,已废止推荐

3、语句分类

FORTRAN的所有语句分为可执行语句和非执行语句两大类。
可执行语句能使FORTRAN编译程序产生目的程序指令。FORTRAN主要有以下三种可执行语句:
①赋值语句;
②控制语句;
③输入/输出语句。
非执行语句为FORTRAN编译程序描述程序的数据类型和排列顺序,并为目的程序提供有关输入/输出格式和数据初始化信息。非执行语句有五种;
①说明语句;
② 数据初始化语句;
③格式(FORMAT)语句;
④函数(FUNCTION)定义语句;
⑤子程序说明语句。

下面给出语句顺序所应遵守的一般原则:
(1)程序段的段头语句,只能出现在每个程序段开始的位置。如:PROGRAM、FUNCTI0N、SUBROUTINE、BLOCK、DATA、MODULE等;
(2)如果出现USE语句,则只能出现在段头语句之后、其他语句之前;
(3)IMPLICIT NONE语句应紧跟在USE语句之后,在其他说明语句之前;
(4)FORMAT语句和DATA语句也可以放置在可执行语句中间,不过把DATA语句放置在可执行语句中间是一种过时的做法;
(5)PARAMETER语句可以出现在DATA语句和可执行语句之前、IMPLICIT NONE语句之后的任何位置上;
(6)其他说明语句应出现在DATA语句和可执行语句之前;

4、变量类型

  • 整型(Integer)
  • 实型(Real)
  • 字符型(Character)
  • Complex类型(本质是real)
  • 派生型(type)
    整型无误差,实型有误差
    字符型接近人类语言
  • 声明变量基本格式
    类型(属性),形容词:变量名1=值1,变量名2=值2
    注意:不用在每行语句后面加分号

Kind

  • Kind正式名称叫“种别”,是区分用一种数据类型,但不同长度(精度或编码方式)的一种代号。
  • Kind受编译器影响,具体数值可能会有差异。
  • Kind对不同的变量类型,表达含义不同:
变量类型表达含义
整型影响其能表达的最大范围
Real Complex影响实数的最大范围和最小精度
Character编码
Logical长度

implicit
implicit可以将程序中以某一字母开头的所有变量指定为所需类型。指定了以A与C字母开头的所有变量都是整型变量,以字母I至K开头的所有变量为实型变量。
类型说明语句和隐含说明语句只在本程序中有效,放在程序单位所有可执行语句的前面,IMPLICIT语句又必须在所有的类型说明语句的前面。确定变量类型的三种方法中,类型说明语句的优先级最高,**I-N规则(ijklmn开头为整型,其他为实型)**的优先级最低。
implicit none
设计任何和隐含说明语句无效,都有变量都要显式地人工声明,不能未声明就直接使用,有效地避免了可能的大量错误。

参考文章
Fortran 程序-百度百科
Fortran语言学习

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值