- 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