Fortran数据格式.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Fortran数据格式

§ 7.3 格式输出 格式输出语句由两部分组成:输出语句和输出格式语句。输出语句的一般形式为: WRITE(*,L) 输出表列 或: PRINT L 输出表列 其中:* 代表隐含的输出设备,L 指输出格式语句的标号。 输出格式语句的一般形式: L FORMAT(1X,S) 其中:L 输出格式语句的标号,1X 纵向走纸符,S 输出格式,用不同的“格式编辑符”(简称“编辑符”)来实现指定的输出格式,各格式间用逗号相隔。 FORMAT语句又叫“格式语句”,是一个非执行语句,本身不产生任何操作,只是提供输入或输出的格式。FORMAT语句可以出现在程序的任何地方(但必须在PROGRAM语句之后和END语句之前,如果在子程序中用FORMAT语句,则应在子程序定义语句之后)。系统按WRITE语句或PRINT语句中指定的语句标号找到相应的FORMAT语句,并按FORMAT语句所规定的格式对数据进行输出。注意,PRINT语句中不能再用“*”,PRINT语句中的第一个标识符是语句标号而不是要打印输出的数据。 输出格式分两类 基本格式 7.3.1 I格式(又叫整数格式) 一般形式:Iw 或:Iw.m 其中:w 一个数据占的位数宽度(又称“字段宽度”),m 需要输出的最少数字位数。例1: WRITE (*,100)M,N 100 FORMAT(1X,I4,I4) 如果M=40,N=-12,则输出如下: ??40 ?-12 例2: WRITE (* , 100) I,J,K 100 FORMAT(1X,I5.3,I6.3,I4) 若 I=1234, J=-24, K=24689 则输出为: ?1234 ???-24 **** (1)数字在指定的区域内向右端靠齐,如果数字位数比指定的字段宽度w小,则左边补以空格。负数的符号也包含在字段宽度内。 (2)如果数字的位数超过了规定的字段宽度w,则不输出有效数据,而在该字段宽度范围内充满“*”符号。 (3)如果数字的位数超过了m,则按实际应输出的位数输出(但条件是不能超过w)。m不包括负号所占的一列。 7.3.2 F格式(又叫小数型格式) 一般形式:Fw.d w 各数值占的总位数 d 输出数据的小数位数(小数点后的位数)。 例1: WRITE(*,100)A,B,C 100 FORMAT(1X,F10.2,F9.3,F8.4) 若 A=1234.56, B=3456.78,C=234.56789 则输出: ???1234.56 ?3456.780 234.5679 例2: WRITE (* , 100) X,Y 100 FORMAT(1X,F10.4,F10.2) 若 X7, Y=0.0012345, 则输出为: ********** ???????.00 (1)数字在指定的区域内向右端靠齐,如果数字位数(含小数点和符号位)比指定的字段宽度w小,则左边补以空格;如果数字的位数超过了规定的字段宽度w,则不输出有效数据,而在该字段宽度范围内充满“*”符号。 (2)如果数据的小数位数比指定的小数位数d小,则在小数右边补0以凑足d位;如果小数位数大于d位,则输出时多于的小数位数按“四舍五入”规则舍去。 (3)假设b为数据整数部分的位数,则应使w≥b+d+1(小数点占一列),如果输出负数,则应保证w≥b+d+2(小数点和负号各占一列)。 (4)用F格式输出时应注意,由于难以事先确切估计出数据的大小,输出大的数时容易产生“宽度不够”的错误(由于w不够大),输出小的数时会出现丢掉有用数字的情况(由于d不够大而将后面的数字截去),这就是“大数印错,小数印丢”。 7.3.3 E格式(又叫指数型格式) 一般形式:w.d w 各数值占的总位数,d 输出数据的小数位数(小数点后的位数)。例1: WRITE (*,100)X,Y 100 FORMAT(1X,E12.4, E12.5 ) 如:X=3.17 Y=1234.56 则输出结果为: ??0.3170E+01 ?0.12346E+04。 (1)采取标准化的指数形式输出一个实数,d为以指数形式出现的数据的数字部分的小数位数。 (2)指数部分一般占4列,其中字母“E”和指数的符号各占一列,指数2列。 小数部分d列,再加上一个小数点和小数点前的一个“0”,因此要保证w≥d+6,输出负数时,w≥d+7。 (3)有的计算机系统允许有较大的实数范围,FORTRAN77提供了一种扩充的编辑符, 可以输出三位或

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档