变量类型
变量只不过是我们的程序可以操作的存储区域的名称。 Pascal中的每个变量都有一个特定的类型,它决定了变量内存的大小和布局; 可存储在该内存中的值范围; 以及可以应用于变量的操作集。
变量的名称可以由字母,数字和下划线字符组成。 它必须以字母或下划线开头。 Pascal not case-sensitive ,因此大写和小写字母在这里意味着相同。 根据前一章中解释的基本类型,将有以下基本变量类型 -
Pascal中的基本变量
Sr.No | 类型和描述 |
---|---|
1 | Character 通常是一个八位字节(一个字节)。 这是一个整数类型。 |
2 | Integer 机器最自然的整数大小。 |
3 | Real 单精度浮点值。 |
4 | Boolean 指定true或false逻辑值。 这也是整数类型。 |
5 | Enumerated 指定用户定义的列表。 |
6 | Subrange 表示变量,其值位于范围内。 |
7 | String 存储一组字符。 |
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