《格式输入输出》PPT课件.ppt
《《格式输入输出》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《格式输入输出》PPT课件.ppt(32页珍藏版)》请在三一办公上搜索。
1、第六章 格式输入输出,6.1 输入输出概述,6.2 格式输入输出语句,6.3 格式说明语句,6.4常用的编辑描述符,6.5 输入输出项与编辑符的相互作用,数据的输入输出是程序的重要组成部分。在前面几章中,我们使用最简单的输入输出语句,即用表控方式进行输入和输出。这是比较简单、自由的输入输出方式。在有些情况下,我们希望按照自己所要求的格式来进行输入输出,以使输入更加灵活,输出更加美观。这就是本章要介绍的格式输入输出问题。,6.1 输入输出概述,输入输出是指在计算机内存与外部设备之间传送数据的过程。从外部设备将数据传送到计算机内存称为输入。将计算机内部的数据传送到外部设备称为输出。要顺利地传送数据
2、,一般应在输入输出语句中给计算机提供三方面的信息:(1)通过什么设备来进行输入输出。(2)采用什么样的格式来进行输入输出。(3)输入输出的具体内容。,每一种计算机系统都隐含指定一种输入设备和输出设备。在微机中,隐含指定键盘为输入设备,显示器为输出设备。在输入输出数据较多时,也可以使用磁盘作为输入输出设备,即从已经建立的磁盘文件中去读取数据,将处理结果写入到磁盘文件中去。关于文件操作将在第11章介绍。输入输出的格式由格式编辑符来指定,不同的数据类型需要不同的格式编辑符,不同的格式编辑符确定不同的输入输出格式。输入输出的具体内容即输入输出项,输入项只能为变量,输出项可以为常量、变量、函数和表达式,
3、也可以是隐含的DO循环。下面先看一个格式输入输出的例子。,INTEGER J DO J=1,5,2 WRITE(*,10)J END DO10 FORMAT(1X,3I5)END,再看下面的例子。,INTEGER JWRITE(*,10)(J,J=1,5,2)10 FORMAT(1X,3I5)END,程序输出为:1 3 5每循环一次输出循环变量J的值,每个数据占5格,程序输出为:1 3 5程序中,WRITE语句的输出项“(J,J=1,5,2)”是一个隐含的DO循环,当作一个整体输出,每个数据占5格。,6.2 格式输入输出语句,6.2.1 格式输出,格式输出语句有两个:PRINT语句和WRITE
4、语句。1PRINT语句PRINT语句的一般格式是:PRINT f,输出项其中f是格式说明符,指明了输出所用的格式。它有以下三种形式:(1)格式说明符是一个“*”,表示输出使用表控格式。这在前面几章已作介绍。(2)格式说明符是一个字符常量。例如 PRINT(1X,2F7.3),X,Y(3)格式说明符是格式语句(FORMAT)的语句标号。这是最常用的格式输出形式。例如PRINT 100,A,B,C100 FORMAT(1X,F9.4,2F7.3)输出项指定了输出的具体内容。输出项可以是变量、常量、函数以及表达式。此外,输出项还可以是隐含DO循环。,2.WRITE语句WRITE语句的一般格式是:WR
5、ITE(u,f)输出项其中u是设备号,用于指明具体使用的输入输出设备。u可以是一个无符号整常量,也可以是一个整型变量或整型表达式,还可以是星号*。*表示由计算机系统预先约定的外部设备,一般为显示器。f是格式说明符,指明了输入输出所用的格式。它也有三种形式,用法与PRINT语句相同。输出项也可以是常量、变量、函数以及表达式,还可以是隐含的DO循环。,格式输入,格式输入语句是指READ语句,它有两种形式:READ f,输入项READ(u,f)输入项其中f指明了输入所用的格式。它有以下三种形式:(1)格式说明符是一个“*”,表示输入使用表控格式。(2)格式说明符是一个字符常量。例如READ(*,(I
6、3,2I4)I,J,K(3)格式说明符是格式语句(FORMAT)的语句标号。这是最常用的格式输入形式。u是设备号,用于指明具体使用的输入设备。u可以是一个无符号整常量,也可以是一个整型变量或整型表达式,还可以是星号“*”。“*”表示由计算机系统预先约定的外部设备,一般为键盘。输入项指定了输入的具体内容。输入项目可以变量,不允许是常量或表达式。此外,输入项目也可以是隐含DO循环,6.3 格式说明语句,FORTRAN用专门的格式说明来描述输入输出的格式。尽管格式说明可以直接放在输入输出语句中,但为了使程序的可读性更强,最好使用格式说明语句来进行格式说明。格式说明语句的一般格式是:n FORMAT(
7、格式说明)其中n是语句标号,FORMAT语句一定带有语句标号,以便同格式输入输出语句配合使用。格式说明由若干个编辑描述符组成,编辑描述符之间用逗号分隔。例如 10 FORMAT(1X,I4,F5.1)格式说明语句是非执行语句,它只是给输入输出语句提供数据的格式描述。在程序运行过程中,由输入输出语句根据格式说明语句提供的数据格式描述,实现数据的格式控制。单独的格式说明语句在程序中不器任何作用。例如 10 FORMAT(1X,I4,F5.1)WRITE(*,10)2345,67.8格式说明包含3种编辑描述符X,I和F。分别用I4和F5.1来控制2345和67.8的输出格式,1X也有特定的用途。格式
8、说明语句可以放在程序单位语句(主程序语句PROGRAM,子程序语句FUNCTION或SUBROUTINE)之后,END语句之前的任何位置。,6.4常用的编辑描述符,编辑描述符分成两大类:可重复编辑描述符和非重复编辑描述符。,6.4.1 可重复编辑描述符,可重复编辑描述符是用来编辑输入输出项的输入输出格式的,所以它们总是与输入输出项相对应。不同类型的输入输出项使用不同的编辑描述符。FORTRAN提供的内部数据类型有整型、实型、复型、字符型和逻辑型。相应地,编辑描述符也分五类介绍。,1.整型数据编辑描述符 根据数据采用的进制不同,整型数据编辑符分为四种,I编辑符、B编辑符、O编辑符和Z编辑符。I编
9、辑符用来描述十进制的整型数据,B编辑符用来描述二进制的整型数据,O编辑符用来描述八进制的整型数据,Z编辑符用来描述十六进制的整型数据。下面逐一介绍。(1)I编辑符。I编辑符用于十进制整数的输入输出。它的一般格式是:rIw其中r是重复系数,为1时可以省略。w表示字段宽度,即与该编辑描述符对应的输入输出项所占用的字符个数。I型输入的使用规则:在输入记录中从左往右取w个字符存入对应的输入项。注意取得的w个字符必须是整数,正负号也占一个字符位置,空格字符当0。例如READ(*,10)I,J,K10 FORMAT(I4,I5,I6)语句执行时,若从键盘输入714-346-12345(代表空格),则I,J
10、,K的值分别为:7104、-3460和-1023。,I型输出的使用规则:在输出记录中,对应的输出项的值占w个字符宽度。当w大于输出项实际的数字位数时,在输出字段中插入前导空格补足w个字符。当w小于输出项实际的数字位数时,将输出w个“*”,表示字段宽度定义小了。例如WRITE(*,10)K,L10 FORMAT(1X,I5,I4)当K=12,L=-7567时,输出结果为:12*(2)B,O,Z 编辑符。这是FORTRAN 90新增的编辑符。分别采用二进制、八进制和十六进制形式描述整型量的输入输出。其基本用法与I 编辑符相同。例如 READ(*,10)I,J WRITE(*,20)I,J,I,J1
11、0 FORMAT(B3,B4)20 FORMAT(1X,I5,I4,O4,Z5)END 语句执行时,若从键盘输入1011101,则I,J的值分别为二进制数101和二进制数1101。输出结果为:5135D,但与I 编辑符也有区别,特别注意以下几点:如果需要输出的二进制、八进制、十六进制数据位数大于编辑符定义的字段宽度,这时仍能输出数据,不过实际输出的数据是从原数据的右端截取相应的位数而得到的。例如 WRITE(*,20)1420 FORMAT(1X,B3)输出结果为:110Z编辑符可以用来输入输出字符型和逻辑型数据。例如 WRITE(*,20)1490,1434,ab20 FORMAT(1X,Z
12、3,Z3,Z5)输出结果为:016162 从上述输出结果可以看出,对于字符型数据,如果用Z编辑符输出,则输出结果为每一个字符所对应的ASCII码值。例如字母“a”的ASCII码值用十六进制表示为61,字母“b”的ASCII码值用十六进制表示为62。对于逻辑型数据,如果用Z编辑符输出,则逻辑真输出为1,逻辑假输出为0。,2.实型数据编辑描述符有四种编辑符可以对实型数据进行操作,它们是F编辑符、E编辑符、EN编辑符、ES编辑符和G编辑符。(1)F编辑符。用于实型量的输入输出(按小数形式)。它的一般格式是:rFw.d其中r为重复系数,为1时可以省略。w为字段宽度,d为输入输出项小数部分所占的位数。F
13、型输入规则:按编辑描述符中w指定的字段宽度从输入记录中截取数据,若w个字符中不含小数点,则系统自动按d决定小数点的位置,若w个字符中含有小数点,则按“自带小数点优先”的原则,不再按Fw.d中的d去加工该数据,此时d不起作用。例如 READ(*,10)A,B10 FORMAT(F7.2,F6.1)语句执行时,如从键盘输入123456726.89,则A、B的值分别为12345.6和726.89。当输入的是指数形式时,如果E前面的数字部分含有小数点,则d不起作用。如果数字部分不含有小数点,则自动按d决定数字部分小数点的位置。,例如 READ(*,10)A,B10 FORMAT(F8.0,F7.2)执
14、行语句时,如从键盘输入72.48E-32E2,则A、B的值分别为0.07248、2.0。F型输出规则:把输出项的值转换成字段宽度为w的小数形式输出,其中小数部分占d位,小数点占一位。如果输出项小数部分实际的位数小于d,则输出时小数部分低位以零补足d位,否则保留d位,从d1位开始四舍五入。如果输出项实际长度小于w,则在左边用空格补足w个,否则输出w个“*”,以示w太小。例如 WRITE(*,10)A,B,C10 FORMAT(1X,3F8.3)当A、B、C的值分别是78.9、-0.00072、12345.678时,输出为:78.900-.001*(2)E编辑符。用于输入输出指数形式的实数。它的一
15、般格式是:rEw.d其中r是重复系数,w是字段宽度,d为数字部分小数位数。,E型输入规则:与F编辑符完全相同。E型输出规则:采取规格化的指数形式,即数字部分小数前面为0,小数点后第一位为非零数字,指数部分占4列(E、指数符号位及两位指数)。如果输出项数字部分的小数位数多于d位,保留d位,从第d1位起四舍五入,小于d位,在其右边补0。如果输出项实际的位数小于w,左补空格,否则输出w个“*”。例如 WRITE(*,10)A,B10 FORMAT(1X,E12.4,E13.2)当A、B的值为128.433和-0.0008时,输出为:.1284E+03-.80E-03(3)EN编辑符。EN编辑符与E编
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 格式输入输出 格式 输入输出 PPT 课件
链接地址:https://www.31ppt.com/p-5676095.html