{read与readln的区别}
例:有两段程序有相同的变量说明如下,不同的读语句,我们可以通过比较它们执行结果的异同来理解read与readln的区别。
-------
【输入】
1 2 3 4 5
6 7 8
【变量说明】 var a,b,c,d:integer;
【程序段一】 read(a);readln(b,c);read(d);
a=1 b=2 c=3 d=6
【程序段二】 readln(a);read(b,c);read(d);
a=1 b=6 c=7 d=8
--------
在程序段一执行时,“read(a);”语句接收了第一个数据1并将它赋给变量a;接着执行第二个语句“readln(b,c);”,接收了第一行数据中的2、3并把它们分别赋给变量b,c,同时,把本行其它数据全部屏蔽掉,也就是宣布它们全部作废。程序段二的执行情况也是如此。
因此,我们可以得出结论:语句read只管接收数据,语句readln接收完数据后,还把同行的其它数据全部宣布作废。
另:“readln;”语句从键盘接收一个回车符。这个语句通常用在需要暂停的地方。如输出时用来等待程序员看清结果。
{write与writeln的区别}
写(write)语句是Pascal中唯一能将运算结果送出显示在显示器屏幕的语句。格式如下:
write(输出量表);{输出后不换行}
writeln(输出量表);{输出后换行}
writeln;{输出一个回车符}
使用写语句时也有一些小问题需要注意。
1、输出量可以是:
变量。输出变量的值。输出多个变量时,变量间用“,”分隔。
表达式。输出的是表达式的值。
常量。直接输出常量值。
2、场宽的限制在输出不同格式的数值时的作用:
例1:输出多个空格。
write('':n);句子的意思是以n个字符宽度输出冒号前数据项,如果数据项长度不足n,则前面以空格补齐;如果数据项长度大于n,则以实际长度输出。如上语句句输出n个空格。
例2:数据项间隔。
如输出最多四位的数据:write(x:5)。则数据间至少分隔一个空格。
例3:实型数据小数位数的确定。
实型数据不带格式限制时,以科学计数法的形式输出,和我们的一般书写习惯不同。如果加上场宽的限制,则可以有不同的效果:
var a:real;
begin
a:=15/8;
writeln(a);{输出 1.8750000000E+00}
wiiteln(a:0:2);{输出 1.88 整数部分按实际位数输出,小数部分保留两位小数,末位四舍五入.}
writeln(a:0:0):{输出 2 只输出整数部分,小数部分四舍五入}
end.
3、“writeln;”语句通常用于输出多组数据时在屏幕上输出空行来分隔数据组。
write是输出,输出后不换行;
writeln是输出后换行;
read是读入后不换行;
readln是读入后换行。
Write是直接输出
writeln是输出并且换行。
read直接读入
Readln读入并且换行。