标签:style blog http color 使用 strong
运算符是程序代码中对各种类型的数据进行计算的符号,通常分为算数运算符、逻辑运算符、比较运算符和按位运算符。
1.算术运算符
Object Pascal 语言的算术运算符,如表1-9 所示。
表1-9 Object Pascal 语言算术运算符
| 操作符 | 操作 | 操作数据类型 | 结果类型 |
| + | 加 | 整型、实型 | 整型、实型 |
| - | 减 | 整型、实型 | 整型、实型 |
| * | 乘 | 整型、实型 | 整型、实型 |
| / | 除 | 整型、实型 | 整型、实型 |
| mod | 取余 | 整型 | 整型 |
| div | 整除 | 整型 | 整型 |
2.逻辑运算符
逻辑运算符操作对象和返回值都为布尔型,如表1-10 所示。
表1-10 Object Pascal 语言逻辑运算符
| 操作符 | 操作 | 操作数据类型 |
| not | 非 | 布尔 |
| and | 与 | 布尔 |
| or | 或 | 布尔 |
| xor | 异或 | 布尔 |
3.比较运算符
比较运算符返回值为布尔型(True 或False),关系运算符如表1-11 所示。
表1-11 Object Pascal 语言关系运算符
| 操作符 | 操作 | 操作数据类型 |
| = | 等于 | 简单数据类型、指针、集合、字符串或字符串包 |
| <> | 不等于 | 简单数据类型、指针、集合、字符串或字符串包 |
| < | 小于 | 简单数据类型、指针、集合、字符串或PChar |
| > | 大于 | 简单数据类型、指针、集合、字符串或PChar |
| <= | 小于等于 | 简单数据类型、指针、集合、字符串或PChar |
| >= | 大于等于 | 简单数据类型、指针、集合、字符串或PChar |
| <= | 子集 | 集合 |
| >= | 父集 | 集合 |
4.按位运算符
通过按位运算符可以修改一个变量的单独的位。可以进行按位与、或、非、异或,也可以对一个数进行向左(Shl)或向右(Shr)移位操作。
5.运算符优先级
一个表达式中可能有多个运算符,它们的运算是有先后顺序的,不同的运算符在表达式中的优先级如表1-12 所示。
表1-12 运算符的优先级
| 运算符 | 说明 |
| () | 括号 |
| +,- | 正号和负号 |
| ^ | 乘方 |
| *,/ | 乘和除 |
| +,- | 加和减,字符串连接 |
| =,>,<,<=,>=,<> | 关系运算符 |
| not | 逻辑非 |
| and | 逻辑与 |
| or | 逻辑或 |
1.常量声明语句
常量在声明时就被赋予了一个值,在程序执行过程中是不可改变的。下面的例子声明了3 个常量:
const
Pi = 3.14159;
BookID = 362;
BookName = "Delphi";
像变量一样,常量也有类型。上文的3 个常量的类型分别是Real 型、整型、字符串型。常量用“=”表示两边的值是相等的。
2.赋值语句
赋值语句的形式如下:
variable:=expression; //变量: = 表达式;
3.Goto 语句
Goto 语句可以从程序中的一个地方直接跳转到另一个地方。但是从结构化程序设计的角度来考虑,尽量不要使用Goto 语句。
Goto 语句的形式如下:
goto label;
在使用Goto 语句之前,首先要声明标号。标号声明语句如下:
label label1,label2,...,labeln;
4.复合语句
首尾使用Begin 和End 包括起来的一组语句称为复合语句。复合语句可以嵌套使用,也允许有空的复合语句。例如:
begin
c:=a;
a:=b;
b:=c;
end;
5.If 语句
If 语句的结构如下:
if <条件> then
<语句>;
还可以为基本语句添加Else 子句:
if <条件> then
<语句>
else
<语句>;
需要注意的是,上面两个例子中的<语句>可以是单语句或复合语句。If...Then 语句被认为是单语句,在语句结束时只有一个分号(在第1 种情况的Then 引导的子句之后,或在第2 种情况的Else 引
导的子句之后)。
例如下面的代码中Date 为整数类型,判断Date 如果在1 与10 之间显示为“上旬”、11 与20 之间显示为“中旬”、21 与31 之间显示为“下旬”,如果数值不包含在上述范围内则显示“错误的日期”:
if (Date>=1) and (Date<=10) then
Writeln(’上旬’)
else if (Date>=11) and (Date<=20) then
Writeln(’中旬’)
else if (date>=21) and (Date<=31) then
Writeln(’下旬’)
else
Writeln(’错误的日期’);
注意:Else 子句之前,Then 引导的子句之后是不能有分号的。
6.Case 语句
If...Then...Else 语句适合选项较少的情况,如果有很多选项的话利用If 语句就比较麻烦,在这种情况下,Case 语句就容易多了。Case 语句的语法如下:
case <表达式> of
<数值>:<语句>;
<数值>:<语句>;
else
<语句>;
end;
下面这个例子中的S 为Char 类型。当用户输入一个字符后按回车键确认后判断变量S,如果是小写或大写字母将显示“字符”,如果是数字,则显示“数字”,其余的字符就显示“其他”,判断语句如
下:
var
S:Char;
begin
Readln(S);
case S of
‘a‘..‘z‘, ‘A‘..‘Z‘:Writeln(‘字符‘);
‘0‘..‘9‘:Writeln(‘数字‘);
else
Writeln(‘其他‘);
end;
注意:Case 构造中的任何一个语句都可以是单语句或复合语句。如果需要在某种情况下执行多行代码,必须将它们用Begin...End 括起来。
7.Repeat 语句
Repeat 语句会重复执行一行或多行语句,直到某一状态为真。语句以Repeat 开始,以Until 结束,其后跟随被判断的布尔表达式。结构如下:
repeat
<语句>
until <条件表达式>
例如:
I:=0;
repeat
I:=I+1;
Writeln(IntToStr(I));
until I>5;
执行以上的例子时,会显示1-6 的数字。布尔表达式I>5 直到Repeat...Until 程序段结束才会被计算,也就是Repeat 语句至少要执行一次。
8.While 语句
While 语句和Repeat 语句的不同之处在于While 语句的布尔表达式在循环的开始进行判断。如果表达式的结果为真则执行循环,否则退出循环。结构如下:
while <条件表达式>
begin
<语句>
end;
例如:
I:=0;
while I<5 do
begin
Writeln(IntToStr(I));
Inc(I);
end;
执行以上的例子时会显示0-4 的数字。直到I 不小于5 时才退出循环。
9.For 语句
For 语句内的程序代码会执行一定的次数。它需要一个循环变量来控制循环次数。循环变量的类型可以是整型、布尔型、字符型、枚举型或子界型。结构如下:
for <条件表达式> do
begin
<语句>
end;
下面的例子将显示1-5 的数字:
for I:=1 to 5 do
begin
Writeln(IntToStr(I));
end;
而下面的例子将显示5-1 的数字:
for I:=5 downto 1 do
begin
Writeln(IntToStr(I));
end;
10.Break 语句
在各循环中调用Break,可以使得程序的执行流程立即跳到循环的结尾。例如程序执行5 次后跳出循环,代码如下:
for I:=1 to 10 do
begin
if I=5 then
Break;
end;
11.Continue 语句
如果想跳过循环中部分代码,并开始下一次循环,可以调用Continue 语句。下面的例子在执行第3 次循环时,Continue 后的代码不执行而继续下一次的循环:
for I:=1 to 5 do
begin
if i=3 then
Continue;
Writeln(IntToStr(I));
end;
12.With 语句
使用记录类型的变量时,可以通过With 语句指定一些语句,这些都是针对某一个变量来说的,这样可以简化代码的输入量。With 语句的形式如下:
with object do statement
例如:
type
TEmployee=record
Name : string[20];
YearHired:2000..2010;
Salary: Double;
Position: string[20];
end;
var
Employee:TEmployee;
begin
with Employee do
begin
Name :=’Wang’;
YearHired :=2005;
Salary :=10000;
Position := ’ Technic Department’;
end;
Object Pascal 语法之语言基础(三),布布扣,bubuko.com
标签:style blog http color 使用 strong
原文地址:http://www.cnblogs.com/ivantang/p/3833657.html