首页/文章/ 详情

FORTRAN基础编程(1)——基本格式及输出、读入

1年前浏览459

书面格式

Fortran程序代码的编写格式有两种,Free Format(自由格式)及Fixed Format(固定格式)。Fortran程序代码扩展名为.f或.for的文件,就是指以Fixed Format 来编写的程序;以扩展名为*.f90的文件,就是以Free format来编写的程序。

一、Fixed Format(固定格式)

固定格式的程序,对于字段的意义要求的比较明确,即我们只能在第7~72个字符位置编写我们的程序。

第1个字符C、c、*,表示该行为注释行,不会被编译
第1-5个字符数字表示行代号,否则空格
第6个字符0以外的数字表示续行
第7~72个字符程序编写区域
第73个字符以后不被编译,或编译错误

写到这里,木木强烈推荐大家使用这款Fortran编译器:Simply Fortran。获取方式已经在我的第一篇文章中简单介绍,为什么极力推荐呢?原因有二:其一,小巧方便(与vs-ivf相比);其二,它可以显示关键字符位置(第6个与第72个),如下图:

 

接下来用一个小程序展示一下Fixed Format

1C     fixed format
2      program main
3      write(*,*)'hello',
4     5'nihao'
58     stop
6      end
7

第一行开头C表示注释,5在第6个字符位置,表示续行,8在第1~5个字符位置表示行代码(后续的文章中会讲到行代码在Fixed Format中的应用)。
注意: fortran中不区分大小写,字符间空格没有实际意义。


二、Free Format(自由格式)

Free Format对字符位置没有那么严苛的要求,需要注意的有:
1.叹号“”==后面的文本==都是注释行;
2.行号放在程序的最前面(一般不咋用);
3.每行可以编写==132==个字符;
4.续航符为“&”,放在行的最后。

1program main
2write(*,*)'h&   
3ello'           ! 注释哦
4end


我们可以注意到换行符&已经在Free Format中起作用了,注释也比较方便啦~


三 、输出(write)

Write括号里面的两个*,都有着各自的意义,第一个星号代表输出的位置使用默认值,也就是说屏幕,第二个星号代表不特别设置输出格式(后续推文会讲到格式化输出)。write的不同写法

1write(*,*)"巴拉巴拉"
2write(UNIT=*,FMT=*)"巴拉巴拉"
3write(6,*)"巴拉巴拉"    !屏幕输出unit的默认位置就是6
4write(UNIT=6,FMT=*)"巴拉巴拉"

当然,最简单的莫过于第一种写法,这里需要注意的是:因为双引号是用来输出字符串的,所以想要输出双引号时,要用双双引号哦~
Free Format可使用双引号或者单引号来封装字符串,Fixed Format只能使用单引号来封装字符串
此处还要讲一个命令:stop
Stop表示程序终止的意思,尽量不要使用在主程序结束之外的地方。
结束程序有3种方法:

1end        !fixed format只使用这个
2end program
3end program main


四、读入(read)

1program main
2    integer a
3    read(*,*) a
4    write(*,*) a
5end

这段程序用到了read命令,运行时,程序会等待用户输入数据,integer表示声明的意思(后续的推文中会提及),两个星号的意思与write相同。
读入多个数据

1program main
2    integer a,b,c
3    read(*,*) a,b,c
4    write(*,*) a+b+c
5end

该程序中,用户可以输入3个整数,逗号或空格用来区分数据,每输入一次数据按一次Enter键表示输入完成。
今天的Fortran学习就到此为止啦,以后会不定时更新有关Fortran编程的博客,敬请关注!

来源:易木木响叮当
理论通用
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-06-01
最近编辑:1年前
易木木响叮当
硕士 有限元爱好者
获赞 218粉丝 255文章 348课程 2
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