- 帕斯卡教程
- 帕斯卡 - 主页
- 帕斯卡 - 概述
- Pascal - 环境设置
- 帕斯卡 - 程序结构
- Pascal - 基本语法
- Pascal - 数据类型
- Pascal - 变量类型
- 帕斯卡 - 常数
- 帕斯卡 - 运算符
- 帕斯卡 - 决策
- 帕斯卡 - 循环
- 帕斯卡 - 函数
- 帕斯卡 - 程序
- Pascal - 变量作用域
- 帕斯卡 - 弦乐
- 帕斯卡 - 布尔
- 帕斯卡 - 数组
- 帕斯卡 - 指针
- 帕斯卡 - 记录
- 帕斯卡 - 变体
- 帕斯卡 - 集合
- 帕斯卡 - 文件处理
- 帕斯卡 - 记忆
- 帕斯卡 - 单位
- 帕斯卡 - 日期和时间
- 帕斯卡 - 对象
- 帕斯卡 - 类
- 帕斯卡有用资源
- 帕斯卡 - 快速指南
- 帕斯卡 - 有用的资源
- 帕斯卡 - 讨论
Pascal - 变量类型
变量只不过是我们的程序可以操作的存储区域的名称。Pascal中的每个变量都有一个特定的类型,它决定了变量内存的大小和布局;该内存中可以存储的值的范围;以及可以应用于变量的操作集。
变量的名称可以由字母、数字和下划线字符组成。它必须以字母或下划线开头。Pascal不区分大小写,因此这里大写和小写字母的含义相同。基于上一章解释的基本类型,将有以下基本变量类型 -
Pascal 中的基本变量
先生编号 | 类型和描述 |
---|---|
1 |
特点 通常是一个八位位组(一个字节)。这是一个整数类型。 |
2 | 整数 机器最自然的整数大小。 |
3 | 真实的 单精度浮点值。 |
4 | 布尔值 指定 true 或 false 逻辑值。这也是一个整数类型。 |
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;
请注意类型声明和var声明之间的区别。类型声明指示类型的类别或类,例如整数、实数等,而变量规范指示变量可以采用的值的类型。您可以将Pascal 中的类型声明与 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