资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第四章 数据的输入与输出,4.1,整型数的输入输出,4.2,实型数的输入输出,4.3,复型数的输入输出,4.4,逻辑型数的输入输出,4.5,字符型数据的输入输出,4.6,双精度数的输入输出,4.7,其他格式编辑符,第四章 数据的输入与输出4.1 整型数的输入输出,1,输入输出的三种不同的格式:,1,表控格式的输入输出,2,有格式的输入输出,3,无格式的输入输出,要素:,1,在什么外部设备上输入或输出,2,用什么格式输入输出,3,输入输出哪些数据,输入与输出编辑符,输入输出的三种不同的格式:输入与输出编辑符,2,常用输入设备:键盘、卡片机、磁盘,常用输出设备:显示器、打印机、磁盘,如:,READ,(*,*),X,WRITE,(*,*),X,一般形式:,READ (,),READ ,WRITE (,),PRINT ,格式说明:,*、格式字符表达式,作用:,精确地说明每一个数据应该怎样输入或输出,包括类型、小数点位置、有效位数、输出结果的形式,常用输入设备:键盘、卡片机、磁盘,3,1,I,编辑符控制输出,:,功能:,用于整型数据的输入输出,格式:,IwIw.mrIw,w,输入输出数据字段宽度,m,无符号整数,表示数据输出时最小含有的位数,它,不包括符号位,。,在输出时,,m,位数,,则在整数之前补,0,,使宽度为,m,;若,m,位数,,则按照实际数输出结果。,r,为重复系数,4.1,整型数的输入输出,1I 编辑符控制输出:4.1 整型数的输入输出,4,例,1,设,J=10,,,K=-12,,,L=123,WRITE (*,(I3,,,I5,,,I7),)J,K,L,10-12123,例1设 J=10, K=-12,L=123,5,注意:,1,数字在指定的区域内右端对齐,不足,w,则左边补空格。,2,负数的符号也包含在字段宽度内。,3,如果应输出的列数超过了规定的字段宽度,则不输出有效数据,以,w,个*填充。,注意:,6,例,2,在上例中,如果,J=-100,,则结果为:,*,-12123,例,3,如果将格式串改为:,“(,I3,,,I5.4,,,I7.5,)”,则输出:,10-001200123,例,4,如果,L=123456,10-0012123456,!,Iw.m,:,m,位数,,则在左边用,0,补齐,使宽度为,w,;若,w=n+d+2,当实型数值大于或等于,0.0,时,则,w=n+d+1,用此来确定,w,的宽度,F,编辑符,rFw.d,功能:用于实数编辑,小数形式的输出(定点数:单精度实,17,1,)实数的输入(三种方式,),设,a=1.2,;,b=45.67,;,c=-8.3527,READ,(*,,(F4.1,2F10.6),),A,,,B,,,C,(,1,),124567-83527,!,不带小数点,按,w,截取数据,由,d,决定小数点的位置,按右对齐,空格当,0,1)实数的输入(三种方式),18,(,2,),1.245.67-8.3527,!,带小数点,带小数点,,d,不起作用,小数点记入,w,中,(,3,),1.2,,,45.67,,,-8.3527,(表控格式),用自由格式,逗号分隔,每个字段长度必须,=d+3+4,优点:不必事先估计数的大小,能容纳任意大小的数据。,Ew.dEe,e,指定指数的宽度,E,编辑符,Ew.dE编辑符,25,例:用,E,格式输入,A=103.610,-5,B=3598.4510,-8,C=-67.2410,2,READ,(*,,100,),A,,,B,,,C,100 FORMAT,(,E8.2,,,E12.4,,,E10.3,),(,1,),10360E-5359845E-8-6724E2,(,2,),103.6E-53598.45E-8-67.24E2,(,3,),103.6E-5,,,3598.45E-8,,,-67.24E2,例:用E格式输入,26,例:用,E,格式输出数据,X=-84.31Y=3.141592Z=0.0187,WRITE,(*,,200,),X,,,Y,,,Z,200FORMAT,(,E10.3,,,E13.6,,,E15.6,),结果:,-0.843E+020.314159E+010.187000E-01,例:用E格式输出数据,27,规则:,1,wd+7,数据右对齐,左边用空格填满,w,位,若,wd,四舍五入取,d,位,尾数位数,d,其后用,0,补齐,注意:,一般格式,E16.77+7+2,(,2,个空格,以便阅读),规则:,28,功能:,根据输出实数大小决定用,F,或,E,格式输出。,较大或较小,自动按,E,格式,Gw.d,条件:,1.abs,(,A,),10,d,使用,E,格式输入输出,条件:,10,d,abs,(,A,),=0.1,使用,F,格式输入输出,G,编辑符,功能:G编辑符,29,A=758321.6 G14.7ABS,(,A,),10,7,用,E,格式,0.7583216E+08,注意:,采用,F,格式,,d,为全部数字的位数,优先满足整数位,A=758321.6 G14.7ABS(A)L,,仅保留右边的,L,个字符,若,wL,,右边加,L-w,个空格,例:,CHARATER X*4,,,Y*10,READ,(*,,100,),X,,,Y,100 FORMAT,(,A5,,,A7,),END,输入:,BASICFORTRAN,4.5,字符型数据的输入输出,格式1:rAw4.5 字符型数据的输入输出,33,结果:,X=ASIC,Y=FORTRAN,2.,字符变量的输出,输出形式要有,w,个字符,若,wL,右对齐,左边补,w-L,个空格,CHARATER X*4,,,Y*10,X=BASIC,Y=FORTRAN,WRITE,(*,,(A7,2X,A4),),X,,,Y,END,结果:X=ASIC,34,输出:,BASI,FORT,A7 2X A4,格式,2,:,A,CHARATER*5 A,,,B,,,C,READ,(*,,(A,A,A),),A,,,B,,,C,WRITE,(*,,(A,2X,A,2X,A),),A,,,B,,,C,END,输入:,ABCDBASICFORMAT,结果:,ABCDBASICFORMA,输出: BASIFORT,35,例:如下表所示输入:,变量长度,输入串,编辑符,接收值,说明,4,ABCDEF,A6,CDEF,保留左边,4,个,5,ABCD,A5,ABCD,6,ABCDE,A3,ABC,右边补,3,个空格,7,FORTRAN,A,FORTRAN,W=7,例:如下表所示输入:变量长度输入串编辑符接收值说明4ABCD,36,输出:,变量长度,变量值,编辑符,输出值,说明,6,FORMAT,A2,FO,5,BASIC,A5,BASIC,3,NEW,A6,NEW,7,FORTRAN,A,FORTRAN,输出:变量长度变量值编辑符输出值说明6FORMATA2FO,37,格式:,Dw.d,数符,+0+,小数点,+,小数部分,+,E+,符号,+,指数部分,4,位,3 d 6,方法同,E,格式,双精度数有,16,位有效数字,,则一般采用,D27.16,格式(,9+16+2,),4.6,双精度数的输入输出,格式:4.6 双精度数的输入输出,38,注意:,对于字符型数据的输入:,1,、 在表控格式输入的时候,输入的字符串可以加上撇号,也可省略,撇号不起作用。,2,、 在有格式输入的时候,输入的字符串的时候不需要加上撇号,如果输入带撇号,则撇号算入,W,宽度。,注意:,39,一),X,编辑描述符,功能,1,:,在输出时产生空格,1,不需变量对应,2.,是不可重复的编辑符,nX,n0,右移光标,K=123L=2001A=34.5,WRITE,(*,,(I3,I4,F4.1),),K,,,L,,,A,结果:,123200134.5,4.7,其他格式编辑符,一)X编辑描述符4.7 其他格式编辑符,40,将格式串改为:,(,I3,,,2X,,,I4,,,3X,,,F4.1,),!X,表示空格,结果:,123200134.5,功能,2,:,输入时,表示跳过,n,个字符,READ,(*,,(2X,F7.1),),A,输入:,1234.51,A=34.51,!,12,跳过,将格式串改为:,41,二)其他编辑描述符,1,撇号编辑符,功能:输入所需的字符串,描述字符串常量。,2,H,编辑符,:,描述字符串,nH,注意:,1. N,必定等于字符串长度,否则编译出错,2.,字符串中空格有意义,二)其他编辑描述符,42,X=45.7,Y=289.7,WRITE,(*,,100,),X,,,Y,100 FORMAT,(,2HX=,,,F5.1,,,4HY=,,,F6.2,),END,结果:,X=45.7Y=289.70,也可,FORMAT,( ,X=,,,F5.1,,,Y=,,,F6.2,),X=45.7,43,3,斜杠编辑描述符,作用:结束本记录的输出并开始下一个记录的输出,WRITE,(*,,(5HABCDE,/,5HBCDEF,/,1X,5HCDEFG),),结果如下所示:,ABCDE,BCDEF,CDEFG,注意:,1.,如两个连续斜杠,在输完前面记录后,空一行再输出,2.,如在编辑符的最后出现一个斜杠在输出完记录后,再输出一个空行,3斜杠编辑描述符,44,例:,WRITE,(*,”(,XYZ,ABC,)”),WRITE(*,” (XYZ,/,ABC)”),END,结果:,XYZABC,XYZ,ABC,例:,45,又如:,改用格式串,:“(XYZ,/1X,ABC)”,XYZ,ABC,改用格式串“( ,XYZ/1X,,,ABC,)”,XYZ,ABC,4,冒号编辑符,作用:结束前一个编辑符的功能。,又如:4冒号编辑符,46,1,变量个数,A,和编辑符个数,B,、类型上一一对应,与,X,,,H,无关系,AB,多次重复使用格式说明,产生一个新的记录,Write,语句和,Format,语句的相互作用,1 变量个数A和编辑符个数B、类型上一一对应,与X,H无,47,例:,READ,(*,,100,),A,,,B,,,C,FORMAT,(,10F8.3,),多出,7,个,F8.3,不用,不影响语句的执行,例:,WRITE,(*,,100,),I,FORMAT,( ,I=,),输出,I=,,永不停止,原因是漏写了,I4,编辑符,例: READ(*,100)A,B,C,48,2,用空格式语句来输出一个空行,,如:,FORMAT,(),此时,,WRITE,语句不应有变量输出,3,遇到右括号或斜杠,/,编辑符,表示结束本记录的输出,但不意味着停止全部输出,只要输出列表中还有未输出变量,将重复使用格式说明或斜杠右边的格式说明组织输出。,4,FORMAT,语句和,WRITE,语句的位置可以相邻,也可在程序的任何一个地方。,5,用表控格式输出时,在,WRITE,语句中的输出项可以包含字符串但在输出时用到,FORMAT,语句,则不能再包含字符串,否则必须加以说明。,2用空格式语句来输出一个空行,如:FORMAT(),49,QUESTION,?,50,QUESTION?50,
展开阅读全文