大榕树——让我们共成长!
大榕树 myDrs.org
您的位置:大榕树 \ 编程       |  Logo语言   |  Pascal语言   |  信息学奥赛   |  高考保送    |  HTML版本
|  Pascal语言>>Pascal入门>>基本语句—赋值语句         本站全文搜索: 友情提示:

基本语句—赋值语句
http://www.mydrs.org  7/15/2001  大榕树


〖语法分析〗

PASCAL有两个语句可以改变变量的值。赋值语句是其中之一(另一个是读语句)。赋值,顾名思义,就是把一个值赋予某个量。可以这理解:变量相当于装东西的容器,赋值的过程就是把东西放进容器的过程。赋值语句格式如下:
变量:=表达式;
写赋值语句有以下几点要注意:

1、赋值号“:=”
赋值号由两个字符构成,是一个运算符。如果把这两个字符拆开,那么这两个字符就是别的意思了:“:”是分隔符而“=”是关系运算符,判定两个对象是否相等。刚刚写程序的同学要特别注意这一点。
例:a,b:integer;——是一个说明语句。“:”是变量表和变量类型的分隔符
a=b——是一个表达式。它的值是一个布尔类型的量:TRUE或FALSE
a:=3;——是一个语句。把整型常量值3赋给整型变量a
2、变量要先说明
在赋值号左边出现的变量,要在程序头的说明部先加以说明,否则编译时出错。

3、表达式必须要有确定的值
赋值号右边出现的表达式,必须是可以求值的。也就是说,经过运算之后,能得出一个具体的、确定的值出来。大家想一想,如果连表达式自己都不知道自己的值是多少,怎么还能把值“赋予”别人呢?

4、赋值号两边的数据类型必须相同或相容
我们知道,PASCAL中的量不管是变量还是常量都有一个属性称为“数据类型”。数据类型相同的或相容的才可以相互赋值。
怎么来理解这句话呢?打个比方,我们沏功夫茶用的是小茶杯,装饭时用饭碗。如果用饭碗来泡功夫茶,用小茶杯来装饭,那情形一定很滑稽而且是不可行的。回到PASCAL中来,赋值号左边变量如果是整型,右边表达式的值的类型也要是整型;赋值号左边变量如果是字符型,右边表达式的值的类型也要是字符型……否则的话,也要出错了。这是数据类型相同的情况。
对于数据类型相容的,我们也可以用一个例子来帮助理解。我们都喝过功夫茶,也喝过大杯茶。把功夫茶倒在大茶杯里,一般不会出什么问题;但如果把大杯里的茶倒在功夫茶杯里呢?可能小茶杯装不下大茶杯里的茶,茶“溢出”了。在PASCAL中也会出现这种情况。当一种数据类型的取值范围包含着另一种数据类型的取值范围时,就可能出现类型相容的情况。如实型与整型,整型、字符型与它们各自的子界类型……如果把整型值赋给实型变量,把整型子界值赋给整型变量,不会出错;但如果反过来,就会出现“溢出”,出错了。
因些,我们在写赋值语句时,要注意两边的类型是否匹配。
例:有程序如下:
var a,b:integer;c:real;d:0..100;
begin
a:=100;
b:=a;
{-------------以上是相同数据类型进行赋值}
d:=100;
b:=d;
c:=b;
{-------------以上是相容数据类型进行赋值}
d:=b;
a:=c;
{-------------以上两个赋值语句都出现溢出,编译时出错}
end.


作 者:sthsyan@21cn.com
来 源:NOI信息学竞赛
共有2557位读者阅读过此文

  • 上篇文章有理数运算单元
  • 下篇文章基本语句—读语句

  • 发送邮件
    保存页面 打印文章 HTML版本 发表评论

    □- 近期热门文章 □- 相关文章
    1. NOIP2006竞赛大纲 [8306]
    2. 七类高中生具有保送资格 [5910]
    3. NOI2006获奖选手名单 [4955]
    4. 关于举办NOIP2006模拟赛的通告 [4106]
    5. Turbo Pascal各语句运行速... [3594]
    6. Turbo王者归来新Delphi免费... [3181]
    7. IOI2006我国4名选手全部获得金... [2945]
    8. 关于APIO2007与IOI2007... [2763]
    9. noip倒计时 by 枯叶蝴蝶 [2683]
    10. 朱泽园:思想上的金牌更重要 [2168]
    基本语句—练习题
    写语句
    基本语句—读语句
    基本语句—赋值语句
     

    关于本站 | 合作伙伴 | 联系方式
    大榕树 版权所有 ©1999-2006 www.myDrs.org 闽ICP备05000721号