主页 > 编程资料 > Delphi >
发布时间:2015-09-22 作者:网络 阅读:157次

Delphi 7 简单语法

1. 简单语句(1)赋值语句形式:

变量 := 表达式

赋值符号为“: =”。不论给属性还是给变量赋值,都是将右边的值赋给左边的属性或变量。

当将一个属性值、变量、常量或文本数据赋给属性或变量时,所赋值的类型和接受此值的属性或变量的类型应相同或兼容。一个属性或变量的类型定义了此属性或变量的可能值集合,也定义了程序代码可以执行的运算。

(2)复合语句复合语句是用begin和end括起来的一个语句序列,语句与语句之间用分号隔开。

begin与end要配对使用。begin与end之间括起来的是一个语句整体。在if语句、case语句、with语句、for语句、while语句中的语句部分,使用了一个以上的语句时,都要使用复合语句,以确定这是一个语句整体。

(3)转移语句转移语句用于改变程序的动态执行顺序,控制程序转到指定位置继续执行,该指定位置由标号表明。

标号为一个语句的前缀,中间用冒号隔开,作用是标记程序的位置。其格式为:

标号:语句

标号必须预先在标号说明部分声明。标号声明的一般形式为:

label 标号;

转移语句的格式为:

goto 标号;

其中goto为保留字,表示使程序转移到标号处,从标号所标记的语句开始,继续执行。为了使程序结构紧凑,思路清晰,程序设计中不提倡使用转移语句。

2. 控制语句(1)选择性语句选择性语句包括if语句和case语句,分别用来构成双分支选择结构语句和多分支选择结构语句。

1)if语句

if语句有两种格式。

格式1:

if条件 then 执行一段程序

格式2:

if 条件 then 执行一段程序
else 执行另一段程序

其中,“执行一段程序”和“执行另一段程序”部分还可以嵌套if语句。

if语句会计算一个表达式,并根据计算结果决定程序流程。if保留字后跟随一个生成布尔值True或False的表达式。一般用“=”,“>”,“<”等作为关系运算符,比较的结果会产生一个布尔型值。当表达式为True时,执行then后的语句,否则执行else后的语句。if语句也可以不含else部分,表达式为False时自动跳到下一行程序。
if语句可以嵌套。当使用复合语句表达时,复合语句前后需加上begin和end。else保留字前不能加“;”,而且,编译器会将else语句视为属于最靠近的if语句。必要时,须使用begin和end保留字来强迫else部分属于某一级的if语句。

应尽量避免使用嵌套的if语句,在不得不使用的情况下应该用多个if语句来判断各种可能。不要使用超过5层的if语句嵌套,应使代码编写得更加清晰明了。

在if/then/else语句中,最常发生的行为应放在then子句中,而其他可能性较小的行为应放在else子句中。

如果在if语句中有多个条件需测试,这些条件应按计算强度由少到多的顺序从左到右排列。这样做能使编译器在编译代码时获得布尔估算逻辑的捷径,从而使代码获得最佳的优化。

2)case语句

case语句也叫做情况语句,它针对多种情况产生多条分支。case语句适用于被判断的变量或属性是整型、字符型、枚举型或子界型时。

在一个case语句中的各个独立的单元应以数字或字母顺序排列。每一个case单元的动作行为应保持简单而不应该超过4~5行代码。如果所要执行的动作过于复杂,应采用独立的过程或函数。

case语句中的else子句只有当需要系统默认行为或处理错误时才使用。
case语句格式如下:
case 表达式 of

情况标号表1:情况子句1;

情况标号表2:情况子句2;

M

情况标号表n:情况子句n;

end

(2)重复性语句1)repeat语句

repeat语句也称为直到语句。repeat语句的使用同while语句一样,并且遵循同样的规则。格式如下:
repeat

执行一段程序;

until 循环结束条件

下面的示例程序中,当语句被执行时,会循环输出1~10的数字。布尔表达式i=10(注意,与其他语言不同的是,“=”是关系运算符,而不能进行赋值操作)直到repeat...until程序段的结尾才会被计算,这意味着repeat语句至少会被执行一次。

i := 0;
repeat
i := i+1;
Writeln(i,',',');
until i=10;

2)while语句

while语句也叫做当语句。当需要的条件满足时,即进行循环。

格式如下:

while 布尔表达式 do语句
while保留字后面必须跟一个布尔表达式。如果该表达式的结果为真,循环被执行;否则会退出循环,执行while语句后面的程序。

下面程序段的执行效果和上面的repeat程序段相同:

i := 0;
while i<10 do
begin
i := i+1;
writeln(i,',',');
end;

在一个while循环中,建议不要使用exit语句来跳出循环,应尽量使用循环条件来跳出循环。

在一个while循环中所用的初始化代码应在进入while循环前出现,不要用其他不相关的语句把二者隔开。循环结束后的处理应在循环之后立即进行。

3)for语句

for语句也称循环语句,有两种格式。

格式1:

for 变量:=表达式1 to 表达式2 do 一段程序

格式2:

for 变量:=表达式1 downto 表达式2 do 一段程序
for语句的程序代码会执行一定的次数,它需要一个循环变量来控制循环次数,因此需要声明一个变量。它的类型可以是整数型、布尔型、字符型、枚举型或子界型。

下面的程序段会显示1~10的数字,其中i为控制变量。

var
i : integer;
for i := 1 to 10 do
writeln(i,',',');

在循环次数已知的情况下,for语句能取代while语句。

关键字词: