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



文章目录

  • FORTRAN基础编程(1)——基本格式及输出、读入
  • 书面格式
  • 一、Fixed Format(固定格式)
  • 二、Free Format(自由格式)
  • 三 、输出(write)
  • 四、读入(read)



书面格式

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个),如下图:

Fortran的代码如何改写为python fortran简单代码_双引号

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

C     fixed format
      program main
      write(*,*)'hello',
     5'nihao'
8     stop
      end

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


二、Free Format(自由格式)

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

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

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


三 、输出(write)

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

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

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

end		!fixed format只使用这个
end program
end program main

四、读入(read)

program main
    integer a
    read(*,*) a
    write(*,*) a
end

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

program main
    integer a,b,c
    read(*,*) a,b,c
    write(*,*) a+b+c
end

该程序中,用户可以输入3个整数,逗号或空格用来区分数据,每输入一次数据按一次Enter键表示输入完成。