3.1 赋值语句
赋值语句是最简单的语句,其一般形式为:
<变量> := <表达式>
赋值语句的作用是计算表达式的值,并赋给变量。对于任何一个变量必须首先赋值,然后才能引用,否则,未赋初值的变量将以一个随机值参与运算。另外,赋值号两边的类型必须相同。
例:关于赋值的例子
program example;
var a,b:integer;
begin
a:=3;b:=2;
writeln(a);
writeln(b);
a:=a+b;
writeln(a);
writeln(b);
b:=a-b;
writeln(a);
writeln(b);
a:=a-b;
writeln(a);
writeln(b);
readln
end.
3.2 输入语句
通过计算机的外设把数据送到计算机内存的过程称为输入。Turbo Pascal语言的输入语句有如下两种形式:
read(<变量名表>);
readln(<变量名表>);
<变量名表>是一个或几个由逗号隔开的变量标识符,他们必须在程序说明部分预先说明,他们可以是整型、实型或字符型,布尔型不可以直接读入。
例如:a,b,c为整型变量,read(a,b,c)之后
键盘输入: 20 30 40
结 果: a=20,b=30,c=40
readln语句和read语句不同之处在于输入数据到各变量之后,readln自动换行,从下一行开始再输入数据。一个read语句执行完后,数据行中多余的未读数据可以被下一个输入语句读入;而一个readln于执行完后,数据行中多余未读数据就没有用了。readln语句中可以不包含变量名表。即有以下等价情况:
readln(a,b);readln等价于readln(a,b)
输入语句输入的数据类型必须和变量一一对应。如果输入的是一串整数或实数,数据间用空格或回车分隔;若输入的是一串字符,则不用分隔。
例:输入语句示例
program shuru;
var
x:real;
c:char;
begin
write('please input the number: ($XXX.XX)');
readln(c,x);
writeln('The price is ',c,x)
end.
3.3 输出语句
输出是将内存中的数据送到外设的过程。Pascal的输出语句有两种形式:
write(<输出项表>)
writeln(<输出项表>)
其中<输出项表>是一串用逗号分隔的常量、变量、函数名、表达式或字符串。如果是变量、函数名、表达式,则将其计算结果输出;如果是常量或字符串,则直接输出其值。
writeln和writeln的区别在于:write语句是输出项输出后,不换行,光标停留在最后一项后,writeln语句按项输出后,自动换行,光标则停留在下一行的开始位置。
writeln语句允许不含有输出项,即仅writeln;表示换行。
Pascal语言把输出项的数据显示占用的宽度称为域宽,你可以根据输出格式的要求在输出语句中自动定义每个输出项的宽度。定义宽度时分为单域宽和双域宽。
(1)单域宽输出格式:(用于科学计数法)
writeln(I:n)
在n个字符宽的输出域上按右对齐方式输出I的值,若n大于I的实际位数,则在I值前面补(n-I的实际位数)个空格。若I的实际位数大于n,则自动突破限制。n必须是整数。
(2)双域宽输出格式:(用于小数形式输出)
writeln(a:m:n)
双域宽主要用于实型数据的输出。M表示小数点前面的位数,n表示小数点后面的位数。
例:输出语句的例子
program shuchu;
const
s='pascal';
var
i:integer;
r:real;
c:char;
b:boolean;
begin
i:=12345;
r:=123.45
c:='a';
b:=true;
writeln('i=');
writeln(i:6);
writeln('r=',r:6:1);
writeln('c=',c:10);
writeln('b=',b:10)
end.
3.4 复合语句
复合语句是由若干语句组成的序列,语句之间用分号“;”隔开,并且以begin和end括起来,作为一条语句。复合语句的一般形式:
begin
语句1;
语句2;
……
语句n;
end
例:变量值的交换
program jiaohuan;
var
a,b,t:integer;
begin
a:=10;b:=20;
begin
t:=a;
a:=b;
b:=t;
end;
writeln('a=',a,'b=',b)
end.