数据的输入输出上课用定稿PPT课件_第1页
数据的输入输出上课用定稿PPT课件_第2页
数据的输入输出上课用定稿PPT课件_第3页
数据的输入输出上课用定稿PPT课件_第4页
数据的输入输出上课用定稿PPT课件_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、1一、格式输出一、格式输出 Fortran规定用指定的规定用指定的“格式编辑符格式编辑符”来实现有格来实现有格式输入输出。式输入输出。1. I编辑符编辑符Iw或或Iw.m(w字宽,字宽,m最少字位)最少字位)write(*,100) 100,-30,12100format(1x,i3,i5,i5.4)end format语句为非执行语句,可出现在程序单位语句语句为非执行语句,可出现在程序单位语句(program, function)之后和之后和end语句之前的任何位置。语句之前的任何位置。(但为阅读方便,一般统一放在程序最后)(但为阅读方便,一般统一放在程序最后)输出输出 100-300012

2、用于整型数据的输入输出,用于整型数据的输入输出,Integer第1页/共28页2说明说明:1 1)数字在指定区域内向右靠齐;)数字在指定区域内向右靠齐;2 2)如果输出的列数超过字宽,字宽内充满)如果输出的列数超过字宽,字宽内充满“* *”;3 3)m m不包括负号所占列,输出列数超过不包括负号所占列,输出列数超过m m,按实际列输出。按实际列输出。第2页/共28页32. F编辑符编辑符Fw.d(w字宽,字宽,d小数位数)小数位数)write(*,100) 7.42,-194.31,0.12100format(1x,f6.3,f10.2,f4.1)end输出输出 7.420-194.310.1

3、用于实数编辑用于实数编辑, Fixed point number第3页/共28页4说明说明:1 1)小数点占一列,数字在指定区域内向右靠齐;)小数点占一列,数字在指定区域内向右靠齐;2 2)数据的小数部分字宽若小于)数据的小数部分字宽若小于d d则右端补则右端补0 0,大于,大于d d则多出则多出 的下一位按的下一位按“四舍五入四舍五入”处理;处理;3 3)如果输出的列数超过字宽,字宽内充满)如果输出的列数超过字宽,字宽内充满“* *”;4 4)容易)容易“大数印错,小数印丢大数印错,小数印丢”。第4页/共28页53. E编辑符编辑符Ew.d(w字宽,字宽,dE前数字部分小数位数)前数字部分小

4、数位数)write(*,100) 7.42,-194.31,0.12100format(1x,e11.3,e10.2,e8.1)end输出输出 .742e+01 -.19e+03.1e+00用于实数编辑,以标准指数形式输出,用于实数编辑,以标准指数形式输出,Exponent第5页/共28页6说明说明:1 1)指数部分含)指数部分含e e占占4 4列,数字在指定区域内向右靠齐;列,数字在指定区域内向右靠齐;2 2)小数点及前面的负号各占一列(有的系统还有)小数点及前面的负号各占一列(有的系统还有0 0););3 3)小数部分字宽若小于)小数部分字宽若小于d d则右端补则右端补0 0,大于,大于d

5、 d则多出的下一则多出的下一位按位按“四舍五入四舍五入”处理;处理;4 4)如果输出的列数超过字宽,字宽内充满)如果输出的列数超过字宽,字宽内充满“* *”;5 5)要有足够字宽。)要有足够字宽。第6页/共28页7 实数输出既可用实数输出既可用F编辑符,也可用编辑符,也可用E编辑符号,但整编辑符号,但整数输出只能用数输出只能用I编辑符。编辑符。 复数格式输出需要两个实数编辑符。复数格式输出需要两个实数编辑符。write(*,100) (2.2,3.4),(0.0,-5.8)100format(1x,f6.3,f6.3,e10.2,e10.2)end输出输出 2.200 3.400 .00e+0

6、0-.58e+01第7页/共28页84. G编辑符编辑符Gw.d(w字宽,字宽,d有效位数)有效位数)在在 用用F格式,格式,F格式后格式后4列留空。列留空。d101 . 0 数值数值 G编辑符虽然可以避免编辑符虽然可以避免F格式格式“大数印错、小数印大数印错、小数印丢丢”和和E格式不直观的弊病,但其输出时无法事先获知格式不直观的弊病,但其输出时无法事先获知F输出的小数位数,输出样式也零乱无规律,故不推荐输出的小数位数,输出样式也零乱无规律,故不推荐使用。使用。根据实数大小决定用根据实数大小决定用F型或型或E型格式输出型格式输出第8页/共28页95. D编辑符编辑符Dw.d(w字宽,字宽,d小

7、数位数)小数位数)write(*,100) 1.378675893D+02,1784.5D-03100format(1x,d18.10,f11.7)end输出输出 .1378675893d+031.7845000 双精度数编辑符,使用方法与双精度数编辑符,使用方法与E编辑符相仿。双编辑符相仿。双精度数也可以用精度数也可以用F编辑符输出。编辑符输出。6. L编辑符编辑符Lw(w字宽)字宽)write(*,100) .true.,.false.100format(1x,l4,l7)end输出输出 TF用于双精度数据的输出,用于双精度数据的输出,Double Precision用于逻辑型数据的输出,

8、用于逻辑型数据的输出,Logical第9页/共28页107. A编辑符编辑符Aw(w字宽,无字宽,无w按实际长度输出)按实际长度输出)write(*,100) China,NewYork,Fortran100format(1x,a6,a3,a)end输出输出 ChinaNewFortran8. 撇号编辑符撇号编辑符write(*,100) 3,5.6,Limin100format(1x,x=,i3,y=,f6.3,a,student)end输出输出 x=3y=5.600Liminstudent用于字符型数据输出用于字符型数据输出用来插入所需的字符串用来插入所需的字符串第10页/共28页119.

9、 H编辑符编辑符用来输出字符常量(不推荐使用)。用来输出字符常量(不推荐使用)。write(*,100) 3,5.6,Liminwrite(*,200)100format(1x,2Hx=,i3,2Hy=,f6.3,a,8Hstudent)200format(1x,Hello,15HHappy New Year!)end输出输出 x=3y=5.600Liminstudent Hello,HappyNewYear!nH(n字串长度,字串长度,n要准确无误)要准确无误)10. X编辑符编辑符用来在输出时产生空格。用来在输出时产生空格。nX(n空格个数)空格个数)write(*,100) 3,5.6,

10、-0.23100format(1x,i3,2x,f3.1,3x,f6.2)end输出输出 35.6-.23第11页/共28页1211. 纵向走纸控制纵向走纸控制 Fortran规定将规定将输出的第一个字符作输出的第一个字符作为纵向走纸标记,用为纵向走纸标记,用来控制行与行之间的来控制行与行之间的间隔,打印从第二个间隔,打印从第二个字符开始。字符开始。write(*,100) 246,1234第12页/共28页1312. 重复系数重复系数使用重复系数来规定重复使用的编辑符。使用重复系数来规定重复使用的编辑符。下面的下面的format语句等价:语句等价: format(1x,i3,i3,i3,f6

11、.2,f6.2) format(1x,3i3,2f6.2) format(1x,i3,2x,f6.2,2x,i3,2x,f6.2,2x) format(1x,2(i3,2x,f6.2,2x)13. 斜杠编辑符斜杠编辑符用于结束本行记录输出,开始下一行记录输出。用于结束本行记录输出,开始下一行记录输出。write(*,100) 5,4.2,6,7.8100format(1x, i3, f6.2/1x,i3,f6.2/)输出输出 54.20 67.80 (空一行)空一行)中间空一行需用中间空一行需用两个连续斜杠两个连续斜杠第13页/共28页14二、二、write和和format语句的相互作用语句的

12、相互作用1. 如果输出项的个数少于输出量编辑符个数,多余的如果输出项的个数少于输出量编辑符个数,多余的 编辑符不起作用,但紧邻的非输出量编辑符除外,编辑符不起作用,但紧邻的非输出量编辑符除外, 输出直到下一个输出量编辑符之前为止。输出直到下一个输出量编辑符之前为止。write(*,100) 5,4.2100format(1x,i3,f6.2,2x,end,i3,f6.2)end输出输出 54.20end 2. 如果输出项的个数多于输出量编辑符个数,重新使如果输出项的个数多于输出量编辑符个数,重新使 用格式说明,但用格式说明,但开始新记录开始新记录。write(*,100) 5,4.2,2,7.

13、8100format(1x,i3,f6.2)输出输出 54.20 27.80同同format(1x,i3,f6.2/1x,i3,f6.2),但不同但不同format(2 (1x,i3,f6.2)第14页/共28页153. 如果在格式说明中含有重复编辑符组,当格式说明如果在格式说明中含有重复编辑符组,当格式说明 用完后,用完后,只有最后一个编辑符组(含重复系数)及只有最后一个编辑符组(含重复系数)及 其后面的编辑符被重复使用。其后面的编辑符被重复使用。write(*,100) 5,6,4.2,7.8,2,9.3,9.2,3100format(1x,2(i2,2x),2(f4.1,2x),i3)e

14、nd输出输出 564.27.82 9.39.2 34. 如果有输出量,但在格如果有输出量,但在格 式说明中无相应编辑符,式说明中无相应编辑符, 则输出永不停止。则输出永不停止。write(*,100) 5100format(1x,i=)输出不停的输出不停的“I=”5. 可以用可以用format()输出空行,输出空行, 相应相应write语句应无输出量。语句应无输出量。6. 右边两对右边两对write和和 format作用相同。作用相同。write(*,100) i=,5write(*,200) 5 100format(1x,a,i3)200format(1x,i=,i3)end第15页/共28

15、页16三、格式输入三、格式输入 Fortran用用read和和format语句的联合来实现格式输语句的联合来实现格式输入。各编辑符含义与输出时相同,但输入时入。各编辑符含义与输出时相同,但输入时不必考虑不必考虑纵向走纸控制。纵向走纸控制。1. 整数的输入整数的输入read(*,100) i, j100format(i4, i5) 输入输入 34-56结果结果 i=34, j=-56注意:注意:在字段宽度内,在字段宽度内,空格按空格按0处理。处理。(错误!)(错误!)2. 实数、复数和双实数、复数和双 精度数的输入精度数的输入read(*,100) x,y,z100format(2f4.2,e6

16、.2) 输入输入 1346-5.17843e3结果结果 x=13.46,y=-5.1,z=78430注意:注意:输入数据可带可不带输入数据可带可不带小数点,自带小数点优先,小数点,自带小数点优先,但输入数据小数点占列。但输入数据小数点占列。第16页/共28页17complex xread(*,100) x100format(2f4.2) 输入输入 134617.4结果结果 x=(13.46,17.4)复数输入两实数复数输入两实数real*8 x,yread(*,100) x,y100format(f12.10,d12.10) 输入输入 13.4617445d14.57d2 结果结果 x=134

17、.617445, y=457D, E, F, G编辑符作用相同编辑符作用相同3. 逻辑型数据的输入逻辑型数据的输入logical a,b,cread(*,100) a,b,c100format(l6,2l4) 输入输入 .true.ttfcftt 结果结果 a=.true.,b=.true.c=.false.注意注意数据可以是数据可以是.true.、.false.,也可以是也可以是T、F开头的任开头的任何字符串。何字符串。第17页/共28页184. 字符型数据的输入字符型数据的输入(1)格式输入字符)格式输入字符不用带撇号,不用带撇号,字符串常量间字符串常量间没有分隔没有分隔 标记。标记。(2

18、)输入字串与字符变量长度不同时。字串短时右补空)输入字串与字符变量长度不同时。字串短时右补空 格,字串长时格,字串长时向右看齐,左边截去。向右看齐,左边截去。(3)推荐使用不带长度说明的推荐使用不带长度说明的A编辑符,编辑符,此时变量根据此时变量根据 长度自动选值。长度自动选值。character*4 w,x,y,z*5read(*,100) w,x,y,z100format(a5,a3,2a) 输入输入 chinanewwanghello 结果结果hinaw, newx, wangy,hellz第18页/共28页195. 其他说明其他说明1)X编辑符表示在读输入编辑符表示在读输入 记录时向右

