pascal语言中的语句

上传人:平*** 文档编号:12785441 上传时间:2017-10-20 格式:DOC 页数:11 大小:88.50KB
返回 下载 相关 举报
pascal语言中的语句_第1页
第1页 / 共11页
pascal语言中的语句_第2页
第2页 / 共11页
pascal语言中的语句_第3页
第3页 / 共11页
pascal语言中的语句_第4页
第4页 / 共11页
pascal语言中的语句_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《pascal语言中的语句》由会员分享,可在线阅读,更多相关《pascal语言中的语句(11页珍藏版)》请在金锄头文库上搜索。

1、简单语句和复合语句 Pascal 简单语句中不包含任何别的语句,赋值语句和过程调用即是简单语句的例子。简单语句用分号隔开,如下所示:X := Y + Z; / assignmentRandomize; / procedure call用 begin 和 end 将简单语句括起来即组成复合语句,复合语句用法与普通的 Pascal 语句相同,见下例:beginA := B;C := A * 2;end;end 之前的最后一条语句末尾分号不是必需的,你可以写成:beginA := B;C := A * 2end;这两种写法都是正确的。第一种多了一个无用(但也无害)的分号。分号实际上是一个空语句,也就

2、是说,是一个没有代码的语句。有时,空语句可用在循环体或其他特殊情况中。注意:虽然最后一条语句末尾的分号没有用,我却总是加上它,并且建议你也这样做。因为有时你可能需要在末尾添加语句,如果最后没有加分号,你就必须记着加上它,与其如此不如一开始就加上它。赋值语句 在 Pascal 语言中赋值语句用冒号-等号操作符“:=”,对使用其他语言的编程人员来说这是一个奇怪的符号。在其他语言中用作赋值符号的“=”在Pascal 中用作关系运算符,用于判断是否相等。注意:赋值和相等判断使用不同的符号,使 Pascal 编译器(象 C 编译器一样)能更快解译源代码,因为这样就不需要通过检查上下文来判断符号的意义,此

3、外使用不同操作符也使代码更易读。条件语句 条件语句通过条件检测,判断是否执行该条件语句中包含的语句。条件语句可有两种基本形式:if 语句和 case 语句。If 语句 对 if-then 型语句,仅当条件满足时,语句才执行;对 if-then-else 型,if 语句在两条语句中选择一条执行。条件用布尔表达式建立,这里通过一个简单的 Delphi 例子来示范如何写条件语句。首先,创建一个应用程序,在 form上面放两个复选框(check box)和四个按钮(button),不要改变复选框和按钮的名字,双击按钮为其 OnClick 事件添加响应程序。下面是第一个按钮事件代码中一条简单的 if 语

4、句:procedure TForm1.Button1Click(Sender: TObject);begin/ simple if statementif CheckBox1.Checked thenShowMessage (CheckBox1 is checked)end;当点击 button1,如果第一个复选框中有复选标记,那么这个程序将显示一条消息(见图 5.1)。我用了 ShowMessage 函数,因为它是 Delphi 中最简单的短信息显示函数。图 5.1: 例 IfTest 显示的信息 如果点击按钮后没有反应,表明复选框未被选中。对于这种情况,最好能交代得更清楚些,为此在第二个按

5、钮的代码中,我用了 if-then-else 语句:procedure TForm1.Button2Click(Sender: TObject);begin/ if-then-else statementif CheckBox2.Checked thenShowMessage (CheckBox2 is checked)elseShowMessage (CheckBox2 is NOT checked);end;要注意的是,不能在第一句之后、else 关键词之前加分号,否则编译器将告知语法错误。实际上,if-then-else 语句是单纯的一条语句,因此不能在语句中间加分号。if 语句可以很复

6、杂,句子中的条件部分可以是一系列条件(用 and、 or 、 not 等布尔操作符联接起来),if 语句又可以嵌套另一个 if 语句,见例IfTest 中其它两个按钮的示范代码:procedure TForm1.Button3Click(Sender: TObject);begin/ statement with a double conditionif CheckBox1.Checked and CheckBox2.Checked thenShowMessage (Both check boxes are checked)end;procedure TForm1.Button4Click(S

7、ender: TObject);begin/ compound if statementif CheckBox1.Checked thenif CheckBox2.Checked thenShowMessage (CheckBox1 and 2 are checked)elseShowMessage (Only CheckBox1 is checked)elseShowMessage (Checkbox1 is not checked, who cares for Checkbox2?)end;仔细阅读代码并执行程序,看看你能不能理解整个程序。当你搞不清某种编程结构时,可以先写一个简单程序,这

8、样可以帮你学习许多东西。你可以再加几个复选框,增加这个简例的复杂程度,并进行各种测试。Case 语句 如果你的 if 语句变得非常复杂,有时可以用 case 语句代替它。case 语句包括用来选值的表达式、可能值序列或一个取值范围。这些值应该是常量,并且它们必须唯一,而且应属于有序类型。Case 语句最后可以带一个 else 语句,当没有一个标签与选择器的值一致时,执行 else 语句。下面是两个简单的例子:case Number of1: Text := One;2: Text := Two;3: Text := Three;end;case MyChar of+ : Text := Plu

