- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
fortran心得解读
Read 的规则:
按行读取,每次读一行,读完后光标自动跳到下一行的开头,空格和逗号代表结束(所以空格和逗号也是读取的一部分的话,需要使用“输入输出格式”)
如果想要将一行数据读入数组,代码为:
Read(10,*) s(:,:,:)
不用规定输入输出格式,因为会根据s(:,:,:)确定需要读入的数字的个数,然后fortran会按部就班的读取,甚至文件中当前这一行的数字个数不足以填满s(:,:,:)的时候,read会自动跳到下一行继续搜索数字,直到填满s(:,:,:)为止。
但是需要注意给数组赋值的顺序:read会把它搜索到的第一个数字给s(1,1,1),第二个给s(2,1,1),第三个给s(3,1,1)…
程序9 1: 将 read(unit=field,fmt=(A79),iostat=status)buffer 中的A79改为A2,结果只输出每行的前两个字符,说明read是按整行整行读取的。
中间空了几行之后,空行之后的内容还是能被读取和输出,这说明,空行和空白是不一样的:空行也算是一种文本内容,因此不会终止读取,而空白意味着结束。
!读取文件
program main
implicit none
character(len=79)::filename=number.txt,buffer
integer,parameter::field=10
integer::status=0
logical alive
inquire(file=filename,exist=alive)
if(alive)then
open(unit=field,file=filename)
do while(.true.)
read(unit=field,fmt=(A79),iostat=status)buffer
if(status/=0)exit
write(*,(A79))buffer
end do
else
write(*,*)filename,doest exist.
end if
pause
stop
end program main
=============================================
附number.txt
===============================
1234555666
879789789789789
二)Fixed Format(固定格式)
扩展名:.F 或 .FOR
1标号区:第l-5列
可以写l至5位整数。也可以没有标号。标号区中的空格不起作用。如lOO与100 或1 0 0作用相同。标号应是无符号整数(无正负号或小数点)。标号大小顺序没有任何要求。假如第二行的标号为1000,第三行的标号可以是10,也可以是99999。
标号区内不得出现标号以外的内容,但注释行例外。注释行的内容可以写在标号区内,一行中第一列为C或*的,该行即被认为注释行,编译时对该行内容不作翻译,对程序运行不产生任何影响。如果在第一列上出现的不是数字、空格或C和*的字符,编译时按出错处理。
2续行区:第6列
如果在一行的第6列上写一个非空格和非零的字符,则该行作为其上一行的续行。注意在某些系统中,这个字符可以不限于上面所列的,如 @ } ] ~ 等字符均可使用。F77允许一个语句有19个续行(即一个语句最多可以写成20行)。有的程序中第6列上用“l”,“2”,…表示该行是第1个或第2个续行,但用数字字符容易与第7列的数字形成连续的数字串而引起错觉,故最好使用固定的特殊字符。
3语句区:第7-72列
不要求一定从第7列开始写语句,可以从第7列以后(72列以前)的任何一列开始写,但一行只能写一个语句。如果写满了72列,一旦在终端上修改程序时在该行又插入了一些字符,就会使本行最后几个字符超出语句区而引起意料不到的错误。特别注意到语句最后的空格将可能溢出72列,在某些计算机系统上将导致难以查出的错误。应注意,引号内的字符串中所包括的空格是有效的,不能忽略。
4注释区:第73-80列
在卡片输入法时代,程序员一般利用此8列为程序行编序号以便查找。注释区只对程序员提供辨别信息,不是语句的一部分,在编译时不对72-80列作处理。程序 9 2 将成绩输入date.txt
module typedef
type student
integer Chinese,English,Math
end type
end module
program main
use typedef
implicit none
integer::students
type(
您可能关注的文档
最近下载
- 光伏系统的设计课件范本.ppt
- 产科优秀护理疑难病例讨论.pptx VIP
- 小学英语语法专项训练下册.pdf VIP
- GB∕T 16739.1-2023 汽车维修业经营业务条件 第1部分:汽车整车维修企业.pdf
- 【行业标准】SHT 3517-2013 石油化工钢制管道工程施工技术规程.pdf
- 部编版(五四学制)六年级上册历史知识点复习提纲版.pdf VIP
- 湘美版六年级上册美术教案(全套).doc VIP
- D702-1~3 常用低压配电设备及灯具安装(2004年合订本)_(高清).pdf
- 初中道法人教部编版2024七年级上册《第十课保持身心健康》2024年同步练习卷.pdf
- 华为成功之道解读之二客户至上结构化表达.pptx VIP
文档评论(0)