当前位置:首页 > Fortran语言基础 - 图文
山东建筑大学
a=”I am a student!”
program ex0413
character(len=20) string string = \ write(*,*) string
string(6:) = \重设设定从第6个字符之后的字符串 write(*,*) string end 执行结果: Good morning. Good evening.
注意:Fortran的命令不区分大小写,但是在字符串中是区分大小写的。 关于字符串的有关函数,请查阅相关的帮助。 2.2.5 逻辑变量(LOGICAL)
语法:logical a
注释:逻辑变量的值为“true”和“false”。逻辑变量输出值为”T”和”F” a=.true. a=.false.
逻辑变量用于程序的逻辑判断语句,一般并不输出。
READ命令
语法:read(*,*) a
program ex0417 integer a
read(*,*) a ! 由键盘读入一个整数 write(*,*) a ! 写出读进变量a的内容 end
Read命令用于实时接受用户从键盘输入数据。Read命令配合输入格式可以方便读取文件中的数据。有关格式命令参考帮助文件。
格式化输入(FORMAT)命令
13
数值分析程序设计——Fortran基础
2.5.1 格式化输出概论
Format命令用来设置输出格式,看一个例子:
program ex0420 integer a a=100
write(*,100) a ! 使用行代码100地方设定的格式来输出变数a 100 format(I4)
! 最前面的100是行代码, 把这一行程序代码给一个编号 end
程序的执行结果使用4个字符宽输出整数,前面没有多余的空格。 Format命令中可以使用很多的格式控制描述。下面列出所有格式命令的功能([]中的选项可以省略):
Aw——以w个字符宽来输出字符串;
BN——定义文本框中的空位为没有东西,在输入时才需要使用; BZ——定义文本框中的空位为0,在输入时才需要使用;
Dw.d——以w个字符宽输出指数类型的浮点数,小数部分占用d个字符宽; EW.d[Ee]——以w个字符宽输出指数类型的浮点数,小数部分占用d个字符宽,指数部分占用e个字符;
Enw.d[Ee]——以指数类型输出浮点数; Esw.d[Ee]——以指数类型输出浮点数;
Fw.d——以w个字符宽输出浮点数,小数部分占用d个字符宽; Gw.d[Ee]——以w个字符宽输出任何种类的数据; Iw[.m]——以w个字符宽输出整数,最少输出m个数字; Lw——以w个字符宽输出T或F的真假值; nX——把输出的位置向右跳过n个位置; /——代表换行;
:——在没有更多数据时结束输出; 下面看一个例子:
14
山东建筑大学
program ex0421 integer a real b complex c logical d character(len=20) e a=10 b=12.34 c=(1,2) d=.true. e=\
write(*,\ a ! 用I来格式化整数 write(*,\ ! 用F来格式化浮点数 write(*,\ ! complex也是浮点数 write(*,\ ! 用L来输出logical write(*,\ ! 用A来输出字符串 end
上例将输出格式写在Write命令内,下面的例子采用Format命令规定输出格式:
PROGRAM ex0422 INTEGER A REAL B COMPLEX C LOGICAL D CHARACTER*(20) E
15
数值分析程序设计——Fortran基础
A=10 B=12.34 C=(1,2) D=.true. E=\
WRITE(*,100) A ! 用I来格式化整数 WRITE(*,200) B ! 用F来格式化浮点数 WRITE(*,300) C ! complex也是浮点数 WRITE(*,400) D ! 用L来输出logical WRITE(*,500) E ! 用A来输出字符串 100 FORMAT(1X,I5) 200 FORMAT(1X,F5.2) 300 FORMAT(1X,F4.1,F4.1) 400 FORMAT(1X,L3) 500 FORMAT(1X,A10)
END
详细的输出格式使用方法,参考相关帮助。
2.5.2 详论格式化输出
格式化输出的控制字符非常丰富,但是常用的并不多,所以不需要记住每一个控制字符。一般来说,“I、F、E、A、X”是最常用的几个格式,最好能记住他们的用法。
【Iw[.m]】——以w个字符的宽度输出整数[至少输出m个数字] write(*,”(I5)”) 100
100 !采用5个字符宽输出,100前补两个空白 write(*,”(I3)”) 10000
*** !设置的输出文本框不足,输出3个*以示警告 write(*,”(I5.3)”) 10
010 !强迫输出
16
共分享92篇相关文档