本篇推文将进一步讲解Fortran基础语法中格式化输出与声明部分,让我们的代码更加美观起来吧~
概论
1 program main
2 integer a
3 a =100
4 write(*,100) a
5 100 format (I4)
6 end
注意:
1.第五行有个100,表示行代码,也就是说第4行的write(*,100)
执行的是第五行的内容。format(I4)
是格式的意思,稍后会详细讲解;
2.自由格式中可以在行的最前面写行代码,固定格式写行代码时必须放在每一行的最前面5个字符文本框中;
3.尽量少用行代码,表示跳行,带来阅读不便。
Format命令可以使用很多格式控制描述,接下来木木带着大家温习一下比较常用的格式命令,遇到自己没见过的可以单独去网上查找,没必要全部记住。
Aw | 以w个字符宽度来输出字符串 |
---|---|
Dw.d | 以w个字符宽来输出指数类型的浮点数,小数部分占d个字符宽 |
Ew.d[Ee] | 以w个字符宽来输出指数类型的浮点数,小数部分占d个字符宽,指数部分占e个字符宽 |
Fw.d | 以w个字符宽来输出浮点数,小数部分占d个字符宽 |
Gw.d | 以w个字符宽来输出任何类型的数据 |
Iw[.m] | 以w个字符宽来输出整数,最少输出m个数字 |
nX | 把输出的位置向右跳n个位置 |
/ | 表示换行 |
kp | k值控制输入输出的scale |
接下来通过一个实例,展示一下格式化输出~
1 program main
2 integer a
3 real b
4 character(len=20) c
5 a = 10
6 b = 12.34
7 c = "Fortran"
8 write(*,"(1X,I5)") a
9 write(*,"(1X,F5.2)") b
10 write(*,"(1X,A10)") c
11 end
结果如下:
1 10
2 12.34
3 Fortran
注意:该程序用"()"代替format(), 可以减少代码的行数。
“I F E A X”最为常用,熟悉即可,其他的遇到再上网查阅。
【Iw】
以w个字符的宽度来输出整数。
1write(*,"(I5)") 100
2··100
输出样式固定了5个字符大小,所以100前面会补上两个空白
1write(*,"(I3)") 10000
2***
设置输出文本框不足时,会出现*
1write(*,"(I5.3)") 10
2···010
固定使用5个字符字段,至少输出3个
【Fw.d】
以w个字符宽来输出浮点数,小数部分占d个字符宽
1write(*,"(9.3)") 123.45
2..123.450
不足9个字符部分会填上空白,小数不足3位会补0
【Ew.d】
以w个字符宽来输出指数类型的浮点数,小数部分占d个字符宽,指数部分占e个字符宽
1write(*,"(E15.7)") 123.45
2..0.1234500E+03
使用15个字符字段,小数部分占7位
1write(*,"(E9.2E3)") 12.34
2.0.12E002
设定输出9个字符宽度,小数占两位,指数部分占3位
【Aw】
以w个字符宽来输出字符串
1write(*,"(A10)") "Hello"
2write(*,"(A3)") "Hello"
3.....Hello
4Hel
【nX】
输出位置向右跳n位
1write(*,"(5X,I3)") 100
2.....100
【\】
换行输出
1write(*,"(I3\\I3)") 10,100
210
3
4
5100
【小技巧】
1 program main
2 real a b c
3 a = 1.0
4 b = 2.0
5 c = 3.0
6 write(*,"(3(1XF5.2))") A B C
7 end
输出结果如下:
11.00 2.00 3.00
代表连续重复输出1XF5.2三次
好啦,今天的分享就结束啦~我们下期再见咯