pascal-带格式的输出语句与输入语句.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
文件的打开与保存 文件的输入与输出语句(结合常量与变量、数的科学记数法) 3.类型:溢出的理解 带格式的输出语句及输入语句 一、写语句的输出格式   在pascal语言中输出数据时是可以按照一定格式的,对整数隐含的输出形式为按十进制数形式。对实数的输出,隐含的形式是科学记数法形式(如果不想用科学记数法输出而用小数形式输出,要自己另行定义)。   事实上,输出语句中的每个输出项中的表达式之后可以加上格式说明,若输出项后没有加格式说明, 则数据按系统隐含的格式输出,还可加上一定格式符号按特定格式输出。 ⒈隐含的输出格式   pascal语言为整型量、实型量、布尔型量和字符串( 用一对单引号括起来的字符序列)规定了每种数据所占的宽度(即一个数据占几列) ,一个数据所占的宽度称为场宽或字段宽。系统给出的隐含场宽称为标准场宽。每一种pascal版本给定的标准场宽不尽相同。下表给出标准pascal和pc机上两种pascal版所规定的标准场宽。        标准场宽   ━━━━━━━━━━━━━━━━━   数据类型  标准pascal Turbo pascal   ─────────────────   integer 10 实际长度   real 22 17   布尔型 10 4或5   字符串 串长 串长   ━━━━━━━━━━━━━━━━━ 在Turbo Pascal系统中,对于整型字符串的输出都是按数据本身长度输出,对于布尔型数据(只有True和False两种值),TRUE为4列,FALSE为5列,一律采用大写输出。而real型数据的输出时,则按17列输出,其中第一列为符号位,正号不显示,后四位为E±nn,中间的12列为尾数部分。如: writeln(sqrt(75)); 则输出□8.6602540379E+00。 而writeln(sqrt(81)); 则输出□9.0000000000E+00。 有时,在程序中往往根据实际情况,需要自己定义场宽。 ⒉指定场宽   在写语句中输出项含有格式符号时,就是为了指定场宽。 ⑴指定单场宽.   格式:write(表达式:N)或writeln(表达式:N),其中N为自然数,指定单场宽后,所有数据不再按标准场宽输出,而按指定场宽输出。若数据实际长度小于指定场宽时,则一律向右靠齐,左留空格。   如write(1234:6);write(abcdef:12) 输出结果: □□□□1234□□□□□□abcdef   对于标准实型数据指定单场宽时,如果场宽大于标准场宽时,右靠齐按标准场宽格式输出17位,左留空格。若场宽小于标准场宽时,第一位仍为符号位,最后四位仍为E±nn,中间部分为尾数显示部分。如果指定的宽度小于8位,则数据按8位格式*.*E±nn 输出。 ⑵指定双场宽   如果输出项是实数时,如果希望输出的实数不用科学记数法输出,而用小数形式输出,可以用指定双场宽方法输出。   双场宽输出格式为:write(实型表达式:m:n),其中m和n都是自然数,m 用以指定整个数据所占的宽度,n指定输出实数的小数位数。 如 : write(sqrt(75):9:0); 输出:□□□8.6602   如果双场宽不能满足输出数据的最低要求, 系统自动突破指定的场宽限制,按实际长度输出。  如:write(sqrt(75):5:4); 要使小数点后有4位数字,而总场宽为5,是不可能的(因为还有一个小数点, 小数点前面还有一个数字)。它最低限度要有6列,即输出为: 8.6602 例1    写出下列程序在turbo pascal下的输出结果. program ex;  const s=abcdefg; var  i:integer;  r:real;  c:char;b:boolean; begin  i:=1234;r:=1234.5678;  c:=#;b:=true;  writeln(i,i:6,i:3);  writeln(r,r:12:5,r:8:5);  writeln(c,c:5);  writeln(s,s:10,s:5);  writeln(b,b:5,b:3); end. 运行结果如下: 1234□□1.2345678000E+03□□1234.567801234.56780 #□□□□# abcdefg□□□abcdefgabcdefg TRUE□TRUETRUE 3.应用例析 例2:    已知A=253,B=43,输出A*B的运算式子。即输出如下: 253*43=10879 253 * 43 759 +1012

文档评论(0)

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

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

1亿VIP精品文档

相关文档