版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、v1.0可编辑可修改§ 格式输出格式输出语句由两部分组成:输出语句和输出格式语句。输出语句的一般形 式为:WRITE(*,L) 输出表列 或:PRINT L输出表列其中:*代表隐含的输出设备,L指输出格式语句的标号。输出格式语句的一般形式:L FORMAT(1X,S)其中:L输出格式语句的标号,1X纵向走纸符,S输出格式,用不同的“格式编 辑符”(简称“编辑符”)来实现指定的输出格式,各格式间用逗号相隔。FORMAT语句又叫“格式语句”,是一个非执行语句,本身不产生任何操作, 只是提供输入或输出的格式。FORMAT句可以出现在程序的任何地方(但必须 在PROGRAM旬之后和ENDi&
2、#167;句之前,如果在子程序中用 FORMA语句,则应在 子程序定义语句之后)。系统按WRITES句或PRINT语句中指定的语句标号找到 相应的FORMAT句,并按FORMAT句所规定的格式对数据进行输出。注意,PRINT 语句中不能再用“ *",PRINT语句中的第一个标识符是语句标号而不是要打印 输出的数据。输出格式分两类基本格式I格式(又叫整数格式)一般形式:Iw或:其中:w 一个数据占的位数宽度(又称“字段宽度”),m需要输出的最少数字位数。例1:WRITE (*, 100) M N100 FORMAT (1X, I4 , I4 )如果M=4Q N=-12,则输出如下:?
3、? 40 ? -12例2:WRITE (* ,100) I,J,K100 FORMAT(1X,I4)若 I=1234 , J=-24 , K=24689 则输出为:? 1234 ? ? ? -24 *(1)数字在指定的区域内向右端靠齐,如果数字位数比指定的字段宽度w小,则左边补以空格。负数的符号也包含在字段宽度内。(2)如果数字的位数超过了规定的字段宽度 w,则不输出有效数据,而在 该字段宽度范围内充满“ *”符号。(3)如果数字的位数超过了 m,则按实际应输出的位数输出(但条件是不能 超过w)。m不包括负号所占的一列。F格式(又叫小数型格式)一般形式:w各数值占的总位数d输出数据的小数位数(
4、小数点后的位数)。 例1:WRITE (*,100) A, B, C100 FORMAT(1X,若a=, B=, C=则输出:? ? ? ?例2:WRITE (* ,100) X,Y100 FORMAT(1X,若X=.7, Y=,则输出为:* o o o o o o o nn(1)数字在指定的区域内向右端靠齐, 如果数字位数(含小数点和符号位) 比指定的字段宽度w小,则左边补以空格;如果数字的位数超过了规定的字段宽 度w,则不输出有效数据,而在IT?段宽度范围内充满“*”符号。(2)如果数据的小数位数比指定的小数位数 d小,则在小数右边补0以凑 足d位;如果小数位数大于d位,则输出时多于的小数
5、位数按“四舍五入”规则 舍去。(3)假设b为数据整数部分的位数,则应使 w>b+d+1(小数点占一列), 如果输出负数,则应保证 w>b+d+2(小数点和负号各占一列)。(4)用F格式输出时应注意,由于难以事先确切估计出数据的大小,输出 大的数时容易产生“宽度不够”的错误 (由于w不够大),输出小的数时会出现丢掉有用数字的情况(由于d不够大而将后面的数字截去),这就是“大数印错, 小数印丢”。E格式(又叫指数型格式)一般形式:w各数值占的总位数,d输出数据的小数位数(小数点后的位数)。例 1:WRITE(*, 100) X, Y100 FORMAT (1X,)如:X= Y=则输出结
6、果为:? ? +01 ? +04。(1)采取标准化的指数形式输出一个实数,d为以指数形式出现的数据的 数字部分的小数位数。(2)指数部分一般占4歹I,其中字母" E'和指数的符号各占一列,指数2 列。小数部分d歹I,再加上一个小数点和小数点前的一个“ 0”,因此要保证 w> d+6,输出负数时,w> d+7。(3)有的计算机系统允许有较大的实数范围,FORTRAN桎供了一种扩充的编辑符, 可以输出三位或四位指数。这种编辑符的形式为:,用e指定指数的位数。有的计算机系统的FORTRAN译系统已根据其允许的实数范围,自动将 指数的位数改为3位或4位,不必在RORMAT
7、句中用编辑符单独为某些数据指 定所需的指数位数,只需写形式即可,输出时系统会给出三位(或四位)指数。G格式G 格式可以根据输出的实数大小决定用小数形式(F格式)输出或指数形式 (E格式)输出。当输出大数值或小数值时自动按 E格式,当输出的数不大不小 时用F格式。具一般形式为:(1)凡绝对值小于的数或绝对值大于10d的数用E格式输出;其余的数用F 格式输出。(2)用E格式输出时,最后4列为指数部分,而用F格式输出时最后4列 留空。(3)用指数形式输出时,格式同;用 F格式输出时,不是按形式输出,d 规定的不是小数位数而是打印出来的全部数字的位数,小数位数根据数值大小和d的大小而定,这样做的目的是
8、使数的整数部分能全部保留,而适当截去小数部 分,以保证输出数值的正确性。因为小于 10d的数,其整数部分最多为d位,因 此,可以全部输出这d位整数,小数的位数为:d-(数值整数位数)。D格式一般形式:用于双精度数据的输出,使用方法与 E格式相仿,只是把字母“ E"换成"D'。7.3.6L格式一般形式:Lw用于逻辑型数据的输出,w输出数据的字段宽度。逻辑值” .TRUE.”,在输出时 打印一个字母T;逻辑值”.FLASE.",在输出时打印一个字母F。T和F打印在字 段范围内的最右端。A格式一般形式:Aw或:A用于字符型数据的输出,w为字段宽度,不指定w时(即
9、形式:A),按字符变 量的实际长度(即程序定义该变量时的长度)输出。字符串在指定的区域内向右端靠齐,如果字符串的位数比指定的字段宽度 w小,则左边补以空格;如果字符串的位数超过了规定的字段宽度w,则只输出最左面的w个字符。'(撇号)格式用来插入所需的字符串,例如:WRITE(*,100) I,J100 FORMAT(1X,'I=',I3,'J=',I4)如果I=123 , J=2347,则输出:I=123J=2347如果需要输出的字符包括撇号,则用两个连续的撇号代表一个被输出的撇号 字符。例如:CHARACTER *10 STUDREAD * STUDW
10、RITE(*,10) STUD10 FORMAT(1X,A,'IS LI''S STUDENT.')END如果输入给STUD勺值为ZHANGSUN ,则输出为:ZHANG SUN IS LI'S STUDENT.H格式一般形式:nH 字符串用来输出字符常量,与撇号格式相似。n为字符串中字符的个数。如上面的例子(I=123, J=2347),可改写为:WRITE(*,100) I,J100 FORMAT(1X,2HI=,I3,2HJ=,I4)则输出与上例相同:I=123J=2347可以单独用撇号格式或H格式输出字符串而不必要求WRITER句中有相应的 输出
11、项。如:WRITE(*,100)100 FORMAT(1X,'ZHANG SUN IS LI''S STUDENT.')或:100 FORMAT(1X,26HZHANG SUN IS LI'S STUDENT.)用H格式必须准确地数出字符串中的字符个数,数错了就会造成错误。所以最好不用H编辑符而用撇号编辑符,后者不必数字符,使用方便,字符串界线清 楚无误。FORTRA77之所以保留H编辑符主要是为了与FORTRA66兼容(FORTRAN 66只能用H编辑符输出字符串而没有撇号编辑符)。X格式一般形式:nX用于输出空格,n输出的空格数目。即插入n个空格,或
12、者说,使打印的“当前 位置”向右移动n歹I。例:WRITE(*, 100) I , A, B100 FORMAT (1X, I3 , 2X, , 2X,)当I=146, A= B=寸,输出为:146 +04如果不用X格式插入空格,数据将连成一片,难以区分开。注意:不要把2X作为与A对应的格式符,WRITE®句中的I , A, B分别与 FORMAT句中的I3,和格式符对应。X格式符不能用来提供整数、实数、以及 其它类型数据的输出格式,它只能插入若干个空格。FORTRAN 77还允许n是负整数,表示从当前位置向左移动 n的绝对值列。 微机上使用的FORTRAN集不能使用n为负值的格式符
13、。/(斜杠)格式斜杠(/)编辑符的作用是:结束本记录的输出并开始下一个记录的输出。 例如:WRITE(*,100)I,A,J,B100 FORMAT(1X,I3,1X,I3,若I=246,A=,J=35,B=,输出结果为:24635一个WRITER句输出打印了二行信息,这是由于 FORMAT句中有一斜杠, 使之产生两个输出记录(注意,斜杠之后也有一个“ 1X”,使第二个记录的第一 个字符为“空格”,作为纵向走纸符)。如果有两个连续的斜杠,如:100 FORMAT(1X,I3,/1X,I3,输出完第一行后,空一行,再输出第二行。即:246(空一行)35如果在编辑符的最后出现斜杠,如:100 FO
14、RMAT(1X,I3,1X,I3,输出完第二个记录后,再输出一个空行。即:24635(空一行)重复系数重复使用的编辑符可以在其前加一个重复系数,其形式为:rIw , , , , rAw,rLw等,r为重复系数。以下两个FORMAT句等价:100 FORMAT(1X,I3,I3,100 FORMAT(1X,2I3,3F如果有以下FORMAT句:150 FORMAT(1X,I4,2X,2X,I4,2X,2X)其中下划线的二组编辑符是相同的,可以只写一次而用重复系数使之重复使用:150 FORMAT(1X,2(I4,2X,2X)纵向走纸控制FORTRAN规定的走纸控制符如下表:纵向走纸控制符打印前纵
15、向走纸控制空格走纸一行(即正常换行)0走纸二行(即一行依行)1换页+不走纸(不换行)从本行开头重新叠打其它字符大多数系统接走名氏一行处理如果需要本行的输出是换一行从头开始打印的话,就应该在本行的开头设置一个空格。“1X”的本来意义是产生一个空格,但按规定,将输出记录的第一个字符作为纵向走纸控制之用,它产生的动作是“走纸一行”。因此, FORMAT句中的第一项“ 1X”的作用是“纵向走纸控制”。(1)打印输出一行后不会自动换行,“打印的当前位置”(即指针)停在本行输出的最后一个字符后面。(2)只要输出记录的第一个字符是空格,就可使走纸一行。因此也可以不 采用“1X“而用(即空格)也可达到同样的目
16、的。(3)如果不预先在输出记录的第一个字符处设一空格,则系统会将输出的 第一个字符作为走纸控制符,从而使本来想打印的内容缺少了一个字符。(4)如果走纸控制符为“ +”表示不换行,在本行睛再叠印一行新的内容WRITE语句与FORMAT句的相互作用输出记录的内容是同 WRITE®句和FORMAT旬共同决定的。WRITE®句提供变量的值,FORMAT旬提供字符用、空格、以及数据输出的格式。FORMAT句中括弧内的内容称为“格式说明”。对这两个语句相互关系说明如下:(1) WRITE®句中的变量个数与 FORMAT句中的I , F, E, G D, L, A编 辑符的个数
17、可以相等也可以不等。 如果变量个数少于上述编辑符个数,则多余的 编辑符不起作用。(注意,上述编辑符不包括X编辑符、H编辑符、撇号编辑符, 下同)。在执行格式才$制时,对 WRITE®句的变量表列和FORMAT句中的格式说明 同时扫描,一一对应。当变量表列结束,而 FORMAT句扫描到一个上述的编辑 符,则扫描继续下去,直到遇到非 X、非H、非撇号编辑符为止。(2)如果变量个数多于格式说明中的编辑符个数,即 WRITES句中的变量 表列中还有未输出的元素,而格式说明中编辑符已用完,则重新使用该格式说明, 但产生一个新记录。(3)如果在格式说明中包含有重复使用的编辑符组,则当格式说明用完
18、后 再重新使用时,只有最右面的一个编辑符组(包括其重复系数)和它右面的编辑 符被重复使用。(4)如果有输出量,但格式说明中无相应的编辑符,则输出永不停止。因 此,如果WRITER句中有一个或一个以上的输出变量的话, 则格式说明中至少应 该有一个非X、非H (或撇号)的相应的编辑符。(5)在扫描过程中,格式说明中的各编辑符(指 I , F, E, G, A, L)都要 有相应的变量才能组织输出,而 X、H、撇号、斜杠等编辑符不需要有相应的输 出变量而直接进行输出。(6)可以有“空格式说明",如FORMAT ,用来输出一个空行。此时WRITE 语句中不应有任何输出量。(7)遇格式说明的右括号(即最后面一外括号)或斜杠“/”时,结束本记录的输出,但不意味停止全部输出。只要输出表列中还有未输出的量, 将重复使 用格式说明或按斜杠右面的格式说明组织输出。右括号的作用与斜杠有一点不同:当扫描到右括弧而输出表列中已无输出变 量时,输出即告结束。而斜杠只表示结束本行输出,即使此时已列输出变量要输 出,输出并未停止,它会重新开始
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年高考数学一轮复大题仿真卷01(ABC三组夺分卷)(学生版+解析)
- 企业资产重组知识产权转让合同
- 水库优化调度工程师考试试卷及答案
- 水产养殖尾水处理工程师岗位招聘考试试卷及答案
- 浐灞生态区协议书供货
- 协议书车可以改全款
- 政企数据开放合作平台
- 237万宅基地赔款协议书
- 工厂招标承包经营协议书
- 护肤品公司劳动协议书
- 【MOOC】《理性思维实训》(华南师范大学)章节期末慕课答案
- 《水质监测智能无人实验室建设与运维技术要求》
- 2025年财政资金监管“清源行动”自查报告
- 《焊条电弧焊》课件(共七章)
- 2026中远海运集团招聘考试参考题库及答案解析
- 高速路机电安全培训课件
- 医疗器械生产企业洁净区工作服管理规定
- 2025国铁集团考试题库及答案
- 老年健康饮食指导及食谱设计
- 中国科学院2025年科研项目聘用人员工作规范与考核协议
- 综合行政执法面试题及参考答案
评论
0/150
提交评论