Pascal - 資料型別



實體的資料型別指示與其關聯的含義、約束、可能值、操作、函式和儲存方式。

整數、實數、布林和字元型別被稱為標準資料型別。資料型別可以分為標量、指標和結構化資料型別。標量資料型別的示例包括整數、實數、布林、字元、子範圍和列舉。結構化資料型別由標量型別組成;例如,陣列、記錄、檔案和集合。我們稍後將討論指標資料型別。

Pascal 資料型別

Pascal 資料型別可以在下圖中總結如下:

Pascal Data Types

型別宣告

型別宣告用於宣告識別符號的資料型別。型別宣告的語法如下:

 type-identifier-1, type-identfier-2 = type-specifier;

例如,以下宣告將變數 days 和 age 定義為整數型別,yes 和 true 定義為布林型別,name 和 city 定義為字串型別,fees 和 expenses 定義為實數型別。

type
days, age = integer;
yes, true = boolean;
name, city = string;
fees, expenses = real;

整數型別

下表提供了有關 Object Pascal 中使用的標準整數型別及其儲存大小和值範圍的詳細資訊:

型別 最小值 最大值 格式
Integer -2147483648 2147483647 帶符號 32 位
Cardinal 0 4294967295 無符號 32 位
Shortint -128 127 帶符號 8 位
Smallint -32768 32767 帶符號 16 位
Longint -2147483648 2147483647 帶符號 32 位
Int64 -2^63 2^63 - 1 帶符號 64 位
Byte 0 255 無符號 8 位
Word 0 65535 無符號 16 位
Longword 0 4294967295 無符號 32 位

常量

使用常量使程式更具可讀性,並有助於將特殊數量儲存在程式開頭的同一個位置。Pascal 允許數字、邏輯、字串字元常量。可以透過指定const宣告在程式的宣告部分宣告常量。

常量型別宣告的語法如下:

const
Identifier = contant_value;

以下是一些常量宣告的示例:

VELOCITY_LIGHT = 3.0E=10;
PIE = 3.141592;
NAME = 'Stuart Little';
CHOICE = yes;
OPERATOR = '+';

所有常量宣告必須在變數宣告之前給出。

列舉型別

列舉資料型別是使用者定義的資料型別。它們允許在列表中指定值。在列舉資料型別上僅允許使用賦值運算子和關係運算子。列舉資料型別可以按如下方式宣告:

type
enum-identifier = (item1, item2, item3, ... )

以下是一些列舉型別宣告的示例:

type
SUMMER = (April, May, June, July, September);
COLORS = (Red, Green, Blue, Yellow, Magenta, Cyan, Black, White);
TRANSPORT = (Bus, Train, Airplane, Ship);

在列舉型別域中列出專案的順序定義了專案的順序。例如,在列舉型別 SUMMER 中,April 在 May 之前,May 在 June 之前,依此類推。列舉型別識別符號的域不能包含數字或字元常量。

子範圍型別

子範圍型別允許變數取值範圍內的值。例如,如果選民的年齡應在 18 到 100 歲之間,則名為 age 的變數可以宣告為:

var
age: 18 ... 100;

我們將在下一節中詳細介紹變數宣告。您還可以使用型別宣告定義子範圍型別。宣告子範圍型別的語法如下:

type
subrange-identifier = lower-limit ... upper-limit;

以下是一些子範圍型別宣告的示例:

const
P = 18;
Q = 90;
type
Number = 1 ... 100;
Value = P ... Q;

可以從已定義列舉型別的一個子集中建立子範圍型別,例如:

type
months = (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec);
Summer = Apr ... Aug;
Winter = Oct ... Dec;
廣告