图书介绍

程序设计语言-原理与实践 第2版PDF|Epub|txt|kindle电子书版本网盘下载

程序设计语言-原理与实践 第2版
  • (美)Kenneth C. Louden著;黄林鹏等译 著
  • 出版社: 北京:电子工业出版社
  • ISBN:7505397877
  • 出版时间:2004
  • 标注页数:522页
  • 文件大小:23MB
  • 文件页数:539页
  • 主题词:程序语言-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

程序设计语言-原理与实践 第2版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

目录1

第1章 引言1

1.1什么是程序设计语言1

1.2程序设计语言中的抽象3

1.2.1数据抽象3

1.2.2控制抽象4

1.3计算范例9

1.4语言定义13

1.5语言翻译15

1.6语言设计20

习题20

注释与参考文献23

第2章历史24

2.2 20世纪50年代:第一种程序设计语言25

2.1早期历史:第一位程序员25

2.3 20世纪60年代:程序语言的迅猛发展27

2.4 20世纪70年代:简单性、抽象性、语言研究29

2.5 20世纪80年代:程序设计的新方向和面向对象语言的产生30

2.6 20世纪90年代:稳定发展,Internet,库及脚本语言32

2.7未来的方向33

习题34

注释与参考文献36

第3章语言设计原理38

3.1 语言的历史和设计标准39

3.2语言的效率40

3.3规律性41

3.4进一步的语言设计原理43

3.5 C++:语言设计的实例研究46

3.5.1背景46

3.5.3 发展47

3.5.2第一次实现47

3.5.4 标准化48

3.5.5 小结48

习题48

注释与参考文献51

第4章语法52

4.1 程序设计语言的词法结构52

4.2上下文无关文法和BNF范式56

4.2.1将13NF规则作为等式61

4.3语法分析树和抽象语法树61

4.4二义性、结合性和优先性63

4.5 EBNF和语法图67

4.6语法分析的技术和工具70

4.7语言的词法、语法和语义80

习题81

注释与参考文献88

第5章 基本语义89

5.1 属性、约束和语义函数89

5.2声明、块和范围92

5.3符号表99

5.4名称解析与重载109

5.5分配、生命期和环境115

5.6变量与常量121

5.6.1变量121

5.6.2常量124

5.7别名、悬垂引用和无用单元127

5.7.1别名127

5.7.2悬垂引用129

5.7.3无用单元回收130

习题131

注释与参考文献137

第6章数据类型139

6.1数据类型和类型信息141

6.2简单类型144

6.3类型构造器146

6.3.1笛卡儿积146

6.3.2联合148

6.3.3子集150

6.3.4数组和函数151

6.3.5指针和递归类型156

6.3.6数据类型和环境159

6.4简单语言中的类型命名法159

6.4.1 C语言159

6.4.2 Java语言160

6.5类型等价161

6.4.3 Ada语言161

6.6类型检查167

6.6.1类型相容性168

6.6.2隐式类型169

6.6.3重叠类型和多类型值169

6.6.4共享操作170

6.7类型转换171

6.8多态类型检查174

6.9显式多态性181

习题186

注释与参考文献192

第7章控制Ⅰ——表达式和语句194

7.1 表达式195

7.2条件语句标志201

7.2.1 if语句201

7.2.2 case和switch语句204

7.3 WHILE循环及变量206

7.4关于GOTO的争论209

7.5异常处理211

7.5.1 异常213

7.5.2异常处理程序215

7.5.3控制217

7.5.4异常规范说明和用C++写的例子219

习题225

注释与参考文献230

第8章控制Ⅱ——过程和环境232

8.1过程定义和活跃状态233

8.2过程的语义235

8.3参数传递机制238

8.3.1按值传递238

8.3.2按引用传递239

8.3.3按值-结果传递240

8.3.4按名传递和延迟计算241

8.3.5参数传递机制及参数规范243

8.3.6参数的类型检查244

8.4过程的环境,活跃状态和存储分配244

8.4.1全静态环境244

8.4.2基于栈的运行环境246

8.4.3动态计算过程和全动态环境253

8.5动态内存管理255

8.5.1 自由空间的维护256

8.5.2存储回收257

8.6异常处理和环境258

习题260

注释与参考文献267

第9章抽象数据类型和模块268

9.1抽象数据类型的代数规范269

9.2.1抽象数据类型机制273

9.2抽象数据类型机制和模块273

