fortran90第四章格式输入输出

上传人:san****019 文档编号:70771910 上传时间:2019-01-18 格式:PPT 页数:20 大小:300.81KB
返回 下载 相关 举报
fortran90第四章格式输入输出_第1页
第1页 / 共20页
fortran90第四章格式输入输出_第2页
第2页 / 共20页
fortran90第四章格式输入输出_第3页
第3页 / 共20页
fortran90第四章格式输入输出_第4页
第4页 / 共20页
fortran90第四章格式输入输出_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《fortran90第四章格式输入输出》由会员分享,可在线阅读,更多相关《fortran90第四章格式输入输出(20页珍藏版)》请在金锄头文库上搜索。

1、4 格式输入输出,格式化输出/输入的具体格式由“格式说明”规定。,格式说明是由各种格式编辑符组成的字符串。编辑符之间用逗号(,)分隔。 例:3X,I5,F8.3,L2,A,一个数据所占列数叫“字段宽度”,用w表示。负数的符号也包含在字段宽度之内。 这里的W必须用整型常数,输出时,数据在w列内右对齐,若w列容纳不下,则用一串*表示“字段宽度不够”,该数据不再输出。,输入时,如果数据超过w列,则只截取输入数据的w列,因此,输入数据必须不超过w列。在输入数值型数据时,w列内的空格不起作用,但是,在负数的负号后留空格会出错。,输入/输出数据时,要选择合适的w值。,输入时用READ,FORMAT语句RE

2、AD(*,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,实型编辑符用 Fw.d ,Ew.dEe 和 Gw.d ,其中d为小数位数。小数部分按“四舍五入”或右边补0的办法保证总有d个数字。,F编辑符用于实数的小数形式,

3、小数形式很直观,但很大或很小的数会给F格式带来麻烦。 例: 实数3.14159 F8.3输出 3.142左边空3格 输入 3142左边空4格,不要用小数点,因为F8.3已经说明右边三个数字是小数。如果输入的数据带有小数点,则d不起作用.,说明:输入的数据行中空格按0处理,数据之间也不能用逗号等分隔符.,E编辑符用于实数的指数形式, 可以指定指数的位数。 例: -3.1415926 E15.5E3输出 -.31416E+001,说明: (1)如果不指定指数位数,则指数部分占四列. (2)数字部分按标准格式输出.即小数点前为0,小数点后第一位非 0.小数位数由d指定。,说明:用F,E编辑符输入时,

4、它们的作用相同. 例如: 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,则以字符变量定

5、义长度L为准。 输出时,若wL,在字符前添加W-L个空格. 输入时,若wL,只读入W个字符中最右面的L个字符.,撇号编辑符,用于在输出时产生一些字符串.如I=123,J=3456 WRITE(*,100)I,J FORMAT(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 若输入数

6、据:123456789012345 则I=3456,J=12,纵向走纸控制符.FORTRAN规定,输出记录的第一个字符作纵向走纸控制符,不输出.实际输出从输出记录的第二个字符开始.,说明:输出时,一般将输出记录的第一个字符设置为空格,否则会丢失有用的数据.如I=2345 WRITE(*,(1X,I4)I,则输出结果为2345 WRITE(*,(I4)I,则输出结果为345,定位编辑符:控制输入输出位置,称制表位。Tn移动到第n列;TLn向左移动n列;TRn向右移动n列。很显然,后两种移动是相对于当前位置的。例如:READ(*,(I4,TL3,I4)I, J 当输入数据为12345678时,执行

7、该语句后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编

8、辑符、撇号编辑符可以穿插在类型编辑符之间。,例:输出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之前、程序语句后任

9、何地方。必须带语句标号。语句标号是一个整数,是语句的标志,与语句之间至少有一个空格.,用法: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 FORMA

10、T(I5,F9.3) 格式说明中编辑符不够用,则另开一记录并从头引用格式说明。这就可能引起死循环。 本例数据要分三行。,例:WRITE(*,81) K FORMAT(1X,Dead Loop) 出现死循环,例: WRITE(*,111) I1,I2,I3,I4,I5,I6,I7, I8,I9,IA 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语句,只要合乎需要就行 。,可以把FORMAT后面括号连同格式说明一起当作一个字符串常量,作为输入输出语句的格式说明。,4.3 插进输入/输出语句中的格式说明,例: READ(*,(I3,F6.2,A) I,B,str,例: Write(*,(2x,I3,F6.2,A)I,B,str,例: Print (2x,I3,F6.2,A), I,B,str,最外层一定要用,格式说明中的撇号编辑符要改用连续两个撇号表示。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号