9、s sign;- : Text := Minus sign;*, /: Text := Multiplication or division;0.9: Text := Number;a.z: Text := Lowercase character;A.Z: Text := Uppercase character;elseText := Unknown character;end;Pascal 语言中的循环 其它编程语言中使用的循环语句,Pascal 语言中都有,它们包括 for、 while 和 repeat 语句。如果你用过其他编程语言,你会发现 Pascal 中的循环语句没什么特别的,因此

10、这里我只作简要的说明。For 循 环 Pascal 中的 for 循环严格地建立在计数器基础上,循环每执行一次,计数器不是增加一个值就是减小一个值。下面是一个 for 语句的简例,用来将前十个数加起来:varK, I: Integer;beginK := 0;for I := 1 to 10 do K := K + I;同样的 for 语句可以用正好相反的计数器来写:varK, I: Integer;beginK := 0;for I := 10 downto 1 doK := K + I;Pascal 中的 for 循环语句其灵活性比其他语言小(它不能指定 1 之外的步长),不过简单也容易理

11、解。如果需判断的条件比较复杂,或想自定义计数器,你可以用 while 语句或 repeat 语句,而不是 for 循环语句。注意:for 循环计数器不必非是数字,它可以是任何有序类型的值,例如一个字符或一个枚举类型值。while 语句和 repeat 语句 while-do 循环语句和 repeat-until 语句的不同点在于 repeat 循环语句的代码至少要执行一次。从下面的简例很容易理解这一点:while (I 100) or (J 100);从上可见即使 I 或 J 的初始值大于 100,repeat-until 循环中的代码也仍会执行一次。注意:两种循环另一个关键的不同点是, re

12、peat-until 循环的条件是反向的条件,只要不满足这个条件,循环就执行;当条件满足时,循环终止。这正好与while-do 循环相反, while-do 循环当条件是真值时才执行。为此,我不得不在上面代码中用反向条件来获得相同的结果。一个循环语句例子 为了探究循环的细节,让我们看一个 Delphi 简例,这个循环例子表现了固定计数器循环和随机计数器循环之间的差别。建一个新的工程,在主窗体上放一个 listbox 和两个 button,通过设置 Object Inspector 中的 name 属性分别命名 button 为 BtnFor 和 BtnWhile。你还可以把 Caption 属

13、性中的 Btn 去掉,或甚至加上 & ,让跟在 & 后面的字母成为快捷键。下面是该窗体文本描述:object Form1: TForm1Caption = Loopsobject ListBox1: TListBox .object BtnFor: TButtonCaption = &ForOnClick = BtnForClickendobject BtnWhile: TButtonCaption = &WhileOnClick = BtnWhileClickendend图 5.2: 单击 For 按钮后显示的结果 现在,我们分别给两个 button 添加 OnClick 事件代码。第一个

14、button 用一个简单的 for 循环来显示一列数字,结果如图 5.2。这个循环向 listbox 中的 Items 属性添加一系列字符串。在执行循环之前,需要清除 listbox 中的内容。程序如下:procedure TForm1.BtnForClick(Sender: TObject);varI: Integer;beginListBox1.Items.Clear;for I := 1 to 20 doListbox1.Items.Add (String + IntToStr (I);end;第二个 button 的事件代码稍微复杂点。本例中让 while 循环基于一个随机增长的计数器

15、。为实现它,我调用了 Randomize 过程, 用它来重置随机数发生器,还调用了 Random 函数, 其取值范围为 100, 即函数返回 0 至 99 之间的随机数,随机数序列控制 while 循环的执行次数。procedure TForm1.BtnWhileClick(Sender: TObject);varI: Integer;beginListBox1.Items.Clear;Randomize;I := 0;while I 1000 dobeginI := I + Random (100);Listbox1.Items.Add (Random Number: + IntToStr

16、(I);end;end;每次点击 While 按钮,出现的数字都不同,因为这些数字取决于随机数发生器。图 5.3 显示了两次点击的结果,可看到不仅每次产生的数字不同,而且数据项数也不同。也就是说,这个 while 循环执行的次数是随机的。 图 5.3: 按 While 按钮后显示的结果 注意:用 Break 和 Continue 系统过程可以改变循环执行的标准流程。 Break 中断循环; Continue 直接跳至循环测试句,或使计数器增加一个步长,然后继续循环(除非条件为空或计数器达到最大值)。还有两个系统过程 Exit 和 Halt,让你立即从函数或过程中返回,或者终止程序。With 语句 我要讲的最后一种 Pascal 语句是 With 语句,With 语句是 Pascal 编程语言独有的语句,不过最近 JavaScript

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号