FORTRAN基础
0. 基本知识
FORTRAN 不区分大小写
后缀名(自由模式)
*.f90
注释
!
一行的最后是续航符'&',则会和下一行链接。一行开始时续航符'&',则会和上一行链接。
输出:Print, A,B / Write(,*)A,B
输入:Read *, A,B
1. 数据类型
数值型
- INTEGER
- 类别参数值:对应存储占位字节数(默认是4)
- INTEGER(2) :: a,b
- INTEGER(KIND=2) :: a,b
- INTEGER*2 :: a,b
- 属性列表:
- INTEGER
各种进制
- 类别参数值:对应存储占位字节数(默认是4)
- 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)
- 运算符号
- 只需要注意乘方 **
- 向下取整
- INTEGER
非数值型
- 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.
- CHARACTER
不定义
- 默认I,J,K,L,M,N开头的变量都是整形变量
- 去掉所有默认规定
自定义
TYPE:: PERSON CHARACTER
2. 常用函数
2.1 数值型
- 绝对值:ABS(X)
- 指数函数:EXP(X)
- 正/余弦函数:SIN(X)/COS(X)(注意X是弧度)
- 反正/余弦函数:ASIN(X)/ACOS(X) (返回值是弧度,正切同理)
- 对数:LOG(X),LOG10(X)
- 取整函数:INT(X)
- 求余函数:MOD(X1,X2)(类似C语言里的X1%X2)
- 最大/小值函数:MAX/MIN(X1,X2,...)
2.2 字符型
- 把前后两个字符串链接://
- 字符串长度:LEN(a)
- 去掉尾部空格后字符串长度:LEN_TRIM(a)
- 去掉尾部空格后字符串:TRIM(a)
- 检查字符串a是否包含字符串b:INDEX(a,b)(返回正整数则包含,代表位置,反之返回0)
- 得到ASCII值为i的字符:CHAR(i)
- 得到字符串a的第一个字符的ASCII值:ICHAR(a)
FORTRAN基础
https://oybdooo.github.io/2023/03/08/FORTRAN基础/