信息学竞赛

Pascal入门

特色教育 >>信息学竞赛 >>Pascal入门

PascalFAQ之数据类型

来源:程军康|编辑日期:2009-11-06 10:20:58|点击数: |发布:55

PascalFAQ之数据类型

如何设置字符串的长度?

在Borland/Turbo Pascal中,可以通过改变字符串中索引号为0的字符的值来设置字符串长度。对于字符串S,S[0]返回一个字符,其序号代表S的长度,你可以使用语句S[0] := Chr(L)来把字符串S的长度设为L,其最大值为255。在Free Pascal中,可以使用过程SetLength(var S: string; Len: Longint)来设置字符串的长度,其最大值视字符串的类型而定。

不同的实数类型有什么区别?

Borland/Turbo Pascal提供五种实数类型:Real、Single、Double、Extended和Comp。它们的特性如下表所示:

类型 范围 有效位数 大小(字节)
Real 2.9E-39..1.7E38 11~12 6
Single 1.5E-45..3.4E38 7~8 4
Double 5.0E-324..1.7E308 15~16 8
Extended 3.4E-4932..1.1E4932 19~20 10
Comp -9.2E18..9.2E18 19~20 8

Real是标准的实数类型,它以软件方式进行运算,速度很慢,一般不使用它来存储实数。其它四种实数类型都由数字协处理器进行运算,速度快,精度高。其中,Comp是64位整数类型,它用来存储范围在-2^63+1至2^63-1之间的整数,不过它被作为实数来进行处理。当把一个Comp类型变量赋值为一个实数时,会自动进行四舍五入。

在Free Pascal中,Real等价于Double,其它四种实数类型与Borland/Turbo Pascal相同。

如何在记录类型中声明一个类型为该记录指针类型的字段?

你需要预先定义该记录类型的指针类型,然后把字段的类型设为该指针类型。参考下面的样例:

type
  PRec = ^TRec;
  TRec = record
    A: PRec;
  end;

注意,在这种情况下,记录类型必须和其指针类型定义在同一个类型定义部分中,如下面的样例是错误的:

type
  PRec = ^TRec;

type
  TRec = record
    A: PRec;
  end;

上一篇:

下一篇: