i信息学奥赛

加入QQ群:1025629106,或关注微信公众号:i信息学奥赛,获取更多学习资源。

导航

输出语句

Posted on 2016-12-10 17:04  shnoip  阅读(581)  评论(0编辑  收藏  举报
赋值语句,输入语句是向程序提供数据的语句,程序运行完毕,又如何查看运行结果呢?这就需要输出语句。
 
输出语句的格式:
格式1 write(输出项表);
格式2 writeln(<输出项表>);
 
执行输出语句时,会按指定的格式将输出项的内容输出到屏幕上。
 
说明:
1、输出项可以是一项,也可以是多项,输出多项时各项以逗号分隔
2、输出项可以是任何一种标准数据类型
3、输出项可以是常量、变量、函数、表达式,输出项为常数时,直接输出其值;输出项为变量时,输出该变量存储单元中的内容;输出项为函数或表达式时,先计算后输出
4、write语句输出完最后一项后不换行,此语句至少含有一个输出项;writeln语句输出完最后一项后换行,该语句允许没有输出项,此时该语句不输出任何内容,只起换行作用。
 
write与writeln的关系可以表示为:
writeln(x);等价于write(x);writeln;
 
例1:查看程序运行结果
const
  a=1;
  b=2;
begin
  writeln(6);
  writeln(a);
  writeln(sqr(3));
  writeln(a+b);
  writeln('a+b=',a+b);
  write('pi=');
  writeln(3.14);
end.
 
输出结果为:
6
1
9
3
a+b=3
pi= 3.1400000000000000E+0000
 
输出语句的输出格式
在Pascal程序设计中,数据的输出格式非常重要,我们将每一种类型的数据在输出时所占的列数称为场宽。FreePascal对各种类型数据定义的标准场宽如下:
整型:
标准场宽:实际长度
例如:write(7865);
输出:7864
 
实型:
标准场宽:25位
例如:write(-523.8);
输出:-5.2380000000000000E+0000
 
字符型:
标准场宽:字符长度
例如:write('Pascal');
输出:Pascal
 
布尔型:
标准场宽:4或5位
例如:t:=true;write(t);
输出:TRUE
 
标准场宽就是实际输出值的宽度,一般不能满足各种需要,FreePascal允许用户自己来定义场宽。自定义场宽分为单场宽和双场宽。
1、单场宽:用来控制整型、字符型和布尔型数据的输出格式,不能用于实型。
 
单场宽格式:x:n
x表示要输出的项目,n表示输出时所占的列数,n为正整数。
 
例2:查看程序运行结果
var
  k:integer;
  ch:char;
  f:boolean;
begin
  k:=2008;
  ch:='!';
  f:=true;
  writeln(k:5);
  writeln(ch:5);
  writeln(f:5);
  writeln('love':5);  
end.
 
输出结果为:
 2008
        !
 TRUE
  love
 
2、双场宽:用来控制实型数据的输出格式。
 
双场宽格式:x:n1:n2
x表示要输出的项目,n1表示输出x时所占的总列数,包括符号位、整数部分、小数点和小数部分;n2表示小数部分的列数。n1、n2应为正整数,且n1>=n2。
 
例3:查看程序运行结果
begin
  writeln(197.9:7:2);
  writeln(-1.979:7:2);  
end.
 
输出结果为:
 197.90
    -1.98
 
说明:
1、自定义场宽优先级高于标准场宽
2、当数据实际长度小于指定场宽时,单场宽一律向右对齐左留空格,双场宽向小数点看齐,小数部位不足位数在后面补零
3、当数据实际长度大于指定场宽时,将自动突破用户指定的场宽限制,按实际长度输出(双场宽n2的限制将严格执行)
4、双场宽的小数部分按四舍五入显示,但内存中该数仍是原来的精确度
 
zerojudge:
a862、d051、d059、d463