1、三种定义的优先级别由低到高顺序为:I-N规则IMPLICIT语句类型说明语句,因此,在程序中IMPLICIT语句应放在类型说明语句之前。2.4 数组的说明与使用使用I-N规则时用DIMENSION说明数组,也可在定义变量类型同时说明数组,说明格式为:数组名(下标下界,下标上界),也可省略下标下界,此时默认为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)10FORM
2、AT(1X,5(A2,I2,1X,A2,I4)2.5 使用DATA语句给数组赋初值变量表中可出现变量名,数组名,数组元素名,隐含DO循环,但不许出现任何形式的表达式:DATA A,B,C/-1.0,-1.0,-1.0/DATA A/-1.0/,B/-1.0/,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程序书写规则程序中的变量名,不分大小写;变量名称是以字母开头
3、再加上1到5位字母或数字构成,即变更名字串中只有前6位有效;一行只能写一个语句;程序的第一个语句固定为PROGRAM 程序名称字符串某行的第个字符至第个字符位为标号区,只能书写语句标号或空着或注释内容;某行的第个字符为或号时,则表示该行为注释行,其后面的内容为注释内容;某行的第个字符位为非空格和非字符时,则该行为上一行的续行,一个语句最多可有19个续行;某行的第至字符位为语句区,语句区内可以任加空格以求美观;某行的第至字符位为注释区,字符位以后不能有内容。4 FORTRAN77关系运算符.GT. 大于.GE. 天于或等于.LT. 小于.LE. 小于或等于.EQ. 等于.NE. 不等于 .AND
4、. 逻辑与.OR. 逻辑或.NOT. 逻辑非.EQV. 逻辑等.NEQV. 逻辑不等运算符优先级由高到低顺序为:()*或/+或-.GT.或.GE.或.LT.或.LE.或.EQ.或.NE.NOT.AND.OR.EQV.或.NEQV5 FORTRAN77语句语句说明备注WRITE(*,*) X1,X2输出语句第一个*号是指输入输出文件设备号或其它设备,如果不指定则是指显示器或打印机,第二个*号是指表控格式语句的行号,如不指定则用默认格式PRINT *,X1,X2*号是指表控格式语句的行号,如不指定则用默认格式READ *,X1,X2输入语句FORMAT(格式符)请见附录一。请见附录二。END结束程
5、序或子程序STOP N结束程序并输出信息NN为数字或字符串信息PAUSE N暂停程序执行并输出信息N,输入回车后继续执行PARAMETER (PI=3.14)参数语句,用来定义常量,在程序中应放在类型说明语句之后EQUIVALENCE (变量表)等价语句,()内变量共用一个存储单元。EQUIVALENCE(X1,X2,XN),(X1,X2,XN),COMMON X1,公用语句,其后变量相等,用来在程序单位间传递数据,同时可以用来说明数组。程序中可有一个无名公用区和多个有名公用区。无名公用区:在主程序各子程序中相同,均在可执行语句之前,如COMMON A(5),I有名公用区:名称放在两个“/”之
6、间,如COMMON /X1,X2,X3/C1/X4,X5,X6OPEN (说明项1)打开旧文件或创建新文件说明项1中内容:UNIT=N, FILE=NAM, STATUS=STR1, ACCESS=STR2, FORM=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表示顺序存取,
7、DIRECT表示直接存取,省略此项时表示按顺序存取;5.STR3为记录格式说明,FORMATTED表示记录按有格式形式存放, UNFORMATTED表示记录按无格式形式存放。省略此项时,对于顺序文件是有格式的,对于直接存取文件是无格式的;6.C表示记录长度,以字节为单位,直接存取文件必指定,顺序文件必省略;7.STR4表示数字值格式输入字段中空格含意,NULL时表示忽略不计,ZERO时表示按0计。省略此项时按0计;8.BH表示出错时处理语句行标号,可以省略此项;9.M为整数,出错时返回该整数,可以省略此项。CLOSE (说明项2)关闭已打开文件说明项2中内容:UNIT=N,STATUS=STR
8、5,ERR=BH,IOSTAT=M其中STR5为文件关闭状态,KEEP时保留,DELETE删除,省略此项时为保留;ERR=BH,IOSTAT=M可以省略。REWIND (说明项3)将文件读写指针置于文件开头说明项3中内容:UNIT=N,ERR=BH,IOSTAT=MERR=BH,IOSTAT=M可以省略BACKSPACE (说明项3)将文件读写指针回退一行6 FORTRAN77选择判断语句6.1 逻辑IF语句IF (逻辑表达式) 程序语句6.2 无ELSE块IF (逻辑表达式) THEN程序块END IF6.3 标准选择程序块1ELSE程序块26.4 多重选择块IF (逻辑表达式1) THEN
9、ELSE IF (逻辑表达式2) THEN.ELSE IF (逻辑表达式N) THEN程序块N程序块N+17 FORTRAN77循环语句7.1 GO TO语句标号程序行GO TO 标号7.2 DO语句DO 标号,记数变量=起始值,终止值,步距”语句,如DO 标号,N=1,100,1标号CONTINUE7.3 DO WHILE 语句DO 标号,WHILE(PI.EQ.3.14159)7.4 DO UNTIL语句DO 标号,UNTIL (逻辑表达式)”语句,如DO 标号,UNTIL(PI.GT.3.14159)8 FORTRAN77内部函数INT(X)将数字串或数值X转换为整型数REAL(X)将数
10、字串或数值X转换为实型数DBEL(X)将数字串或数值X转换为双精度型数CMPLX(X)将数字串或数值X转换为复型数CHAR(X)将数值X转换为字符(0X255)ICHAR(X)将字符X转换为整数AINT(X)截去X的小数部分ANINT(X)将X舍入到最接近的整数NINT(X)将X舍入到最接近的整型数ABS(X)返回X的绝对值MOD(X1,X2)返回X1/X2的余数SIGN(X1,X2)取X2的符号,取X1的绝对值DIM(X1,X2)当X1X2时,等于X1-X2,当X1X2时,等于0DPROD(X1,X2)双精度乘(X1,X2均为实数)AIMAG(X)返回字符串X的虚部CONJG(X)返回字符串
11、X的共轭MAX(X1,X2,X3,.,XN)返回X1,X2,X3,.,XN中最大值MIN(X1,X2,X3,.,XN)返回X1,X2,X3,.,XN中最小值SQRT(X)返回X的平方根(X0)EXP(X)返回E的X次方LOG(X)返回以E为底的X的对数即自然对数(X0)LOG10(X)返回以10为底的X的对数即常用对数(XSIN(X)返回弧度值X的正弦值COS(X)返回弧度值X的余弦值TAN(X)返回弧度值X的正切值ASIN(X)返回弧度值X的反正弦值ACOS(X)返回弧度值X的反余弦值ATAN(X)返回弧度值X的反正切值SINH(X)返回X的双曲正弦值COSH(X)返回X的双曲余弦值TANH
12、(X)返回X的双曲正切值LEN(X)返回字符串X的长度INDEX(X1,X2)返回字符串X2在字符串X1中的位置,不包含时返回0LGE(X1,X2)如果字符串X1X2则等于.TRUE.,否则等于.FALSE.LGT(X1,X2)如果字符串X1X2则等于.TRUE.,否则等于.FALSE.LLE(X1,X2)如果字符串X1X2则等于.TRUE.,否则等于.FALSE.LLT(X1,X2)如果字符串X1X2则等于.TRUE.,否则等于.FALSE.9 FORTRAN77函数与子程序9.1 FORTRAN77语句函数当函数十分简单,用一条语句足以定义时(允许使用继续行)才用;应该放在所有可执行语句之前和有关类型说明语句之后,是非执行语句;只在其所在程序单位中有意义;语句函数中的虚参就是变量名,不能是常量、表达式或数组元素等;语句函数定义语句中的表达式可以包含已经定义过的语句函数、外部函数或内部函数。语句函数通过表达式得一个函数值,此数值类型必须与函数名的类型一致。语句函数的使用同内部函数相同。语句函数例子
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1