fortran语法手册

上传人:夏** 文档编号:512001815 上传时间:2022-10-30 格式:DOC 页数:15 大小:130.50KB
返回 下载 相关 举报
fortran语法手册_第1页
第1页 / 共15页
fortran语法手册_第2页
第2页 / 共15页
fortran语法手册_第3页
第3页 / 共15页
fortran语法手册_第4页
第4页 / 共15页
fortran语法手册_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《fortran语法手册》由会员分享,可在线阅读,更多相关《fortran语法手册(15页珍藏版)》请在金锄头文库上搜索。

1、. -1 FORTRAN77四则运算符+ - */ * (其中*表示乘方)在表达式中按优先级次序由低到高为: +或-*或/*函数()2 FORTRAN77变量类型2.1 隐含约定:I-N规则但凡以字母I,J,K,L,M,N六个字母开头的,即认为是整型变量,其它为实型变量。2.2 用类型说明语句确定变量类型:可以改变I-N规则INTEGER整型REAL实型DOUBLE PRECISION双精度实型PLE*复型,赋值形式为(实部,虚部),如D=(8.76E+0.5,-67.8E-3),C=(3.0,6.3),如果含表达式则用CMPL*,如C=CMPL*(3.0*A,6.0+B)LOGICAL逻辑型

2、,逻辑常量有T和F,T表示.TRUE.,F表示.FALSE.CHARACTER*N字符型,N为字符串长度,可以在变量名称后重新指定长度,如CHARACTER*8 STR1,STR2*10 ,赋值形式为STR2=IM A BOY.2.3 用IMPLICIT语句将*一字母开头的全部变量指定为所需类型如 IMPLICIT REAL (I,J)三种定义的优先级别由低到高顺序为:I-N规则IMPLICIT语句类型说明语句,因此,在程序中IMPLICIT语句应放在类型说明语句之前。2.4 数组的说明与使用使用I-N规则时用DIMENSION说明数组,也可在定义变量类型同时说明数组,说明格式为:数组名(下标

3、下界,下标上界,也可省略下标下界,此时默认为1,例:DIMENSION IA(0:9),ND(80:99),W(3,2),NUM(-1:0),A(0:2,0:1,0:3)REAL IA(10),ND(80:99)使用隐含DO循环进展数组输入输出操作:例如WRITE(*,10) (I=,I,A=,A(I),I=1,10,2)10FORMAT(1*,5(A2,I2,1*,A2,I4)2.5 使用DATA语句给数组赋初值变量表中可出现变量名,数组名,数组元素名,隐含DO循环,但不许出现任何形式的表达式:例如DATA A,B,C/-1.0,-1.0,-1.0/DATA A/-1.0/,B/-1.0/,

4、C/-1.0/DATA A,B,C/3*-1.0/CHARACTER*6 CHN(10)DATA CHN/10*/INTEGER NUM(1000)DATA (NUM(I),I=1,500)/500*0/,(NUM(I),I=501,1000)/500*1/3 FORTRAN77程序书写规则程序中的变量名,不分大小写;变量名称是以字母开头再加上1到5位字母或数字构成,即变更名字串中只有前6位有效;一行只能写一个语句;程序的第一个语句固定为PROGRAM 程序名称字符串*行的第个字符至第个字符位为标号区,只能书写语句标号或空着或注释容;*行的第个字符为或号时,则表示该行为注释行,其后面的容为注释

5、容;*行的第个字符位为非空格和非字符时,则该行为上一行的续行,一个语句最多可有19个续行;*行的第至字符位为语句区,语句区可以任加空格以求美观;*行的第至字符位为注释区,字符位以后不能有容。4 FORTRAN77关系运算符.GT. 大于.GE. 天于或等于.LT. 小于.LE. 小于或等于.EQ. 等于.NE. 不等于 .AND. 逻辑与.OR. 逻辑或.NOT. 逻辑非.EQV. 逻辑等.NEQV. 逻辑不等运算符优先级由高到低顺序为:()*或/+或-.GT.或.GE.或.LT.或.LE.或.EQ.或.NE.NOT.AND.OR.EQV.或.NEQV5 FORTRAN77语句语句说明备注WR

6、ITE(*,*) *1,*2输出语句第一个*号是指输入输出文件设备号或其它设备,如果不指定则是指显示器或打印机,第二个*号是指表控格式语句的行号,如不指定则用默认格式PRINT *,*1,*2输出语句*号是指表控格式语句的行号,如不指定则用默认格式READ *,*1,*2输入语句*号是指表控格式语句的行号,如不指定则用默认格式FORMAT(格式符)请见附录一。请见附录二。END完毕程序或子程序STOP N完毕程序并输出信息NN为数字或字符串信息PAUSE N暂停程序执行并输出信息N,输入回车后继续执行N为数字或字符串信息PARAMETER (PI=3.14)参数语句,用来定义常量,在程序中应放

