FORTRAN90第四章格式输入输出.ppt_第1页
FORTRAN90第四章格式输入输出.ppt_第2页
FORTRAN90第四章格式输入输出.ppt_第3页
FORTRAN90第四章格式输入输出.ppt_第4页
FORTRAN90第四章格式输入输出.ppt_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

4 格式输入输出 格式化输出/输入的具体格式由“格式说 明”规定。 格式说明是由各种格式编辑符组成的字符 串。编辑符之间用逗号(,)分隔。 例:3X,I5,F8.3,L2,A 一个数据所占列数叫“字段宽度”,用w表 示。负数的符号也包含在字段宽度之内。 这里的W必须用整型常数 输出时,数据在w列内右对齐,若w列容纳不 下,则用一串*表示“字段宽度不够”,该数据 不再输出。 输入时,如果数据超过w列,则只截取输入数 据的w列,因此,输入数据必须不超过w列。在 输入数值型数据时,w列内的空格不起作用,但 是,在负数的负号后留空格会出错。 输入/输出数据时,要选择合适的w值。 输入时用READ,FORMAT语句 READ(*,100)A,B,I 100 FORMAT(F6.3,F7.2,I5) 输出时用WRITE,FORMAT语句 WRITE(*,100)I,A,J,B 100 FORMAT(1X,I4,F6.2,I5,F8.2) 不同类型的数据必须用不同的编辑符 4.1 格式编辑符 整型编辑符有:Iw.n, Bw.n, Ow.n, Zw.n四 种,分别对应十进制、二进制、八进制与十六 进制整数。 n只对输出有影响,表示至少有n位 数字,不足时左边补0 要输输出的数编辑编辑 符输输出结结果说明 1234 789 -12345 88486 I5 I8.4 I8.3 I4 1234 0789 -12345 * 实型编辑符用 Fw.d ,Ew.dEe 和 Gw.d ,其中d为 小数位数。小数部分按“四舍五入”或右边补0 的办法保证总有d个数字。 F编辑符用于实数的小数形式,小数形式很 直观,但很大或很小的数会给F格式带来麻烦 。 例: 实数3.14159 F8.3输出 3.142左边空3格 输入 3142左边空4格,不要用小数点,因为 F8.3已经说明右边三个数字是小数。如果输 入的数据带有小数点,则d不起作用. 说明:输入的数据行中空格按0处理,数据之间也不 能用逗号等分隔符. E编辑符用于实数的指数形式, 可以指定指 数的位数。 例: -3.1415926 E15.5E3输出 -.31416E+001 要输输出的数编辑编辑 符输输出结结果说明 12.34 -23.789 12345.56 F6.3 F8.2 F8.3 12.340 -23.79 * 说明: (1)如果不指定指数位数,则指数部分占四列. (2)数字部分按标准格式输出.即小数点前为0,小 数点后第一位非 0.小数位数由d指定。 要输输出的数编辑编辑 符输输出结结果说明 123.24 -0.005789 12345.56 23456.7 E12.4 E11.3 E8.4 E12.4E3 0.1232E+03 -0.579E-02 * 0.2346E+005 说明:用F,E编辑符输入时,它们的作用相同. 例如: READ(*,100)A,B,C,D 100 FORMAT(F8.3,E8.3,E8.3,F8.3) 如果输入数据为: 0.234 234 234E+00 2.34E-01 则A,B,C,D的值均为0.234 FORTRAN没有专门的复型格式编辑符。 对复数的输入/输出,用输入/输出两个实数( 复数的实部和虚部)来实现。例如: COMPLEX C READ(*,100)C 100 FORMAT(F12.4, F12.4) 逻辑型格式编辑符用Lw,输出时只打印T或 F,输入时只要是以T或F或.T或.F打头的字符 串即可。 字符型格式编辑符用A或Aw,如果不指定w, 则以字符变量定义长度L为准。 输出时,若wL,在字符前添加W-L个空格. 输入时,若wL,只读入W个字符中最右面的L 个字符. 字符变 量长度 输入的值 编辑 符 变量的值 6 7 9 8 FORTRAN HEFFG ABCDEFGI SHANGHAI A7 A6 A8 A ORTRAN HEFFG ABCDEFGI SHANGHAI 字符变 量长度 要输出的值编辑 符 输出结果 7 7 8 8 FORTRAN HEFFG ABCDEFGI SHANGHAI A8 A6 A6 A FORTRAN HEFF ABCDEF SHANGHAI 撇号编辑符,用于在输出时产生一些字符串. 如I=123,J=3456 WRITE(*,100)I,J 100FORMAT(1X, I= , I3 , J= , I4) 输出结果为: I=123J=3456 X编辑符:一般形式为nx . 输出时,用来产生N空格.输入时,用来跳过N列.例 如:I=1234,J=345 WRITE(*,(1X,I4,3X,I4) )I,J 输出结果为: 1234345,其中第一个空格作纵向走纸控 制符,不输出. READ(*,(2X,I4,3X,I3)I,J 若输入数据:123456789012345 则I=3456,J=12 纵向走纸控制符.FORTRAN规定,输出记录的第 一个字符作纵向走纸控制符,不输出.实际输出从 输出记录的第二个字符开始. 第一个字符纵向走纸控制 空格 0 1 + 其它字符 走纸一行,正常打印 走纸二行,隔行打印 换页打印 不走纸,从本行开头重叠打印 走纸一行 说明:输出时,一般将输出记录的第一个字符 设置为空格,否则会丢失有用的数据.如 I=2345 WRITE(*,(1X,I4)I,则输出结果为2345 WRITE(*,(I4)I,则输出结果为345 定位编辑符:控制输入输出位置,称制表位。Tn 移动到第n列;TLn向左移动n列;TRn向右移动n列 。很显然,后两种移动是相对于当前位置的。例 如:READ(*,(I4,TL3,I4)I, J 当输入数据为12345678时,执行该语句后 I=1234,J=2345 /编辑符表示:结束本记录的输入输出并开 始下一个记录的输入输出。例如: WRITE(*,(1X,I3/1X,I4)I,J 当I=123,J=4567时,输出为 123 4567 如果格式说明中有连续的相同的编辑符,可 以用重复系数“合并同类项”。例 :FORMAT(1X,F8.3,F8.3,F8.3,F8.3)等价于 FORMAT(1X,4F8.3) 而FORMAT(1X,I2,E10.3,I2,E10.3)等价于 FORMAT(1X,2(I2,E10.3) 输入/输出数据的类型必须与格式说明中相 应的编辑符类型一致,如果不一致,程序就会 出错,中断运行。 /编辑符、X编辑符、撇号编辑符可以穿插 在类型编辑符之间。 例:输出I,A,B,K时,格式说明: I5,2F9.3,I4是可 以的。I5,A=,F9.3/4x,F9.2,I4也是可以的 。 例:输出I,A,B,K时,格式说明:I5,2F9.3,A,I4是 错的, E12.4,A=,I5,F9.3/4x,F9.2,I4也是错 的。 组织好格式说明之后,可以结合READ语句进 行输入,或者结合WRITE语句和PRINT语句 实现输出。方法之一就是用格式语句 FORMAT 4.2 格式输入输出 用法:WRITE(设备,标号S) 输出列表 S FORMAT(格式说明) FORMAT语句是非执行语句。可以放在 END之前、程序语句后任何地方。必须带语 句标号。语句标号是一个整数,是语句的标志, 与语句之间至少有一个空格. 用法:PRINT 标号S, 输出列表 S FORMAT(格式说明) 用法:READ(输入设备,标号S) 输出列表 S FORMAT(格式说明) 例: WRITE(*,111) I,A 111 FORMAT(4X,I2,3F5.2,Out,A5) 222 FORMAT(4X,I2,F5.2,Out,A5) 格式说明中可以有多余的编辑符。在第一 个多余的类型编辑符之前的编辑符都有作 用,其余的不起作用。本例不输出Out,如果 改用222的格式语句,就会输出Out 例:READ(*,11) I,A,K,B,N 11 FORMAT(I5,F9.3) 12 格式说明中编辑符不够用,则另开一记 录并从头引用格式说明。这就可能引起死 循环。 13 本例数据要分三行。 例:WRITE(*,81) K 81 FORMAT(1X,Dead Loop) 出现死循环 例: WRITE(*,111) I1,I2,I3,I4,I5,I6,I7, I8,I9,IA 111 FORMAT(1X,2(I3,2X),2(I4, 2X), 2(I5,2X),I6) 格式说明中编辑符不够用,又有多个重复系数。 则另开一记录并从最后一个重复系数处引用格 式。本例输出两行,第二行按2(I5,2X),I6输出。例 如I1=11,I2=22,I3=33,I4=44, I5=55,I6=66,I7=77, I8=88,I9=99,IA=100 则输出为: 11223344556677 8899100 共输出两行. 多条输入/输出语句可以共用同一条 FORMAT语句,只要合乎需要就行 。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论