
- Pascal 教程
- Pascal - 首頁
- Pascal - 概述
- Pascal - 環境設定
- Pascal - 程式結構
- Pascal - 基本語法
- Pascal - 資料型別
- Pascal - 變數型別
- Pascal - 常量
- Pascal - 運算子
- Pascal - 決策
- Pascal - 迴圈
- Pascal - 函式
- Pascal - 過程
- Pascal - 變數作用域
- Pascal - 字串
- Pascal - 布林值
- Pascal - 陣列
- Pascal - 指標
- Pascal - 記錄
- Pascal - 變體
- Pascal - 集合
- Pascal - 檔案處理
- Pascal - 記憶體
- Pascal - 單元
- Pascal - 日期與時間
- Pascal - 物件
- Pascal - 類
- Pascal 有用資源
- Pascal - 快速指南
- Pascal - 有用資源
- Pascal - 討論
Pascal - 變數型別
變數只不過是賦予程式可以操作的儲存區域的名稱。Pascal 中的每個變數都有一個特定型別,該型別決定變數記憶體的大小和佈局;可以儲存在該記憶體中的值的範圍;以及可以應用於變數的操作集。
變數名可以由字母、數字和下劃線組成。它必須以字母或下劃線開頭。Pascal **不區分大小寫**,因此此處大寫字母和小寫字母含義相同。基於上一章解釋的基本型別,將有以下基本變數型別:
Pascal 中的基本變數
序號 | 型別和描述 |
---|---|
1 |
字元 通常是一個八位位元組(一個位元組)。這是一個整數型別。 |
2 | 整數 機器最自然的整數大小。 |
3 | 實數 單精度浮點數。 |
4 | 布林值 指定真或假邏輯值。這也是一個整數型別。 |
5 | 列舉 指定使用者定義的列表。 |
6 | 子範圍 表示值位於一定範圍內的變數。 |
7 | 字串 儲存字元陣列。 |
Pascal 程式語言還允許定義各種其他型別的變數,我們將在後續章節中介紹,例如指標、陣列、記錄、集合和檔案等。對於本章,讓我們只學習基本變數型別。
Pascal 中的變數宣告
在 Pascal 程式中使用所有變數之前,必須先宣告它們。所有變數宣告都以 *var* 關鍵字開頭。宣告指定變數列表,後跟冒號 (:) 和型別。變數宣告的語法如下:
var variable_list : type;
此處,type 必須是有效的 Pascal 資料型別,包括字元、整數、實數、布林值或任何使用者定義的資料型別等,variable_list 可以包含一個或多個用逗號分隔的識別符號名稱。此處顯示一些有效的變數宣告:
var age, weekdays : integer; taxrate, net_income: real; choice, isready: boolean; initials, grade: char; name, surname : string;
在之前的教程中,我們討論過 Pascal 允許宣告型別。型別可以用名稱或識別符號來標識。此型別可用於定義該型別的變數。例如:
type days, age = integer; yes, true = boolean; name, city = string; fees, expenses = real;
現在,可以將如此定義的型別用於變數宣告:
var weekdays, holidays : days; choice: yes; student_name, emp_name : name; capital: city; cost: expenses;
請注意 *type* 宣告和 *var* 宣告之間的區別。型別宣告表示型別的類別或種類,例如整數、實數等,而變數規範表示變數可能取值的型別。您可以將 Pascal 中的 *type* 宣告與 C 中的 *typedef* 進行比較。最重要的是,變數名稱指的是將儲存變數值的記憶體位置。型別宣告並非如此。
Pascal 中的變數初始化
變數使用冒號和等號賦值,後跟一個常量表達式。賦值的一般形式為:
variable_name := value;
預設情況下,Pascal 中的變數不會初始化為零。它們可能包含垃圾值。因此,在程式中初始化變數是一個更好的做法。可以在宣告中初始化變數(分配初始值)。初始化在 **var** 關鍵字之後,初始化語法如下:
var variable_name : type = value;
以下是一些示例:
age: integer = 15; taxrate: real = 0.5; grade: char = 'A'; name: string = 'John Smith';
讓我們來看一個示例,它使用了迄今為止討論的各種型別的變數:
program Greetings; const message = ' Welcome to the world of Pascal '; type name = string; var firstname, surname: name; begin writeln('Please enter your first name: '); readln(firstname); writeln('Please enter your surname: '); readln(surname); writeln; writeln(message, ' ', firstname, ' ', surname); end.
編譯並執行上述程式碼後,將產生以下結果:
Please enter your first name: John Please enter your surname: Smith Welcome to the world of Pascal John Smith
列舉變數
您已經瞭解瞭如何使用簡單的變數型別,例如整數、實數和布林值。現在,讓我們看看列舉型別的變數,它可以定義為:
var var1, var2, ... : enum-identifier;
宣告列舉型別後,可以宣告該型別的變數。例如:
type months = (January, February, March, April, May, June, July, August, September, October, November, December); Var m: months; ... M := January;
以下示例說明了該概念:
program exEnumeration; type beverage = (coffee, tea, milk, water, coke, limejuice); var drink:beverage; begin writeln('Which drink do you want?'); drink := limejuice; writeln('You can drink ', drink); end.
編譯並執行上述程式碼後,將產生以下結果:
Which drink do you want? You can drink limejuice
子範圍變數
子範圍變數宣告如下:
var subrange-name : lowerlim ... uperlim;
子範圍變數的示例:
var marks: 1 ... 100; grade: 'A' ... 'E'; age: 1 ... 25;
以下程式說明了該概念:
program exSubrange; var marks: 1 .. 100; grade: 'A' .. 'E'; begin writeln( 'Enter your marks(1 - 100): '); readln(marks); writeln( 'Enter your grade(A - E): '); readln(grade); writeln('Marks: ' , marks, ' Grade: ', grade); end.
編譯並執行上述程式碼後,將產生以下結果:
Enter your marks(1 - 100): 100 Enter your grade(A - E): A Marks: 100 Grade: A