第1章 Pascal程序设计快速入门 1
1.1 Pascal程序结构 1
1.2 保留字和标识符 3
1.3 Pascal数据类型 4
1.3.1 整数类型 4
1.3.2 实数类型 4
1.3.3 布尔类型 5
1.3.4 字符类型 6
1.4 常量与变量 6
1.5 标准函数 7
1.6 表达式和赋值语句 9
1.6.1 表达式 9
1.6.2 赋值语句 10
1.7 输入输出语句及其控制格式 10
1.7.1 读语句Read和Readln 10
1.7.2 写语句write和writeln 12
1.7.3 输出格式 13
1.8 简单的Pascal程序设计实例 14
习题一 15
第2章 控制结构程序的设计 18
2.1 复合语句 18
2.2 选择性语句 18
2.2.1 IF语句 18
2.2.2 CASE语句 22
2.3 循环语句 25
2.3.1 WHILE循环语句 25
2.3.2 REPEAT循环语句 29
2.3.3 FOR循环语句 30
2.4 循环嵌套 33
2.5 GOTO语句 36
2.6 应用程序举例 37
2.7 结构化程序设计 41
习题二 42
第3章 函数和过程 48
3.1 标准函数和标准过程 48
3.2 自定义函数的说明与调用 49
3.3 自定义过程说明与调用 52
3.4 数值参数与变量参数 54
3.5 标识符的作用域 59
3.5.1 局部量的作用域 59
3.5.2 全局量的作用域 59
3.5.3 子程序嵌套的作用域问题 62
3.5.4 函数名和过程名的作用域 63
3.5.5 非局部量与副作用 65
习题三 66
第4章 递归程序设计 69
4.1 递归的基本概念 69
4.2 递归调用 69
4.3 函数递归调用 70
4.3.1 如何编写正确的递归程序 73
4.4 过程的递归调用 77
4.5 设计递归过程的技巧 78
4.6 栈与递归 82
4.7 递归程序应用实例 85
习题四 87
第5章 枚举类型和子域类型 90
5.1 类型定义 90
5.2 枚举类型 90
5.3 子域类型 93
5.4 枚举和子域类型的程序实例 96
习题五 98
第6章 数组类型 100
6.1 一维数组 100
6.2 一维数组程序举例 102
6.3 二维数组 104
6.4 二维数组程序举例 105
6.5 紧缩数组和字符串变量 109
习题六 113
第7章 集合类型 115
7.1 集合的定义 115
7.2 集合运算 117
7.3 集合的输入输出方法 118
7.4 集合应用程序举例 119
习题七 120
第8章 记录类型 122
8.1 记录类型定义、变量说明和引用 122
8.2 记录数组 124
8.3 WITH语句 125
8.4 记录类型程序应用举例 129
习题八 131
第9章 动态数据结构 134
9.1 指针 134
9.1.1 指针类型和指针变量 134
9.1.2 开辟和释放动态存储单元 135
9.1.3 动态变量的引用 136
9.1.4 对指针变量的操作 137
9.1.5 指针变量和动态变量的区别与关系 138
9.2 链表 139
9.2.1 链表的基本概念 139
9.2.2 单向链表节点的插入 141
9.2.3 单向链表节点的删除 145
9.2.4 建立单向链表 146
9.2.5 打印单向链表 147
9.2.6 带冠节点的单向链表 147
9.3 双向链表 148
9.4 循环链表 149
习题九 150
第10章 文件 154
10.1 FILE文件 155
10.1.1 FILE文件的基本概念 155
10.1.2 FILE文件的建立与读写 156
10.2 text文件 159
10.2.1 数据类型的自动转换 159
10.2.2 文本文件的分行结构 161
习题十 165
附录A 习题解答 167
附录B 1995年~1997年全国计算机等级考试二级笔试题(Pascal语言部分)及标准答案 200
参考文献 244