Delphi的编程语言Object Pascal(2)

Object Pascal运算符

l          赋值运算符

1.         赋值表达式也是通过语句来实现的,语句用来控制操作符和表达式。

2.         赋值语句是将赋值符号:=右边的表达式值赋给左边的目标。

3.         表达式左右两边类型必须相容

 

l          算数运算符

1.         一元运算符

操作符

操作

操作数据类型

结果数据类型

+

表正数

Integer Real

Integer Real

-

表负数

Integer Real

Integer Real

2.     二元运算符

操作符

操作

操作数据类型

结果数据类型

+

IntegerReal

有一个为Real,结果为Real

-

IntegerReal

有一个为Real,结果为Real

*

IntegerReal

有一个为Real,结果为Real

/

IntegerReal

Real

Div

整除

Integer

Integer

Mod

求余

Integer

Integer

X Div Y的结果是X/Y的结果得到的整数。

X Mod Y X/Y后的余数。

Y值均不能为零

 

l          逻辑运算符

操作符

操作

操作数据类型

结果数据类型

And

逻辑与

Boolean

Boolean

Or

逻辑或

Boolean

Boolean

Not

逻辑非

Boolean

Boolean

Xor

逻辑异或

Boolean

Boolean

And:相当于并且

Not:true变为false,false变为true

Or:相当与或者的意思。

Xor:一个为true一个为false时,结果为true

 

l          关系运算符

操作符

操作

操作数据类型

结果数据类型

=

判断是否相等

多种

Boolean

<>  

判断是否不等

多种

Boolean

<  

判断是否小于

多种

Boolean

>  

判断是否大于

多种

Boolean

<=

判断是否小与等于

多种

Boolean

>=

判断是否大与等于

多种

Boolean

关系运算符号反映的是两个数据之间的关系,其操作数可以是一般类型,也可以是类、对象、接口或字符串。关系运算的结果是逻辑型。

 

l          位运算符

操作符

操作

操作数据类型

结果数据类型

Not

按位取反

Integer

Integer

And

按位取与

Integer

Integer

Or

按位取或

Integer

Integer

Xor

按位异或

Integer

Integer

Shl

按位左移

Integer

Integer

Shr

按位右移

Integer

Integer

操作符

操作

操作数据类型

结果数据类型

Not

按位取反

Integer

Integer

And

按位取与

Integer

Integer

Or

按位取或

Integer

Integer

Xor

按位异或

Integer

Integer

Shl

按位左移

Integer

Integer

Shr

按位右移

Integer

Integer

Not:是一元操作符,其他的是二元操作符。

Xor:当两个位想异时,结果为“ 1” ,否则为“ 0”

Shl:eg:E1 shl E2就是E1乘以2E2次方。

Shr:eg:E1 shr E2 就是E1除以2E2次方。

 

l          集合运算符

操作符

操作

操作数据类型

结果数据类型

+

取并集

集合型

集合型

-

取交集

集合型

集合型

*

取交集的补集

集合型

集合型

=

判断两个集合是否相等

集合型

Boolean

<>  

判断两个集合是否不等

集合型

Boolean

In

判断左边的集合与右边的集合是否有从属关系

集合型

Boolean

<=

判断左边的集合是否是右边集合的子集

集合型

Boolean

>=

判断右边的集合是否是左边集合的子集

集合型

Boolean

 

l          指针运算符

操作符

操作

操作数据类型

结果数据类型

^

取指针地址内容

指针

指针指向内容的类型

+

增加指针地址偏移量

指针、Integer

指针、Integer

-

减少指针地址偏移量

指针、Integer

指针、Integer

=

判断两指针指向的地址是否相同

指针

Boolean

<>  

判断两指针指向的地址是否不同

指针

Boolean

@

取地址

变量

地址

 

l          地址运算符

地址运算符@是在对地址操作时使用,其返回的是操作数的地址。

Var

  x,y:Integer;

  p:^Integer;

Begin

  x:=80;

  p:=@x;

  y:=P^;

end

l          运算符优先级

运算符

优先级

@not

1(最高)

*,/,div,mod,and,shl,shr,as

2

+,-,or,xor,and

3

>,<,>=,<=,<>,=,in,is

4(最低)

          两个运算符间的操作,先参加高优先级的运算

          优先级一样,则从左到右依次运算。

          有括号先算括号内运算。

 

 

附习题

1、   创建一个delphiapplication项目。在窗体上加入一个按钮和一个输入框。在“实现”部分声明一个符点类型变量f;在初始化部分对f赋值为100。当单击按钮时,把f的值加上100,并显示在输入框内。

implementation

 

{$R *.dfm}

 var f :real;

 

procedure TForm1.Button1Click(Sender: TObject);

begin

  self.Edit1.Text := floattostr(f);

end;

initialization

f := 100;

 

2、   创建一个delphiapplication项目。在项目中创建有两个windows窗体,分别是 form_mainform_t form_main是项目的主窗体。在form_t 中的 “接口”部分和“实现”部分中分别定义整形变量 i1i2。在窗体 form_main中调用form_t中的i1i2,是否可以调用?

var i1 :integer;

 

implementation

 

var

  i2 :integer;

 

       Form_main use 添加Unit2

只能调用i1

3、   创建一个delphiapplication项目。在窗体上加上一个按钮和一个输入框,在单击按钮的事件中声明两个整形变量XY,一个指针,请通过指针传递XY的值,并把值显示在输入框内。

procedure TForm1.Button1Click(Sender: TObject);

var x,y :integer;

var p:^integer;

begin

  x := 10;

  p := @x;

  y := p^;

 

  self.Edit1.Text := inttostr(y);

 

end;

 

4、   创建一个delphiapplication项目。声明一个常量x = 10  ;请执行如下代码,请改正代码:

 

 

  if(x>5 and x<2)

  begin

    self.Edit1.Text := 'true';

  end

  else

  begin

    self.Edit1.Text := 'false';

  end;

 

改成

const x :integer = 10;

  if((unit1.x>5) and (unit1.x<2))  then  begin

    self.Edit1.Text := 'true';

  end

  else

  begin

    self.Edit1.Text := 'false';

  end;

 

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值