FORTRAN基础

0. 基本知识

  1. FORTRAN 不区分大小写

  2. 后缀名(自由模式)

    *.f90

  3. 注释

    !

  4. 一行的最后是续航符'&',则会和下一行链接。一行开始时续航符'&',则会和上一行链接。

  5. 输出:Print, A,B / Write(,*)A,B

  6. 输入:Read *, A,B

1. 数据类型

  1. 数值型

    • INTEGER
      • 类别参数值:对应存储占位字节数(默认是4)
        • INTEGER(2) :: a,b
        • INTEGER(KIND=2) :: a,b
        • INTEGER*2 :: a,b
      • 属性列表:
        • INTEGER
      • 各种进制

    • REAL
      • 类别参数值:4(默认,单精度),8(双精度)
      • DOUBLE PRECISION(双精度残留表达方式)
      • 常数需要用指数表示:
        • 1.2D0
    • COMPLEX
      • COMPLEX a,b,c
      • a=(3.0,6.3)
      • c=CMPLX(3.0*a,5.0+b)
    • 运算符号
      • 只需要注意乘方 **
      • 向下取整
  2. 非数值型

    • CHARACTER
      • CHARACTER(LEN=25) :: a,b,c
      • CHARACTER25 :: a, b 8,c * 5(默认每个字符长度为25,b,c为特殊制定长度)
      • CHARACTER(LEN=10),PARAMETER::NAME='FOR''TRAN'(''在字符串里代表')
    • LOGICAL
      • LOGICAL DOIT,DONT
      • DOIT=.TRUE.
      • DONT=.FALSE.
  3. 不定义

    • 默认I,J,K,L,M,N开头的变量都是整形变量
    • 去掉所有默认规定
  4. 自定义

    TYPE:: PERSON CHARACTER

2. 常用函数

2.1 数值型

  1. 绝对值:ABS(X)
  2. 指数函数:EXP(X)
  3. 正/余弦函数:SIN(X)/COS(X)(注意X是弧度)
  4. 反正/余弦函数:ASIN(X)/ACOS(X) (返回值是弧度,正切同理)
  5. 对数:LOG(X),LOG10(X)
  6. 取整函数:INT(X)
  7. 求余函数:MOD(X1,X2)(类似C语言里的X1%X2)
  8. 最大/小值函数:MAX/MIN(X1,X2,...)

2.2 字符型

  1. 把前后两个字符串链接://
  2. 字符串长度:LEN(a)
  3. 去掉尾部空格后字符串长度:LEN_TRIM(a)
  4. 去掉尾部空格后字符串:TRIM(a)
  5. 检查字符串a是否包含字符串b:INDEX(a,b)(返回正整数则包含,代表位置,反之返回0)
  6. 得到ASCII值为i的字符:CHAR(i)
  7. 得到字符串a的第一个字符的ASCII值:ICHAR(a)

FORTRAN基础
https://oybdooo.github.io/2023/03/08/FORTRAN基础/
作者
OYBDOOO
发布于
2023年3月8日
许可协议