图书介绍
程序设计语言原理 原书第5版【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

- (美)Robert W.Sebesta著;张勤译 著
- 出版社: 北京:机械工业出版社
- ISBN:7111137558
- 出版时间:2004
- 标注页数:483页
- 文件大小:32MB
- 文件页数:503页
- 主题词:程序语言-高等学校-教材
PDF下载
下载说明
程序设计语言原理 原书第5版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
目 录1
出版者的话1
专家指导委员会1
译者序1
前言1
第1章基本概念1
1.1学习程序设计语言原理的缘由2
1.2程序设计领域3
1.2.1科学应用4
1.2.2商务应用4
1.2.3人工智能4
1.2.4系统程序设计4
1.2.5脚本语言5
1.2.6专用语言5
1.3语言评估标准5
1.3.1可读性6
1.3.2可写性10
1.3.3可靠性11
1.3.4代价12
1.4影响语言设计的因素13
1.4.1计算机体系结构13
1.4.2程序设计方法学14
1.5语言分类15
1.6语言设计中的权衡15
1.7实现方法16
1.7.1编译方法17
1.7.2单纯解释19
1.7.3混合实现系统20
1.8程序设计环境20
本章小结21
复习题21
练习题22
第2章主要程序设计语言的发展23
2.1.2语言概述25
2.1.1历史背景25
2.1 Zuse的Plankalkül语言25
2.2最小硬件的程序设计:伪代码26
2.2.1短代码26
2.2.2快速编码27
2.2.3 UNIVAC“编译”系统27
2.2.4相关的工作27
2.3 IBM704计算机和FORTRAN语言27
2.3.1历史背景27
2.3.3 FORTRAN Ⅰ概况28
2.3.2设计过程28
2.3.4 FORTRAN Ⅱ概况29
2.3.5 FORTRAN Ⅳ、FORTRAN 77和FORTRAN 9029
2.3.6评估30
2.4函数式程序设计:LISP语言31
2.4.1人工智能和表数据处理的开始31
2.4.2 LISP的设计过程32
2.4.3语言概述32
2.4.4评估33
2.4.5 LISP的两种后代语言34
2 4.6相关的语言35
2.5迈向成熟的第一步:ALGOL 6035
2.5.1历史背景35
2.5.2早期设计过程36
2.5.3 ALGOL58概况36
2.5.4 ALGOL58报告的接受36
2.5.6 ALGOL 60语言概述37
2.5.5 ALGOL60的设计过程37
2.5.7 ALGOL60的评估38
2.6商务记录的计算机化:COBOL39
2.6.1历史背景39
2.6.2 FLOW-MATIC语言39
2.6.3 COBOL的设计过程40
2.6.4评估40
2.7分时操作的开始:BASIC42
2.7.3评估43
2.7.2语言概述43
2.7.1设计过程43
2.8用途广泛的语言:PL/I44
2.8.1历史背景44
2.8.2设计过程45
2.8.3语言概述45
2.8.4评估46
2.9.1APL的起源与特征47
2.9.2 SNOBOL的起源与特征47
2.9两种早期的动态语言:APL和SNOBOL47
2.10数据抽象的开始:SIMULA 6748
2.10.1设计过程48
2.10.2语言概述48
2.1 1正交性语言的设计:ALGOL6848
2.1 1.1设计过程49
2.11.2语言概述49
2.11.3评估49
2.12.1为简单性而设计的语言:Pasca150
2.12 ALGOL系列语言的重要后代语言50
2.12.2可移植的系统语言:C51
2.12.3 ALGOL的其他后代语言53
2.13基于逻辑的程序设计:Prolog54
2.13.1设计过程54
2.13.2语言概述54
2.13.3评估55
2.14历史上最大规模的语言设计:Ada55
2.14.1历史背景55
2.14.2设计过程55
2.14.3语言概述57
2.14.4评估57
2.14.5 Ada 9558
2.15面向对象的程序设计:Smalltalk59
2.15.1设计过程59
2.15.2语言概述60
2.15.3评估60
2.16.1设计过程61
2.1 6结合命令式与面向对象的特性:C++61
2.16.2语言概述62
2.16.3评估62
2.16.4一种相关语言:Eiffel62
2.17万维网程序设计:Java63
2.17.1设计过程63
2.17.2语言概述63
2 17.3评估64
本章小结65
文献注释65
复习题66
练习题67
第3章描述语法和语义69
3.3.3语法图69
3.2描述语法的普遍问题70
3.3.1巴科斯-诺尔范式与上下文无关文法71
3.3描述语法的形式方法71
3.2.1语言识别器71
3.2.2语言生成器71
3.3.2扩展的BNF79
3.1介绍79
3.3.4文法与识别器80
3.4属性文法80
3.4.1静态语义81
3.4.2基本概念81
34.3属性文法定义81
3.4.5属性文法的例子82
3.4.4内在属性82
3.4.6计算属性值83
3.4.7评估83
3.5描述程序的意义:动态语义84
3.5.1操作语义84
3.5.2公理语义86
3.5.3指称语义93
本章小结96
复习题97
练习题97
文献注释97
第4章词法分析和语法分析101
4.1介绍102
4.2词法分析102
4.3语法分析问题105
4.3.1语法分析介绍105
4.3.3自底向上语法分析器106
4.3.4语法分析的复杂性106
4.3.2自顶向下语法分析器106
4.4递归下降语法分析107
4.4.1递归下降语法分析过程107
4.4.2 LL文法类109
4.5自底向上语法分析110
4.5.1自底向上语法分析器的语法分析问题110
4.5.2移进-归约算法112
4.5.3 LR语法分析器112
本章小结115
复习题116
练习题117
第5章名字、绑定、类型检测和作用域119
5.1介绍120
5.2名字120
5.2.1设计问题120
5.2.2名字形式120
5.2.3特殊字121
5.3.2地址122
5.3.1名字122
5.3变量122
5.3.3类型123
5.3.4值123
5.4绑定概念123
5.4.1属性-变量绑定124
5.4.2类型绑定124
5.4.3存储绑定与生存期126
5.5类型检测128
5.6强类型化129
5.7类型兼容性130
5.8作用域132
5.8.1静态作用域132
5.8.2块134
5.8.3静态作用域的评估134
5.8.4动态作用域136
5.8.5动态作用域的评估137
5.9作用域与生存期137
5.10引用环境138
5.11命名常量139
5.12变量初始化141
本章小结141
复习题142
练习题142
第6章数据类型147
6.1介绍148
6.2.1数值类型149
6.2基本数据类型149
6.2.2布尔类型150
6.2.3字符类型150
6.3字符串类型151
6.3.1设计问题151
6.3.2字符串及操作151
6.3.3串长度的选择152
6.3.5字符串类型的实现153
6.3.4评估153
6.4用户定义的序数类型154
6.4.1枚举类型154
6.4.2子范围类型155
6.4.3实现用户定义的序数类型156
6.5数组类型156
6.5.1设计问题157
6..5.2数组和下标157
6.5.3下标绑定和数组类别158
6.5.4数组中的下标数目159
6.5.6数组操作160
6.5.5数组初始化160
6.5.7片161
6.5.8评估162
6.5.9数组类型的实现162
6.6相关数组165
6.6.1结构和操作165
6.6.2实现相关数组166
6.7记录类型166
6.7.1记录的定义166
6.72对记录域的引用167
6.7.3记录操作168
6.7.4评估168
6.7.5记录类型的实现169
6 8联合类型169
6.8.1设计问题169
6.8.2自由联合169
6.8.3 Pascal联合类型169
6.8.4 Ada联合类型171
6.8.6联合类型的实现172
6.8.5评估172
6.9集合类型173
6.9.1 Pascal中的集合173
6.92评估173
6.9.3集合类型的实现174
6.10指针类型174
6.10 .1设计问题175
6.10.2指针操作175
6.10.4 Pascal语言中的指针176
6.10.3指针的一些问题176
6.10.5Ada中的指针177
6.10.6 C和C++中的指针177
6.10.7 FORTRAN 90中的指针178
6.10.8引用类型179
6.10.9评估179
6.10.10指针类型和引用类型的实现180
本章小结183
复习题184
文献注释184
练习题185
第7章 表达式与赋值语句187
7.1介绍188
7.2算术表达式188
7.2.1操作符求值顺序188
7.2.2操作数求值顺序192
7.3重载操作符193
7.4.1表达式中的强制转换195
7 4类型转换195
7.4 2显式类型转换196
7.4 3表达式中的错误196
7.5关系表达式和布尔表达式197
7.5.1关系表达式197
7.5.2布尔表达式197
7 6短路求值198
7.7赋值语句199
7.7.4复合赋值操作符200
7 7.3条件目标200
7.7.2多目标200
7.7.1简单赋值200
7.7.5一元赋值操作符201
7.7.6赋值作为表达式201
7.8混合模式赋值202
本章小结203
复习题203
练习题203
第8章语句层次的控制结构207
8.1介绍208
8.2复合语句208
8.3选择语句209
8.3.1双向选择语句209
8.3.2多向选择结构212
8.4循环语句217
8.4.1计数器控制的循环217
8.4.2逻辑控制的循环223
8.4.3用户定位的循环控制机制224
8.4.4基于数据结构的重复226
8.5无条件转移227
8.5.1无条件转移中的问题227
8 5.2标号形式228
8.6受保护命令228
8.7结论230
本章小结231
复习题231
练习题232
第9章子程序235
9.1介绍236
9.2子程序的基本原理236
9.2.1子程序的共同特征236
9.2.2基本定义236
9.2.3参数237
9.2.4过程与函数238
9.3子程序的设计问题239
9.4局部引用环境240
9.5参数传递方法241
9.5.1参数传递的语义模型241
9.5.2参数传递的实现模型242
9.5.3主要语言中的参数传递245
9.5.4参数类型检测246
9.5.5实现参数传递方法247
9.5.6多维数组作为参数248
9.5.8参数传递的例子251
9.5.7设计考虑251
9.6子程序名作为参数传递254
9.7重载子程序256
9.8通用子程序257
9.8.1Ada中的通用子程序257
9.8.2 C++中的通用函数258
9.9分别编译与独立编译260
9.1 1.1 FORTRAN COMMON块261
9.11访问非局部环境261
9.10.2返回值的类型261
9.10.1函数的副作用261
9.10函数的设计问题261
9.11.2外部声明和模块262
9.12用户定义的重载操作符263
9.13协同程序263
本章小结265
复习题265
练习题266
第10章实现子程序269
10.1调用与返回的一般语义270
10.2实现FORTRAN 77子程序270
10.3在类ALGOL语言中实现子程序272
10.3.1更复杂的活动记录272
10.3.2一个没有递归及非局部引用的例子273
10.3.3递归275
10.3.4实现非局部引用的机制275
10.4块285
10.5.1深访问286
10 5实现动态作用域286
10 5.2浅访问287
10.6子程序名参数的实现288
10.6.1静态链方法288
10.6.2显示288
10.6.3再次讨论引用环境的混乱288
本章小结290
文献注释290
复习题290
练习题291
第11章抽象数据类型293
1 1.1抽象的概念294
11.2封装294
11.3数据抽象的介绍295
11.3.1浮点数作为抽象数据类型295
11.3.2用户定义的抽象数据类型296
11.3.3一个例子296
11.51SIMULA 67中的类297
11.4设计问题297
11.5语言示例297
11.5.2 Ada中的抽象数据类型298
11.5.3 C++中的抽象数据类型301
11.6有参数的抽象数据类型305
11.6.1Ada305
11.6.2 C++305
本章小结306
练习题307
复习题307
第12章支持面向对象的程序设计309
12.1介绍310
12.2面向对象程序设计310
12.2.1介绍310
12.2.2继承310
12.2.3多态与动态绑定312
12.2.4面向对象语言的计算312
12.3.3实现继承与接口继承313
12.3.2子类是子类型吗313
12.3.1纯对象模型313
12.3面向对象语言的设计问题313
12.3.4类型检测与多态314
12.3.5单继承与多继承314
12.3.6对象的分配与解除分配315
12.3.7动态绑定与静态绑定315
12.4 Smalltalk概况315
12.4.1一般特征316
12.4.2 Smalltalk环境316
12.5 Smalltalk语言介绍316
12.5.1表达式316
12.5.2方法318
12.5.3赋值语句319
12.5.4块与控制结构320
12.5.5类322
12.5.6方法的更多方面323
12.6.1简单表格处理324
12.6 Smalltalk程序示例324
12.6.2 LOGO风格的图形325
12.7 Smalltalk的轮廓特性329
12.7.1类型检测与多态329
12.7.2继承329
12.8 Smalltalk的评估329
12.9 C++对面向对象程序设计的支持330
12.9.1一般特征330
12.9.2继承330
12.9.3动态绑定333
12.9.4评估334
12.10 Java对面向对象程序设计的支持335
12.10.1一般特征335
12.10.2继承336
12.10.3动态绑定336
12.10.4封装336
12.11.1一般特征337
12.1 1 Ada 95对面向对象程序设计的支持337
12.10.5评估337
12.11 2继承338
12.11.3动态绑定338
12.11.4评估339
12.12 Eiffel对面向对象程序设计的支持339
12.12.1一般特征340
12.12.2继承340
12.13 JavaScript的对象模型341
12.13.1一般特征341
12 12.4评估341
12.12.3动态绑定341
12.13.2 JavaScript对象342
12.13.3对象的创建与修改342
12.13.4评估343
12.14面向对象结构的实现343
12.14.1存储实例数据343
12.14.2消息对方法的动态绑定344
复习题345
本章小结345
练习题346
第13章并发349
13.1介绍350
13.1.1多处理器体系结构350
13.1 .2并发的种类351
1 3.1.3学习并发的动机351
13.2子程序层次并发的介绍351
13.2.1基本概念351
13.2 2为并发而设计的语言353
13.2.3设计问题354
13.3信号量354
13.3.1介绍354
13.3.2合作同步354
13.3.3竞争同步356
13.4管程357
13.4.1介绍357
13.3.4评估357
13.4.2竞争同步358
13.4.3合作同步358
13.4.4评估361
13.5消息传递361
13.5.1介绍361
13.5.2同步消息传递的概念361
13.5.3 Ada 83的消息传递模型361
13.5.5竞争同步365
13.5.4合作同步365
13.5.6任务的终止367
13.5.7优先级367
13.5.8二元信号量367
13.5.9评估368
13.6 Ada 95中的并发368
13.6.1保护的对象368
13.6.2异步消息369
13.7.1 Thread类370
13.7.2优先级370
13.7 Java线程370
13.7.3竞争同步371
13.7.4合作同步371
13.7.5评估373
13.8语句层次的并发373
本章小结375
文献注释376
复习题376
练习题376
第14章异常处理379
14.1异常处理介绍380
14.1.1基本概念380
14.1.2设计问题381
14.1.3历史383
14.2.2异常与异常处理程序的绑定384
14.2.3继续384
14.2.4其他设计选择384
14.2.1异常处理程序384
14.2 PL/I中的异常处理384
14.2.5示例385
14.2.6评估386
14.3 Ada中的异常处理387
14.3.1异常处理程序387
14.3.2异常与异常处理程序的绑定387
14.3.3继续388
14.3.4其他设计选择389
14.3.5示例390
14.3.6评估391
14.4 C++中的异常处理391
14.4 1异常处理程序391
14.4.2异常与异常处理程序的绑定391
14.4.3继续392
14.4.4其他设计选择392
14.4.5示例393
14.4.6评估393
14.5.3异常与异常处理程序的绑定394
14.5.2异常处理程序394
14.5.1异常类394
14.5 Java中的异常处理394
14.5.4继续395
14.5.5其他设计选择396
14.5.6示例396
14.5.7 final1y子句397
14.5.8评估398
文献注释399
复习题399
本章小结399
练习题400
第15章函数式程序设计语言403
15.1介绍404
15.2数学函数404
15.2.1简单函数404
15.2.2函数形式405
15.3函数式程序设计语言的基础406
15.4第一种函数式程序设计语言:LISP406
15.4.2第一个LISP解释器407
15.4.1数据类型和结构407
15.5 Scheme介绍408
15.5.1 Scheme的起源409
15.5.2原始函数409
15.5.3构造函数的函数410
15.5.4谓词函数412
15.5.5控制流程414
15.5.6 Scheme示例函数415
15.5.7函数形式418
15.5.9 Scheme的命令式特性419
15.5.8产生代码的函数419
15.6 COMMON LISP420
15.7 ML422
1 5.8Haskell423
15.9函数式语言的应用425
15.10函数式语言和命令式语言的比较426
本章小结426
练习题427
义献注释427
复习题427
第16章逻辑程序设计语言429
16.1介绍430
16.2谓词演算的简短介绍430
16.2.1命题430
16.2.2 子句形式431
16.3谓词演算与定理证明432
16.4逻辑程序设计概述434
16.5 Prolog的起源435
16.6 Prolog的基本元素435
16.6.1项435
16.6.2事实语句435
16.6.3规则语句436
16.6.4 目标语句437
16.6.5 Prolog的推理过程437
16.6.6简单算术439
16.6.7链表结构441
16.7.1归结次序控制444
16.7 Prolog的缺陷444
16.7.2封闭世界假设446
16.7.3否定问题446
16.7.4内在的限制448
16.8逻辑程序设计的应用448
16.8.1关系数据库管理系统448
16.8.2专家系统448
16.9结论449
16.8.3自然语言处理449
16.8.4教育449
本章小结450
文献注释450
复习题450
练习题451
参考文献453
索引465
热门推荐
- 3685134.html
- 525248.html
- 59865.html
- 2113808.html
- 796881.html
- 335703.html
- 3226750.html
- 1920137.html
- 3381326.html
- 907045.html
- http://www.ickdjs.cc/book_1437234.html
- http://www.ickdjs.cc/book_220107.html
- http://www.ickdjs.cc/book_2720139.html
- http://www.ickdjs.cc/book_1349205.html
- http://www.ickdjs.cc/book_717423.html
- http://www.ickdjs.cc/book_2853620.html
- http://www.ickdjs.cc/book_440554.html
- http://www.ickdjs.cc/book_2857644.html
- http://www.ickdjs.cc/book_152469.html
- http://www.ickdjs.cc/book_500356.html