19、跳过若干列。记录时向右跳过若干列。2)如果格式说明符已用完,)如果格式说明符已用完, 但还有未输入变量,则重复但还有未输入变量,则重复 使用编辑符,但应重开一行使用编辑符,但应重开一行 记录。记录。3)斜杠编辑符表示本记录)斜杠编辑符表示本记录 输入结束,并接着输入第二输入结束,并接着输入第二 个记录。个记录。read(*,100) i, j100format(1x,i3,2x,i3)输入 1234567890结果 i=234, j=789read(*,100) i, jread(*,200) m,n100format(i3)200format(i3/i3)输入 1234567890 1234

20、567890 1234567890 1234567890 结果 i=123, j=123 m=123, n=1234)可以将)可以将format语句中括语句中括 号中的格式说明放在号中的格式说明放在write、 print和和read语句中,但说语句中,但说 明内容不宜过长。明内容不宜过长。 read(*,(2i3) i, j write(*,(1x,2i3) 10,20 print (1x,2i3), 10,20第19页/共28页20上机目的:上机目的:1. 掌握各种格式编辑符的作用;掌握各种格式编辑符的作用;2. 熟悉格式语句与格式输入输出语句的相互作用。熟悉格式语句与格式输入输出语句的相

21、互作用。上机内容:上机内容:1. 调试课本中的所有程序;调试课本中的所有程序;2. 习题第习题第6、10题。题。第20页/共28页练习题:1. 阅读下列FORTRAN 77程序: READ(*,100)IA, I IF(IA.GE.125)THEN I=I+10 ELSE I=I-10 END IF WRITE(*,*)I 100 FORMAT(I2,I1) END在执行这个程序时,如果在键盘上输入256,2后,则运行结果I的值 。 答案: -4第21页/共28页2. 阅读下列FORTRAN 77程序: READ(*,200)P, Q, X WRITE(*,200)X 200 FORMAT(1

22、X, 3(2X, F3.1) END在执行这个程序时,如果由键盘输入1234567890123456789,则最后输出的X的值为 。3. 阅读下列FORTRAN 77程序: READ(*,100)I, J, K WRITE(*,200)K 100 FORMAT(3I4) 200 FORMAT(1X, I4) END在执行这个程序时,如果从键盘输入12 34 5 6 749845,则输出的K值为 。 答案:2. * 3. 5060第22页/共28页4. 阅读下列FORTRAN 77程序: LOGICAL X, Y READ(*,100)X, Y WRITE(*,*)X, Y 100 FORMAT

23、(1X, L4, 6X, L3) END如果在执行这个程序时由键盘输入.TRUE.FALSETAB,则该程序执行后输出的X值为 ,Y值为 。5. 阅读下列FORTRAN 77程序: CHARACTER X*4,Y*5,Z*4 X=YOUR Y=GIRLS Z=BOYS WRITE(*,100)X, Y, Z 100 FORMAT(1X,A3,A4,A2) END 上述程序运行后,输出的X, Y, Z的值为 。答案: 4. T,T 5. YOUGIRLBO第23页/共28页6. 设有下列格式输入语句: READ(*,100)X, Y, Z 100 FORMAT(1X,F3.1, 2X, F4.1, 3X, F2.1) END在执行这个程序时由键盘输入35678912521356789,则读入后X的值为 ,Y的值为 ,Z的值为 。7. 阅读下列FORTR

温馨提示

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

评论

0/150

提交评论