九蜗牛 发表于 2018-1-3 17:21:54

delphi 学习笔记(语句)


结构化程序设计2 – 零基础入门学习Delphi09


多分支Case语句

Source code ( By http://www.fishc.com )          
If ( a = 'F' ) Then
    ShowMessage('F');
If ( a = 'i' ) Then
    ShowMessage('i');
If ( a = 's' ) Then
    ShowMessage('s');
If ( a = 'h' ) Then
    ShowMessage('h');
If ( a = 'C' ) Then
    ShowMessage('C');
// 大家对这段代码有何感想?!

当分支很多时,用IF语句来实现,需要嵌套很多层,写书不但烦琐,而且也容易出错。
为实现多分支,Delphi提供了Case语句,该语句又称多分支语句,其语法格式与功能如下。

Source code ( By http://www.fishc.com )          
Case (表达式) of
    值1: 语句1;
    值2: 语句2;
   …
    值n: 语句n;
Else            //这里的Else之前可以有分号
    语句n+1;
end;

[功能]:根据变量的值,决定执行某个分支语句。
[说明]:执行Case语句时,首先计算“表达式”的值,如果是“值1”到“值n”之间的某个值,则执行该值后面对应的语句,否则执行Else 后面的语句,执行一个分支后将跳转到end;后面的语句执行。
[注意]:
(1)“表达式”的值必须是顺序类型,即整型、字符型、布尔型、子界型和枚举型。
(2)“值1”到“值n”应该是“表达式”可能出现的值,它们还应该各不相同。如果“表达式”的某几个值对应的执行语句是相同的,那么可以将这几个值写在同一行上,以逗号分隔。
例如,当变量等于值1和值2时,都执行语句1,那么可以这样写:
Source code ( By http://www.fishc.com )          
Case (表达式) of
    值1,值2: 语句1;
    …… …… ……
(3)语句可以是简单语句,也可以是复合语句。
(4)Else 语句可以省略,省略时如果“表达式”的值与“值1”~“值n”中的任何一个值均不相等,则不执行任何分支,直接跳转到end后面的语句执行。
(5)Case语句可以用IF语句来实现,但IF语句不一定能用Case语句实现(请理解)。


Delphi 7实现循环结构的语句一共有3种,分别是While语句、Repeat语句和For语句。

1)While 语句
While 语句就是当条件成立(为True)时,执行循环,而在条件不成立(为False)时,将退出循环,不再执行循环体。
While 语句的格式很像我们刚才的伪指令。
While语句的语法格式及功能如下。

[格式]:
Source code ( By http://www.fishc.com )          
While(循环条件) do
      循环体;

[说明]:执行While语句时,首先计算“循环条件”,若其值为True,则执行循环体中的语句,否则不执行循环体中的语句,跳出循环(或者称终止循环)

Repeat语句
Repeat语句用来实现“直到型循环”,其语法格式及功能如下(介个就像C的do……while, 就是不管三七二十一,干完再考虑后果)。

[格式]
Source code ( By http://www.fishc.com )          
Repeat
    循环体;
Until (循环条件);

[说明]
执行Repeat 语句时,首先执行循环体,执行完后,再判断循环条件,如果循环条件为False继续执行循环体。
我们对照While语句的执行过程,不难看出Repeat语句和While语句的区别:
Repeat是先执行循环体,后判断条件,因此循环体至少要执行一次;
While 是先判断条件,只有在条件为True时,才执行循环体,因此有可能循环体一次也不执行。

[注意]
(1)循环体可以是简单语句,也可以是复合语句,对于复合语句,不需要用begin…end括起来。
(2)也可以使用Break和Continue语句来终止循环或结束本次循环。
(3)在“循环条件”为False时执行循环,为True时退出循环。

实例演练
试用Repeat 语句实现While 语句的功能!
实例修改!(具体视频中演示)

For语句
其实,如果说习惯,使用For循环语句将会使编程更加方便。For循环语句的语法格式及功能如下。

[格式]
Source code ( By http://www.fishc.com )          
For循环变量:=初值To(DownTo) 终值Do
          循环体;

[说明]
执行For 循环语句时,对递增循环而言(使用“To”),首先把初值赋给循环变量,然后判断循环变量的值是否大于终值。
如果是,将结束循环的执行;
如果不是,将执行循环体,循环体执行后使循环变量自动增加1,并开始新的循环。

对递减循环而言(使用“DownTo”),也是首先把初值赋给循环变量,然后判断循环变量的值是否小于终值。
如果是,将结束循环的执行;
如果不是,将执行循环体,循环体执行后使循环变量自动减少1,并开始新的循环。

由此我们得知,实则乃一增一减也!

[注意]
对递增循环,每循环一次,循环变量的值自动增加1;对递减循环,每循环一次,循环变量自动减少1。
循环体可以是简单语句也可以是复合语句,若为复合语句,需要用begin…end 括起来。
在循环体中可以使用Continue和Break语句,它们也通常位于IF 语句之后。

实例演练2
对实例进行修改,分别用 For……To…… 和 For……DownTo…… 来进行!

13328593595 发表于 2023-8-29 17:25:22

{:10_256:}
页: [1]
查看完整版本: delphi 学习笔记(语句)