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