9.2.2模块275

9.3 C与C++的命名空间及Java包的独立编译276

9.3.1 C和C++的独立编译276

9.3.2 C++的命名空间和Java包280

9.4 Ada包282

9.5 ML冲的模块287

9.6早期语言中的模块290

9.6.1 Euclid290

9.6.2 CLU291

9.6.3 Modula-2292

9.7抽象数据类型机制中的问题294

9.7.1模块不是类型294

9.7.2模块是静态实体295

9.7.3输出类型的模块未对变量上的操作进行合理控制296

9.7.4不能总是合理表示对输入类型依赖关系的模块298

9.7.5 模块定义未包含给定操作的语义规范300

9.8抽象数据类型的数学基础301

习题304

注释与参考文献308

第10章面向对象的程序设计309

10.1 软件重用与独立性309

10.2 Java语言:对象、类和方法311

10.3 继承316

1 0.4动态绑定325

1 0.5 C++语言328

1 0.6 Smalltalk338

10.7.1类与类型343

10.7.2类与模块343

10.7面向对象语言的设计问题343

10.7.3继承与多态344

10.8面向对象语言的实现问题346

10.8.1对象及方法的实现346

10.8.2继承和动态约束347

10.8.3分配和初始化350

习题350

注释与参考文献356

第11章 函数式程序设计357

11.1 函数和程序358

11.2用命令式语言进行函数式程序设计360

11.3 Scheme:LISP的一种“方言”364

11.3.1 Scheme的元素364

11.3.2 Scheme中的数据结构369

11.3.3 Scheme中的编程技巧371

11.3.4高阶函数372

11.4 ML:带静态类型的函数式语言375

11.4.1 ML基础376

11.4.2 ML中的数据结构382

11.4.3 ML中的高阶函数和Currying383

11.5延迟计算386

11.6 Haskell:一种支持重载的惰性语言390

11.7函数编程的数学基础Ⅰ:递归函数396

11.8函数编程的数学基础Ⅱ:lambda演算399

习题403

注释与参考文献408

第12章逻辑式程序设计410

12.1 逻辑和逻辑程序411

12.2Horn子句414

12.3消解与合一417

12.4 Prolog语言420

12.4.2 Prolog的执行421

12.4.1符号和数据结构421

12.4.3算术运算422

12.4.4合一423

12.4.5 Prolog搜索策略426

12.4.6循环和控制结构426

12.5逻辑设计的问题430

12.5.1 合一中的出现—检查问题430

12.5.2失败与否定431

12.5.3 Horn子句不表示所有的逻辑432

12.5.4逻辑程序设计中的控制信息432

12.6逻辑程序设计的推广.约束式逻辑程序设计和等式系统434

12.6.1约束式逻辑程序设计434

12.6.2等式系统435

习题436

注释与参考文献441

第13章形式语义442

13.1 一种简单语言443

13.2操作语义446

13.2.1逻辑推理规则446

13.2.2整数算术表达式的归约规则447

13.2.3环境和赋值449

13.2.4控制451

13.2.5在程序语言中实现操作语义453

13.3指称语义454

1 3.3.1语法域455

13.3.2语义域455

13.3.3语义函数456

13.3.4整数算术表达式的指称语义457

13.3.5环境和赋值458

13.3.6控制语句的指称语义460

13.4公理语义461

1 3.3.7指称语义的程序语言实现461

13.4.1 wp的一般性质464

13.4.2简单语言的公理语义464

1 3.5程序的正确性证明467

习题470

注释与参考文献473

第14章并行程序设计474

14.1并行处理简介475

14.2并行处理与程序设计语言477

14.2.1 设有明显并行机制的并行编程478

14.2.2进程的创建和销毁480

14.2.3语句级并行481

14.2.4过程级并行482

14.2.5程序级并行482

14.3.1 Java中的线程483

14.3线程483

14.3.2用Java解决有限缓冲区问题487

14.4信号量489

14.4.1 用信号量实现有限缓冲区491

14.4.2使用信号量的困难492

14.4.3信号量的实现492

14.5管程493

14.5.2 Ada95中的并行和管程494

14.5.1作为管程的Java同步对象494

14.6消息传递497

14.6.1 Ada中的task会合498

14.7非命令式语言中的并行502

14.7.1 LISP中的并行性504

14.7.2 Prolog中的并行性505

习题506

注释与参考文献511

参考文献512

热门推荐