第11章高级输出与输入

上传人:痛*** 文档编号:252198780 上传时间:2024-11-13 格式:PPT 页数:36 大小:231KB
返回 下载 相关 举报
第11章高级输出与输入_第1页
第1页 / 共36页
第11章高级输出与输入_第2页
第2页 / 共36页
第11章高级输出与输入_第3页
第3页 / 共36页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,第,11,章 高级输出与输入,在第,3,章中,介绍了简单的输入输出操作(也称为表控输入输出、直接列表输入输出)语句,READ,、,WRITE,和,PRINT,。这些输入输出操作语句简单易学、使用方便。但是如果想要使输入输出的数据更为美观、易读易用或是想要实现一些特殊的效果,这些简单输入输出语句就显得力不从心了。在本章中,将介绍同高级输入输出相关的语句设置、不同种类的格式编辑符等内容。通过本章的介绍,就可以使程序在输入输出这方面显得更加专业。,11.1,输入输出语句的格式化设置,在第,3,章中,提到过简单输入输出语句同高级输入输出语句在形式上没有太大差别。高级输入输出语句之所以高级,主要因为其在于句说明中添加了丰富的格式控制说明项。正是这些格式控制说明项使输入输出语句在进行数据的输入输出操作时显得丰富多彩。本节将介绍同输入输出语句相关的一些详细设置。,在第,3,章中,已经介绍了三种常用的简单输入输出语句:,WRITE,语句、,PRINT,语句和,READ,语句。实际上高级输入输出语句也是这三个语句。只是在使用高级输入输出操作时,需要设置更多的输入输出控制选项。而简单输入输出语句无需设置这些控制选项,只要用星号“*”就可以表示系统默认的输入输出操作方式了。,要在输入输出语句中使用高级的输入输出选项,就要使用专门的语句来定义格式的形式。这个语句就是,FORMAT,语句,也称为格式说明语句。该语句的语法形式为:,FORMAT(format-list),11.2,输入输出语句与格式语句,在前一小节中,详细介绍了,FORMAY,语句的相关知识。在介绍的过程中,提到了,FORMAT,语句必须是有标号的,以便在输入输出语句中进行引用。在这一节中,就要介绍在输入输出语句中如何引用,FORMAT,语句。当,FORMAT,语句定义完全并编上标号后,就可以在输入输出语句中通过引用标号的形式来引用格式说明语句。三种输入输出语句引用格式说明语句的形式罗列如下所述。,11.2.1 WRITE,语句引用格式说明语句,在向外部设备输出时,语法形式如下:,WRITE(,设备号,FMT=,格式说明语句标号,),变量列表,语句中,设备号表示要在其上输出数据的设备,当设备号为星号“*”时,表示向默认的设备输出;关键字段“,FMT=”,用来显示说明其后所跟的标号为格式说明语句的标号,当,WRITE,语句说明项中只含有一项时,“,FMT=”,可以省略;语句中允许变量列表为空,此时,WRITE,语句的作用是输出一个空白行。,11.2.2 PRINT,语句引用格式说明语句,PRINT,语句只能向计算机的默认设备(即屏幕)上输出数据。因此,PRINT,语句引用格式说明语句的形式中不含有设备号这样的参数。语句的语法形式如下:,PRINT,格式说明语句标号,变量列表,需要注意的是,,PRINT,语句中在引用格式说明语句标号时,不允许使用关键字段“,FMT=”,。这和,WRITE,语句有一个重要的区别。语句中允许变量列表为空,作用与,WRITE,语句相同。,11.2.3 READ,语句引用格式说明语句,在从外部设备中输入时,语法形式如下:,READ(,设备号,FMT=,格式说明语句标号,),变量列表,语句中,设备号表示要在其上输入数据的设备,当设备号为星号“*”时,表示从默认的设备(一般是键盘)输入;关键字段“,FMT=”,用来显示说明其后所跟的标号为格式说明语句的标号,当,WRITE,语句说明项中只含有一项时,“,FMT=”,可以省略;语句中允许变量列表为空,此时,READ,语句将等待输入,指导用户键入回车键。,11.2.4,第一个输入输出综合应用,下面来看一段代码,这段代码综合应用了上述三种输入输出语句和,FORMAT,语句的交互作用。,TEST1101.F90,!WRITE&FORMAT,语句的范例,PROGRAM TEST1101,IMPLICIT NONE,!,变量定义,INTEGER:I,J,K,REAL:A,B,C,!,可执行段,WRITE(*,*)Input:,READ(*,100)I,J,K,READ(*,200)A,B,C,WRITE(*,*)Output:,WRITE(*,300)I,J,K,PRINT 400,A,B,C,!,格式说明,100 FORMAT(1X,3(I3,1X),200 FORMAT(1X,3(F6.2,1X),300 FORMAT(1X,I=,I3,J=,I3,K=,I3),400 FORMAT(1X,A=,F6.2,B=,F6.2,C=,F6.2),END PROGRAM TEST1101,11.3,格式编辑符概述,用户在指定输出格式时,需要特定的方式向系统说明格式的“相貌”。在,Fortran,中,描述格式“相貌”的工作由“格式编辑符”(或“编辑描述符”)来完成。格式编辑符的作用就是将数据进行类似书报编辑对文字进行编辑排版一样的处理,使数据以更美观的形式进行显示。在,Fortran,中,格式编辑符按照用途可以分为数据格式编辑符、控制格式编辑符和字符串格式编辑符三大类。下面将对这三类编辑符的使用和功能进行讲解。,11.4,数据格式编辑符,顾名思义,数据格式编辑符主要针对程序中的整型、实型、复型、逻辑型和字符型数据的输入输出格式控制。下面将对其中最常用的几种编辑符的作用和用法进行讲解。,11.4.1 I,编辑符,I,编辑符适用于整型数据的输入输出,其一般形式为:,Iw.m,I,是英文单词“,Integer”,的第一个字母,表示“整型数编辑符”。,w,用来指示以,w,个字符的宽度来输出数据(通常称一个数据所占的宽度为“字段宽度”),负数的符号也包含在字段宽度内。如果要输出的数据实际宽度超出了,w,规定的宽度,则不输出有效数据,而在该字段宽度范围内用星号“*”填充。,m,用来指示至少需要输出,m,个字符宽度的数字。如果输出数据的实际宽度小于,m,,则会在数据前面不足部分用,0,填充;如果输出数据的实际宽度超过,m,,则按输出数据的实际宽度进行输出(但不能超过,w,)。,11.4.2 F,编辑符,F,编辑符适用于实数的小数形式输出,其一般形式为:,Fw.d,F,是英文单词“,Fixed point number”,的首字母,表示“浮点数编辑符”。,w,仍然表示要输出的“字段宽度”,包含一个小数点和负数的负号。如果要输出的数据实际宽度超出了,w,规定的宽度,则不输出有效数据,而在该字段宽度范围内用星号“*”填充。,d,表示要输出数据的小数位数。如果要输出的实际数据的小数位数小于,d,,则会在小数后不足的部分补充,0,;如果要输出的实际数据的小数位数大于,d,,则会将实际数据中多余的小数部分按四舍五入规则去掉。,11.4.3 E,编辑符,E,编辑符用于输出指数形式的实数,其一般形式为:,Ew.dEe,E,是英文单词“,Exponent”,的首字母,表示“指数编辑符”。,w,还是表示要输出的“字段宽度”,包含指数部分所占的,4,个字符的宽度和负数的负号。如果要输出的数据实际宽度超出了,w,规定的宽度,则在该字段宽度范围内用星号“*”填充;如果输出的数据实际宽度小于,w,规定的宽度,则在输出数据的前面用空格填充。,d,表示要输出数据的小数位数。小数部分的位数可以由公式,wd+7,来确定,公式中的“,7”,表示一个小数点、小数点前的,0,、一个负号和指数部分所占的,4,位。如果实际数据在指数形式下的小数位数大于,d,,则多出的小数部分按四舍五入规则进行舍入;如果实际数在指数形式下的小数位数小于,d,,则不足的小数部分用,0,进行填充。,e,表示指数部分中指数所占的位数。,11.4.4 D,编辑符,D,编辑符适用于双精度数据的输出。其一般形式为:,Dw.d,D,是英文单词“,Double Precision”,的首字母,表示“双精度编辑符”。,w,仍然表示输出数据所占的字段宽度;,d,表示指数部分所占的位数。具体的含义同,E,编辑符。,在使用方法上,,D,编辑符与,E,编辑符相似。只是把字母“,E”,换成“,D”,,在数据输出时,指数部分的字母“,E”,用“,D”,来代替。实际上,,F,编辑符也可用于双精度数据的输出,和用于实型数据输出相似。但此时可能会由于不能确切估计实际数据的大小而出现“大数印错,小数印丢”的情况。,11.4.5 A,编辑符,E,编辑符用于输出指数形式的实数,其一般形式为:,Ew.dEe,E,是英文单词“,Exponent”,的首字母,表示“指数编辑符”。,w,还是表示要输出的“字段宽度”,包含指数部分所占的,4,个字符的宽度和负数的负号。如果要输出的数据实际宽度超出了,w,规定的宽度,则在该字段宽度范围内用星号“*”填充;如果输出的数据实际宽度小于,w,规定的宽度,则在输出数据的前面用空格填充。,d,表示要输出数据的小数位数。小数部分的位数可以由公式,wd+7,来确定,公式中的“,7”,表示一个小数点、小数点前的,0,、一个负号和指数部分所占的,4,位。如果实际数据在指数形式下的小数位数大于,d,,则多出的小数部分按四舍五入规则进行舍入;如果实际数在指数形式下的小数位数小于,d,,则不足的小数部分用,0,进行填充。,e,表示指数部分中指数所占的位数。,11.4.6 L,编辑符,L,编辑符适用于逻辑型数据的输出。其一般形式为:,Lw,L,是英文单词“,Logical”,的首字母,表示“逻辑编辑符”。,w,表示输出的逻辑型数据所占的字段宽度。由于逻辑型数据在输出时只显示一个字符,即,.TRUE.,打印为“,T”,,,.FALSE.,打印为“,F”,。因此,当,w,大于,1,时,字符的左端用空格进行填充。,11.4.7 G,编辑符,既然单独使用,F,编辑符和,E,编辑符都有这样或那样的缺点,那么有没有一种编辑符足够“聪明”,可以自行判别哪种数应该用,F,编辑符进行输出还是用,E,编辑符进行输出呢?,Fortran,提供了这样一种“聪明”的编辑符,即,G,编辑符。该编辑符对,F,编辑符和,E,编辑符的长处进行了综合,能够根据要输出的实数大小来决定用何种格式进行输出,即,F,型格式和,E,型格式。当输出的数值过大或过小时会自动采用,E,型格式,当输出的数值能够用小数形式表达时则用,F,型格式。,G,编辑符的一般形式为:,Gw.dEe,G,是英文单词“,General”,的首字母,表示“通用编辑符”。,w,仍然表示输出数据所占的字段宽度;,d,表示指数部分所占的位数;,e,表示指数部分数字的位数。具体的含义参考,E,编辑符。,11.4.8 B,、,O,、,Z,编辑符,二进制(,B,)、八进制(,O,)和十六进制(,Z,)编辑符是,Fortran 90,标准中新增的编辑描述符,用于整数、实数、字符和逻辑量的输出。其一般形式为:,Bw.m,Ow.m,Zw.m,B,、,O,和,Z,分别表示“二进制编辑符”、“八进制编辑符”和“十六进制编辑符”。,w,表示输出数据的字段宽度;,m,表示需要输出的最少数字位数,缺省值为,1,。如果实际的输出数据宽度少于指定的字段宽度,则数据的左端用空格填充。但对于二进制数,如果以,0,填补可读性会更好一些。例如,00010101,显示了,l0101,所有的,8,位,此时可以令,m=w,的方法来强迫数据的开始以,0,填补。,11.4.9 EN,、,ES,编辑符,工程计数法(,EN,)和科学计数法(,ES,)也是,Fortran 90,标准中新增的编辑描述符。两种编辑符的的一般形式为:,ENw.dEe,ESw.dEe,其中,E,是英文单词“,Exponent”,的首字母,,N,是英文单词“,Engineering”,的第二个字母,,S,是英文单词“,Scientific”,的首字母。,EN,和,ES,编辑符中的,w,、,d,、,e,与,E,编辑符中的基本类似,可以参考,E,编辑符中的相关描述。梁柱编辑符与,E,编辑符
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!