pascal中场宽是怎么回事

如题所述

pascal程序中,我们将每一种类型的数据在输出时所占据的列数称为场宽。如:数据类型 标准场宽 实例 输出结果 整型 实际整数 write(1234); 1234 实型 17 write(-123.4); -1.2340000000e+02 布尔型 4或5 const t=false false write(t); 字符型 字符长度 write('PASCAL') PASCAL二、自定义场宽 1、单场宽 形式:x:n x表示要输出的项目;n表示输出x时所占的列数,n应为正整数。如:write('OK!':8);表示项目字符串‘OK!’的场宽是8。 按单场宽输出的项目可以是整形、字符型、布尔型,但不能是实型。如:设m为整形数1997,ch为字符‘?’,f为布尔型true。 writeln(m:5); writeln(ch:5); writeln(f:5); writeln('ok!':5);则屏幕显示为: _1997 ____? _true __ok!(注'_'表示空格)。二、双场宽 形式:x : n1 : n2双场宽是用来控制数据的输出格式。其中:x表示要输出的项目(设x为一个实型数据);n1表示输出x时所占的总列数,包括符号位、整数部分、小数点与小数部分;n2表示小数部分的列数。n1、n2应为正整数,且要求n1>n2。如:write(-123.456:8:2);输出结果为:_-123.45三、注意事项1、自定义场宽的优先级高于标准场宽。2、除实型的双场宽定义外,输出格式一律是左留空、右看齐。实型的双场宽输出时是向小数点看齐,多余的小数位数补零。3、在数据不突破场宽的限制时,一律按场宽定义输出;在数据突破了场宽的限制时,是以保证数据的正确输出为原则的,也就是说,在单场宽的情况下,强制自动将场宽扩展到所需要的位数;双场宽时,则强行自动将场宽n1扩展到所需的位数(n2的限制仍然照旧)。4、当实数场宽n2小于实际的小数位数时,则显示时舍去了多余的位数。但要注意,此时内存中该数仍然是原来的精确度。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-01-08
长宽是用来设置显示出的数据所占的位置。举个例子:writeln(10:3);输出结果是“空10”(空就是空格~)能理解吧?小数不太一样,可以指定两个场宽,前面的是全部数据的场宽,后面的是保留几位小数。比如说:a:=2/3;//a 是real类型writeln(a);//输出“ 6.66666666666667E+000”writeln(a:5);//输出“ 6.7E+000”writeln(a:5:2);//输出“ 0.67”(留意空格) 全是手打的啊,给我点自信吧...