我们学习计算机语言的目的在于与计算机进行交互
(输入即向计算机发送指令,输出即计算机对我们发送的指令做出的响应),
所以交互的前提首先要搞清编程语言的输入输出
输入输出方法有:write print read
我们需要在输入输出语句中提供三方面的信息:
1)通过什么设备进行输入输出
2)采用的输入输出格式
3)输入输出的具体内容
program main
implicit none
! !!!!!注意本例中的!号为注释内容
! 这两个语句,声明了两个integer变量和一个real变量
integer(kind = 4) :: A = 23, B = 14
real(kind = 4) :: C = 4.5
! 普通输入输出,*号代表采用默认格式,又叫表控格式
print *, A, B, C
! 格式化输入输出,采用标号100定义的格式
print 100, A, B, C
100 format(1x, 2I4, F7.3)
! 或者
print '(1x, 2I4, F7.3)', A, B, C
! ------------------------分割线-------------------------
! print 只能输出到屏幕,而如果想要输出到文件可以使用write
!-格式:write(u, f) 输出项
!- u:表示设备号,指明输入输出设备,默认*或标号6为屏幕
!- f:表示格式说明符 如上所述100
!------------输入语句read与write类似------------
!-格式read(u, f) 输出项
!- u:表示设备号,指明输入输出设备,默认*号为屏幕
!- f:表示格式说明符 如上所述100
write(6, *) A, B, C
write(*, '(1x, 2I4, F7.3)') A, B, C
! 下面这一句把A,B,C输出到代号为80的文件,如果没有打开此文件
!,会默认创建文件名为fort.80的文件
write(80, '(1x, 2I4, F7.3)') A, B, C
! ------------------------分割线
! 输入,带格式的输入比较苛刻,可以自行试验
read(*, *) A, B, C
! ------------------------分割线-------------------------
! 上面我们用到了一些格式化输出
! 接下来介绍一下格式化描述符的意义
!1. 整数编辑描述符I,O等
! I用于十进制整数的输入输出, 格式:rIw r:重复的系数 w:字段宽度
print '(1x, 2I4, F7.3)', A, B, C ! 2I4对应后面A B两个整数变量,宽度各为4
print '(1x, I4, I4, F7.3)', A, B, C ! 展开形式
!2. 实型数据编辑描述符F, E, G等(与整型用法类似) 格式rFw.d d为输入输出的小数位数
!如果宽度w不够,输出以*号代替
!
!3. 字符型编辑符A
print '(2a)', 'hello fortran!', 'I am ADreamClusive!'
! 上面的输出 hello fortran!I am ADreamClusive!
! 两个字符串紧紧连在一起,可读性不好,也不好看
!3. X编辑符
! 用于在输入输出数据之间插入空格
print '(a, 2X, a)', 'hello fortran!', 'I am ADreamClusive!'
! 输出内容 hello fortran! I am ADreamClusive!
! 这样就比上边的格式舒服了很多
! ------------------------分割线-------------------------
! 当然,在格式中可以有字符串的输入输出
print '("lili: ", a)', 'hello fortran!'
print '("fortran: ", a)', 'I am ADreamClusive!'
! 斜杠编辑符
print '("lili: ", a/"fortran: ",a)', 'hello fortran!', 'I am ADreamClusive!'
! 比较老的方式:H编辑符号
write(*, 200) A, B, C
200 format(1x, 2HA= , I3, 2HB= , I3, 2HC= , F5.2)
end program