7、在类型说明语句之后EQUIVALENCE (变量表)等价语句,()变量共用一个存储单元。EQUIVALENCE(*1,*2,*N),(*1,*2,*N),MON *1,公用语句,其后变量相等,用来在程序单位间传递数据,同时可以用来说明数组。程序中可有一个无名公用区和多个有名公用区。无名公用区:在主程序各子程序中一样,均在可执行语句之前,如MON A(5),I有名公用区:名称放在两个/之间,如MON /*1,*2,*3/C1/*4,*5,*6OPEN (说明项1)翻开旧文件或创立新文件说明项1中容:UNIT=N, FILE=NAM, STATUS=STR1, ACCESS=STR2, FORM=

8、STR3, RECL=C, BLANK=STR4, ERR=BH, IOSTAT=M其中:1.N=199;2.NAM为文件名,可以是字符常量或变量;3.STR1=NEW时新建文件;OLD时翻开文件;SCRATCH时表示临时文件,关闭时自动删除,且不能与FILE=NAM项共存;UNKNOWN时由计算机系统规定文件状态;4.STR2为文件存取方式,SEQUENTIAL表示顺序存取,DIRECT表示直接存取,省略此项时表示按顺序存取;5.STR3为记录格式说明,FORMATTED表示记录按有格式形式存放, UNFORMATTED表示记录按无格式形式存放。省略此项时,对于顺序文件是有格式的,对于直接存

9、取文件是无格式的;6.C表示记录长度,以字节为单位,直接存取文件必指定,顺序文件必省略;7.STR4表示数字值格式输入字段中空格含意,NULL时表示忽略不计,ZERO时表示按0计。省略此项时按0计;8.BH表示出错时处理语句行标号,可以省略此项;9.M为整数,出错时返回该整数,可以省略此项。CLOSE (说明项2)关闭已翻开文件说明项2中容:UNIT=N,STATUS=STR5,ERR=BH,IOSTAT=M其中STR5为文件关闭状态,KEEP时保存,DELETE删除,省略此项时为保存;ERR=BH,IOSTAT=M可以省略。REWIND (说明项3)将文件读写指针置于文件开头说明项3中容:U

10、NIT=N,ERR=BH,IOSTAT=MERR=BH,IOSTAT=M可以省略BACKSPACE (说明项3)将文件读写指针回退一行6 FORTRAN77选择判断语句6.1 逻辑IF语句IF (逻辑表达式) 程序语句6.2 无ELSE块IF (逻辑表达式) THEN程序块END IF6.3 标准选择IF (逻辑表达式) THEN程序块1ELSE程序块2END IF6.4 多重选择块IF (逻辑表达式1) THEN程序块1ELSE IF (逻辑表达式2) THEN程序块2ELSE IF (逻辑表达式2) THEN程序块2.ELSE IF (逻辑表达式N) THEN程序块NELSE程序块N+1E

11、ND IF7 FORTRAN77循环语句7.1 GO TO语句标号程序行程序块GO TO 标号7.2 DO语句DO 标号,记数变量=起始值,终止值,步距语句,如DO 标号,N=1,100,1程序块标号CONTINUE7.3 DO WHILE 语句DO 标号程序块标号CONTINUE7.4 DO UNTIL语句DO 标号,UNTIL (逻辑表达式)语句,如DO 标号程序块标号CONTINUE8 FORTRAN77部函数INT(*)将数字串或数值*转换为整型数REAL(*)将数字串或数值*转换为实型数DBEL(*)将数字串或数值*转换为双精度型数CMPL*(*)将数字串或数值*转换为复型数CHAR

12、(*)将数值*转换为字符(0*255)ICHAR(*)将字符*转换为整数AINT(*)截去*的小数局部ANINT(*)将*舍入到最接近的整数NINT(*)将*舍入到最接近的整型数ABS(*)返回*的绝对值MOD(*1,*2)返回*1/*2的余数SIGN(*1,*2)取*2的符号,取*1的绝对值DIM(*1,*2)当*1*2时,等于*1-*2,当*1*2时,等于0DPROD(*1,*2)双精度乘(*1,*2均为实数)AIMAG(*)返回字符串*的虚部CONJG(*)返回字符串*的共轭MA*(*1,*2,*3,.,*N)返回*1,*2,*3,.,*N中最大值MIN(*1,*2,*3,.,*N)返回

13、*1,*2,*3,.,*N中最小值SQRT(*)返回*的平方根(*0)E*P(*)返回E的*次方LOG(*)返回以E为底的*的对数即自然对数(*0)LOG10(*)返回以10为底的*的对数即常用对数(*0)SIN(*)返回弧度值*的正弦值COS(*)返回弧度值*的余弦值TAN(*)返回弧度值*的正切值ASIN(*)返回弧度值*的反正弦值ACOS(*)返回弧度值*的反余弦值ATAN(*)返回弧度值*的反正切值SINH(*)返回*的双曲正弦值COSH(*)返回*的双曲余弦值TANH(*)返回*的双曲正切值LEN(*)返回字符串*的长度INDE*(*1,*2)返回字符串*2在字符串*1中的位置,不包

14、含时返回0LGE(*1,*2)如果字符串*1*2则等于.TRUE.,否则等于.FALSE.LGT(*1,*2)如果字符串*1*2则等于.TRUE.,否则等于.FALSE.LLE(*1,*2)如果字符串*1*2则等于.TRUE.,否则等于.FALSE.LLT(*1,*2)如果字符串*1*2则等于.TRUE.,否则等于.FALSE.9 FORTRAN77函数与子程序9.1 FORTRAN77语句函数当函数十分简单,用一条语句足以定义时允许使用继续行才用;应该放在所有可执行语句之前和有关类型说明语句之后,是非执行语句;只在其所在程序单位中有意义;语句函数中的虚参就是变量名,不能是常量、表达式或数组元素等;语句函数定义语句中的表达式可以包含已经定义过的语句函数、外部函数或部函数。语句函数通过表达式得一个函数值,此数值类型必须与函数名的

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号