第三顺序结构程序设计第1页,共13页,星期日,2025年,2月5日3.1赋值语句PASCAL有两个语句可以改变变量的值。赋值语句是其中之一(另一个是读语句)。赋值,顾名思义,就是把一个值赋予某个量。可以这理解:变量相当于装东西的容器,赋值的过程就是把东西放进容器的过程。赋值语句格式如下:
????变量:=表达式;
????写赋值语句有以下几点要注意:
1、赋值号“:=”
????赋值号由两个字符构成,是一个运算符。如果把这两个字符拆开,那么这两个字符就是别的意思了:“:”是分隔符而“=”是关系运算符,判定两个对象是否相等。第2页,共13页,星期日,2025年,2月5日例:a,b:integer;——是一个说明语句。“:”是变量表和变量类型的分隔符
????????a=b是一个表达式。它的值是一个布尔类型的量:TRUE或FALSE
????????a:=3;是一个语句。把整型常量值3赋给整型变量a2、变量要先说明
在赋值号左边出现的变量,要在程序头的说明部先加以说明,否则编译时出错。3、表达式必须要有确定的值
????赋值号右边出现的表达式,必须是可以求值的。也就是说,经过运算之后,能得出一个具体的、确定的值出来。第3页,共13页,星期日,2025年,2月5日4、赋值号两边的数据类型必须相同或相容
我们知道,PASCAL中的量不管是变量还是常量都有一个属性称为“数据类型”。数据类型相同的或相容的才可以相互赋值。相同:赋值号左边变量如果是整型,右边表达式的值的类型也要是整型;相容:当一种数据类型的取值范围包含着另一种数据类型的取值范围时,就可能出现类型相容的情况。如实型与整型,整型、字符型与它们各自的子界类型……如果把整型值赋给实型变量,把整型子界值赋给整型变量,不会出错;但如果反过来,就会出现“溢出”,出错了。第4页,共13页,星期日,2025年,2月5日读语句读语句(read语句)和赋值语句一样,能够改变变量的值。与赋值语句不同,读语句从键盘或文件接收值赋予变量,而赋值语句则直接由程序语句获得。读语句格式如下:
????read(变量名表);
????readln(变量名表);readln;
读语句是编程中用得最多的语句之一。在使用时有几点要注意:
??1、变量名表。写在括号中的变量,都要在变量说明中先预以说明;变量与变量之间,以“,”分隔;
例:
vara,b:integer;
read(a,b);
第5页,共13页,星期日,2025年,2月5日2、从键盘接收数据时,要注意各种不同数据类型数据的分隔符不同。所谓分隔符就是两个完整的数值之间的标记,也可以这样理解,当计算机从键盘读入数据时,一旦碰到分隔符,就认为当前的数据读入已完成,可以把它赋给相应的变量了。各种数据类型的分隔符如下:
????数值型(包括整型、实型以及它们的子界类型)以空格或回车符作为分隔符;
????字符型不需分隔符(因为字符型数据的长度固定,只有一个);
????字符串以回车符作为分隔符。
第6页,共13页,星期日,2025年,2月5日注意read与readln的区别readln语句和read语句不同之处在于输入数据到各变量之后,readln自动换行,从下一行开始再输入数据。一个read语句执行完后,数据行中多余的未读数据可以被下一个输入语句读入;而一个readln于执行完后,数据行中多余未读数据就没有用了。readln语句中可以不包含变量名表。read(a,b);readln;等价于readln(a,b);第7页,共13页,星期日,2025年,2月5日得出结论:语句read只管接收数据,语句readln接收完数据后,还把同行的其它数据全部宣布作废。
???变量说明vara,b,c,d:integer;执行结果abcd程序段一read(a);
readln(b,c);
read(d);1236程序段二readln(a);
read(b,c);
read(d)1678输入数据12345
678第8页,共13页,星期日,2025年,2月5日写语句写(write)语句是Pascal中唯一能将运算结果送出显示在显示器屏幕的语句。格式如下:
write(输出量表);{输出后不换行}
writeln(输出量表);{输出后换行}
writeln;{输出一个回车符}
使用写语句时也有一些小问题需要注意。?
1、输出量可以是:
变量。输出变量的值。输出多个变量时,变量间用“,”分隔。
表达式。输出的是表达式的值。
常量。直接输出常量值。?
第9页,共13页,星期日,2025年