Fortran编程知识杂货店
本栏目开设的目的主要是为了记录一些学过或是见过的语法,算是个备忘录(自用)
数组
动态数组
动态数组的定义为
1  | integer,allocatable::time(:)  | 
多维只需添加逗号隔开
赋值
利用data
1  | integer a(3)  | 
不利用data
1  | integer::d(3)=(/1,2,3/) !there shouldn't be anything between '(' and '/'  | 
这里需要特别说明的是
data语句不会循环重复赋初值,因此在循环体,例如求和计算需要每次赋值为0的时候,不能够在循环体内使用data,这样起不到效果的,还是需要
1  | do i=1,n  | 
文件
WRITE
如果想打印不换行,可以
1  | write(*,'(i2,$)') xxx  | 
OPEN
遇到
1  | bad integer for intem1 in list input  | 
也可能是循环中文件打开没有close导致的
想要在文件后继续输入,不覆盖写入
1  | open(unit,file='xxx',position='append')  | 
重复顺序读取文件时,可以使用
1  | open(1,file='filename.txt',position='rewind')  | 
READ
在do-while循环中,如果需要读到文件末尾结束,标记语句需要在循环体外部
1  | t=.true.  | 
字符串
拼接
1  | a='filename'  | 
转化
1、整数
1  | integer a  | 
实数其实也一样
Comments