前言 1
第1章 PASCAL程序的构成 1
1.1 APSCAL源程序的结构 1
序言 1
1.2 PASCAL的字符和符号 5
1.2.1 PASCAL语言的字符集 6
1.2.2 PASCAL语言的符号 6
1.2.3 PASCAL语言的特定符号 7
1.3 PASCAL的数 8
1.3.1 整数 8
1.3.2 实数有两种表示格式 9
1.4 标识符 11
1.5 字符串 13
1.6 注解 15
1.7.1 单项选择题 16
1.7.2 多项选择题 16
1.7 模拟试题 16
1.7.3 填空题 17
1.7.4 问答题 17
第2章 简单数据类型、简单语句和简单程序设计 18
2.1 PASCAL的数据类型 18
2.2 标准数据类型 19
2.2.1 整数类型 19
2.2.2 实数类型 21
2.2.3 字符类型 22
2.2.4 布尔类型 24
2.3 常量和常量说明 27
2.3.1 常量说明区的格式 27
2.3.2 一种常用的语法表示方法 28
2.3.3 常量说明的意义 29
2.4 变量和变量说明 31
2.4.1 变量说明区的格式 31
2.4.2 变量说明的意义 31
2.5.1 标准函数的意义 33
2.5.2 PASCAL标准函数及其分类 33
2.5 标准函数 33
2.5.3 标准函数的自变量和函数值的类型 34
2.5.4 顺序类型 34
2.6 表达式 37
2.7 PASCAL的语句及其分类 40
2.8.2 赋值语句的语义 41
2.8.3 赋值语句的执行步骤 41
2.8.1 赋值语句的格式 41
2.8 赋值语句 41
2.8.4 赋值相容性 42
2.9 输入与读语句 46
2.9.1 赋值语句功能的局限性 46
2.9.2 读语句的格式 46
2.9.3 读语句的语义(功能) 46
2.10 输出与写语句 53
2.10.1 写语句的格式 53
2.10.2 写语句的功能 53
2.10.3 写行语句的功能 56
2.11 顺序结构和简单的源程序 59
2.11.1 简单的源程序的意义 59
2.11.2 简单的源程序举例 59
2.12 模拟试题 64
2.12.1 单项选择题 64
2.12.2 多项选择题 68
2.12.3 填空题 69
2.12.4 判断(是非)题 69
2.12.5 编程题 70
第3章 条件语句与选择结构 71
3.1 APSCAL控制结构 71
3.2 分层缩进、对齐的书写格式 72
3.3 IF(如果)语句和空语句 74
3.3.1 引进如果语句的必要性 74
3.3.2 IF语句的语法 74
3.3.3 语义 74
3.3.4 流程图(框图) 76
3.3.6 多重IF语句(IF语句的嵌套) 77
3.3.5 简单语句与构造语句 77
3.3.7 空语句和复合语句 78
3.4 CASE(多情况)语句 83
3.4.1 引进CASE语句的必要性 83
3.4.2 推广工作从三方面进行 84
3.4.3 CASE语句的语法 85
3.4.4 CASE语句的语义 85
3.4.5 带“否则项”的CASE语句 89
3.5 GOTO(转移)语句和标号说明 90
3.5.1 引例 90
3.5.2 GOTO语句的语义(功能) 91
3.5.3 语法 91
3.5.4 对引例中程序的分析 91
3.5.5 讲法对GOTO语句使用范围的限制 92
3.5.6 情况标号与语句标号二者的区别 92
3.5.7 GOTO语句以空语句作为程序的转移目标 93
3.5.9 慎重使用GOTO语句 94
3.5.8 无标号语句和带标号语句 94
3.6 模拟试题 96
3.6.1 单项选择题 96
3.6.2 填空题 101
3.6.3 判断题 102
3.6.4 改错题 103
3.6.5 问答题 104
3.6.7 编程题 105
3.6.6 程序填空题 105
第4章 重复性语句与循环结构 107
4.1 FOR(计数循环)语句 107
4.1.1 FOR语句的语法 107
4.1.2 FOR语句的语义 108
4.1.3 算法的自然语言描述方式 114
4.2 多重循环语句 116
4.2.1 多重循环语句的意义 116
4.2.2 多重循环的特性 116
4.3.1 引入当循环的必要性 119
4.3 WHILE(当循环)语句 119
4.3.2 WHILE语句的语法 120
4.3.3 WHILE语句的语义 120
4.3.4 条件循环与计数循环 121
4.4 REPEAT(直到循环)语句 125
4.4.1 REPEAT语句的语法 125
4.4.2 REPEAT语句的语义 125
4.4.3 三种重复性语句的比较 128
4.5 模拟试题 131
4.5.1 多项选择题 131
4.5.2 单项选择题 131
4.5.3 填空题 139
4.5.4 判断题 140
4.5.5 改错题 142
4.5.6 程序填空题 143
4.5.7 编程题 144
5.1 算法 146
第5章 算法和结构化程序设计的初步知识 146
5.2 结构化程序和结构化程序设计 151
5.3 良好的程序设计风格和习惯 154
5.3.1 在设计阶段注意合理分解 154
5.3.2 编码阶段 155
5.4 一个实例 158
5.5 几个思考题 161
6.1 子界(域)类型 162
6.1.1 数据类型的分类 162
第6章 子界(域)类型和数组类型 162
6.1.2 PASCAL程序的类型说明区 163
6.1.3 子界(域)类型说明的语法 163
6.1.4 子界类型的语义 164
6.1.5 类型说明与变量说明合并进行 164
6.1.6 引入子界类型的主要优点 164
6.2 数组类型 166
6.2.1 引入数组的必要性 166
6.2.2 数组类型说明的语法 167
6.2.3 数组类型说明的语义 167
6.2.4 再谈顺序类型的性质 174
6.2.5 引入数组类型的好处 176
6.2.6 简单数据类型的特征,简单类型与构造类型的联系与区别 176
6.3 使用数组和循环结构的一些例子 186
6.4 模拟试题 198
6.4.1 单项选择题 198
6.4.2 填空题 203
6.4.3 改错题(请分别改正下列各程序段中的错误) 204
6.4.4 程序填空题 205
6.4.5 编程题 206
第7章 过程(函数)与模块结构和层次结构 208
7.1 无参过程,程序与它的主程序、子程序 208
7.1.1 子目录法 208
7.1.2 无参过程 208
7.1.3 程序与其主程序、子程序 210
7.2 有参过程与数值参数和变量参数 211
7.2.1 有参过程 211
7.2.2 数值参数与变量参数的区别 212
7.2.3 有参过程说明的语法 215
7.2.5 过程体与程序体 219
7.2.6 过程结构与程序结构的区别 219
7.2.4 过程语句的语法 219
7.3.2 函数说明的语法 220
7.3.3 函数的调用 220
7.3.4 函数与过程的主要区别 220
7.3.1 函数的意义 220
7.3 函数说明与函数调用 220
7.2.7 什么情况下使用过程 220
7.3.5 标准函数、标准过程与用户自定义函数和用户自定义过程 225
7.4 标识符和标号的作用域(辖域) 226
7.4.1 标识符在程序中的两种出现 226
7.4.2 几个概念 226
7.4.3 作用域概念对程序设计的意义 228
7.4.4 实例 229
7.5 非局部量与子程序的副作用 234
7.6.2 递归函数(过程)设计举例 237
7.6.1 递归过程(函数)的定义 237
7.6 递归 237
7.6.3 递归程序分析、阅读示例 242
7.6.4 超前引用 244
7.7 模拟试题 246
7.7.1 单项选择题 246
7.7.2 多项选择题 252
7.7.3 判断题 253
7.7.4 填空题 253
7.7.5 程序填空题 255
7.7.6 编程题 256
第8章 紧缩数组与串变量 257
8.1 数据类型之间的关系 257
8.1.1 数据类型的重要性 257
8.1.2 数据类型的概念 257
8.1.3 数据类型的分类 258
8.1.4 数据类型之间的关系及其在程序设计中的应用 258
8.1.5 引入众多数据类型的好处 261
8.2.1 紧缩数组 262
8.2 紧缩数组与串变量的关系 262
8.2.2 串变量 265
8.3 模拟试题 272
8.3.1 单项选择题 272
8.3.2 程序填空题 273
第9章 枚举类型 275
9.1 枚举类型的语法 275
9.2 枚举类型的语义 276
9.3 模拟试题 280
9.3.1 单项选择题 280
9.3.2 填空题 282
9.3.3 判断题 283
9.3.4 程序填空题 283
9.3.5 编程题 285
第10章 记录类型 286
10.1 记录类型的语义 286
10.2 记录类型的语法 286
10.3 记录数组 288
10.4 开域语句 289
10.5 带变体的记录 293
10.6 模拟试题 297
10.6.1 单项选择题 297
10.6.2 填空题 299
10.6.3 程序填空题 300
10.6.4 编程题 300
11.2 集合类型的语法 302
11.1 集合类型的语义 302
第11章 集合类型 302
11.3 集合类型的运算 304
11.4 集合的输入、输出 307
11.5 再谈集合类型的基类型 308
11.6 集合类型的相容性 310
11.7 集合类型的优、缺点 311
11.8 模拟试题 313
11.8.1 单项选择题 313
11.8.2 填空题 315
11.8.3 程序填空题 317
11.8.4 编程题 319
第12章 文件类型 320
12.1 文件的概念 320
12.2 FILE类型文件 321
12.2.1 语法 321
12.2.2 文件的特性 323
12.2.3 五个常用的名词 323
12.2.4 文件的操作 325
12.3 文本文件 331
12.3.1 文本文件的重要性 331
12.3.2 文本文件的结构特点 331
12.3.3 文本文件类型是PASCAL的标准类型 332
12.4 FILE类型文件与text类型文件的区别 337
12.5 TURBO PASCAL的文件类型 338
12.5.1 文件变量与实际文件之间联系的建立与联系的解除 338
12.5.2 随机(读、写)文件 344
12.5.3 TURBO PASCAL中的文本文件 347
12.6 模拟试题 350
12.6.1 单项选择题 350
12.6.2 填空题 353
12.6.3 判断题 354
12.6.4 改错题 355
12.6.5 程序填空题 355
12.6.6 编程题 357
13.1.1 静态变量满足不了程序设计领域某些方面的需要 359
13.1 指针类型 359
第13题 指针类型与动态数据结构 359
13.1.2 指针的意义 360
13.1.3 指针类型和指针变量 362
13.1.4 注意区分指针变量与指针的目标变量 364
13.2 动态变量的生成(建立)与废弃释放(撤消) 366
13.2.1 标准过程new 366
13.2.2 递归数据结构 367
13.2.3 目标变量的性质和运算 368
13.3.1 不含指针的动态变量应用举例 370
13.2.4 标准过程dispose 370
13.3 指针和动态变量的应用 370
13.3.2 链表的分类 374
13.3.3 向前链表 374
13.3.4 双向环形链表举例 380
13.4 模拟试题 381
13.4.1 多项选择题 381
13.4.2 单项选择题 382
13.4.3 填空题 386
13.4.4 判断题 387
13.4.5 改错题 388
13.4.6 程序填空题 389
13.4.7 编程题 391
附录A PASCAL关键字(保留关键字) 392
附录B PASCAL保留字(标准标识符) 393
附录C PASCAL运算符一览表 394
附录D ASCII码表 395