《程序员教程》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:张友生,黄少年主编
  • 出 版 社:北京:高等教育出版社
  • 出版年份:2010
  • ISBN:9787040284744
  • 页数:483 页
图书介绍:本书由全国计算机专业技术资格考试办公室组织编写。作为程序员考试用书,本书围绕程序员的工作职责和任务而展开,对程序员所必须掌握的理论基础和应用技术做了详细的介绍,重在培养程序员所必须具备的专业技能和方法。本书内容既是对程序员考试的总体纲领性的要求,也是程序员职业生涯所必需的知识与技能体系。准备参加考试的人员可通过阅读本书掌握考试大纲规定的知识,把握考试重点和难点。本书可作为高校计算机专业有关课程的教材,也可作为程序设计技术的培训和辅导用书。

第1章 计算机硬件基础 1

1.1 计算机组成 1

1.1.1 计算机系统的硬件组成 2

1.1.2 计算机系统的软件组成 6

1.1.3 总线与接口 7

1.1.4 流水线 10

1.2 数据运算 11

1.2.1 数制及其转换 11

1.2.2 数据的表示 13

1.2.3 算术运算与逻辑运算 21

1.3 指令系统 23

1.3.1 指令格式 23

1.3.2 寻址方式 23

1.3.3 常用基本指令 24

1.4 存储体系 25

1.4.1 存储器分类 25

1.4.2 存储器层次结构 25

1.4.3 主存储器 27

1.4.4 高速缓冲存储器 27

1.4.5 辅助存储器 28

1.5 输入输出方式 29

1.6 系统性能评价 31

1.7 例题分析 33

1.8 同步训练 36

第2章 数据结构与算法基础 39

2.1 基本概念 39

2.1.1 数据结构 39

2.1.2 算法 40

2.2 线性表 41

2.2.1 顺序表 42

2.2.2 链表 43

2.2.3 数组 45

2.2.4 字符串 46

2.3 栈与队列 46

2.3.1 栈 46

2.3.2 队列 47

2.4 树与二叉树 48

2.4.1 树 48

2.4.2 二叉树 49

2.4.3 二叉排序树 51

2.5 图 52

2.5.1 图的基本概念 52

2.5.2 图的存储 52

2.5.3 图的遍历 53

2.5.4 图的应用 54

2.6 查找 55

2.6.1 顺序查找 55

2.6.2 二分查找 55

2.7 排序 56

2.7.1 插入排序 56

2.7.2 交换排序 57

2.7.3 选择排序 58

2.7.4 二路归并排序 59

2.8 例题分析 60

2.9 同步训练 70

第3章 操作系统 74

3.1 操作系统概述 74

3.1.1 操作系统的作用与特征 75

3.1.2 操作系统的功能 76

3.1.3 操作系统的分类和特点 77

3.2 进程管理 80

3.2.1 进程概述 80

3.2.2 信号量与PV操作 83

3.2.3 死锁 85

3.2.4 线程 86

3.3 存储管理 87

3.3.1 存储管理的基本概念 87

3.3.2 分页存储管理 88

3.3.3 请求分页存储管理 90

3.4 设备管理 91

3.4.1 设备管理概述 91

3.4.2 假脱机技术 92

3.4.3 缓冲技术 93

3.4.4 磁盘调度 94

3.5 文件管理 94

3.5.1 文件系统概述 94

3.5.2 文件存储空间管理 97

3.6 作业管理 97

3.6.1 作业管理概述 97

3.6.2 作业调度 98

3.7 图形用户界面和操作方法 99

3.8 例题分析 99

3.9 同步训练 102

第4章 程序设计语言和语言处理程序 104

4.1 语言翻译基础知识 104

4.1.1 编译系统基础 105

4.1.2 解释系统基础 105

4.2 程序设计语言的类型和特点 106

4.3 例题分析 106

4.4 同步训练 109

第5章 网络基础知识 111

5.1 网络概述 111

5.1.1 网络的概念及功能 111

5.1.2 ISO/OSI参考模型 113

5.1.3 网络的分类 116

5.1.4 网络拓扑结构 117

5.1.5 IP地址和子网掩码 119

5.2 TCP/IP协议簇 122

5.2.1 应用层 123

5.2.2 传输层 123

5.2.3 网际层 124

5.2.4 网络接口层 125

5.2.5 端口 125

5.3 传输介质与网络设备 126

5.3.1 传输介质 126

5.3.2 网络设备 127

5.4 局域网组网基础 131

5.5 Internet基础知识 133

5.6 加密技术与网络安全 138

5.6.1 加密与解密基础 138

5.6.2 防火墙技术 139

5.6.3 入侵检测技术 141

5.6.4 病毒与木马 142

5.6.5 网络攻击 144

5.7 例题分析 146

5.8 同步训练 148

第6章 数据库基础知识 150

6.1 基本概念 150

6.1.1 数据库系统 151

6.1.2 数据库管理系统的主要功能和特征 152

6.1.3 数据库系统结构 152

6.1.4 数据模型的组成和分类 153

6.1.5 关系模型 155

6.2 关系运算 156

6.2.1 基本关系运算 156

6.2.2 组合关系运算 157

6.3 SQL语言 159

6.3.1 基本表操作 159

6.3.2 视图 165

6.3.3 完整性约束 167

6.4 数据库设计 167

6.4.1 需求分析 167

6.4.2 概念结构设计 168

6.4.3 逻辑结构设计 169

6.4.4 物理结构设计 170

6.5 数据库并发控制 170

6.6 数据库安全性 173

6.7 例题分析 174

6.8 同步训练 178

第7章 多媒体基础知识 184

7.1 多媒体相关基本概念 184

7.1.1 媒体的概念和分类 184

7.1.2 多媒体的特征 185

7.1.3 多媒体计算机系统 185

7.2 音频 186

7.2.1 音频基础知识 186

7.2.2 数字化音频和音频的相关计算 186

7.2.3 音频的压缩及文件格式 187

7.3 图形和图像 189

7.3.1 图形和图像基础知识 189

7.3.2 图像的相关计算 190

7.3.3 图像的压缩及文件格式 191

7.4 动画和视频 192

7.4.1 动画和视频基础知识 192

7.4.2 视频的压缩和文件格式 193

7.5 例题分析 194

7.6 同步训练 196

第8章 系统开发和运行维护 198

8.1 系统开发模型 198

8.1.1 软件生存周期 198

8.1.2 软件开发生存周期模型 200

8.1.3 系统开发方法论 202

8.1.4 软件开发环境 205

8.2 需求分析 205

8.2.1 需求分析概述 206

8.2.2 数据流图 206

8.2.3 数据字典 207

8.2.4 加工说明 208

8.3 软件设计 209

8.3.1 软件设计阶段 210

8.3.2 软件设计活动 211

8.3.3 结构化设计 213

8.3.4 过程设计 214

8.3.5 软件界面设计 216

8.3.6 软件设计评审 217

8.4 程序编写 218

8.4.1 编码规范 219

8.4.2 程序设计语言的选择和使用 220

8.4.3 人工走查 220

8.4.4 程序文档化 221

8.5 软件测试 222

8.5.1 测试的目的 222

8.5.2 测试的类型 223

8.5.3 测试的阶段 224

8.5.4 测试用例设计 227

8.5.5 性能测试 233

8.5.6 测试报告 236

8.6 软件维护 237

8.7 项目管理 239

8.7.1 软件项目估算 239

8.7.2 进度计划与监控 240

8.7.3 质量管理 241

8.7.4 软件过程改进 244

8.7.5 软件文档 246

8.8 例题分析 247

8.9 同步训练 254

第9章 知识产权与标准化知识 256

9.1 著作权法 256

9.1.1 著作权 256

9.1.2 著作权法客体 257

9.1.3 著作权法主体 258

9.2 计算机软件保护条例 259

9.2.1 保护对象 259

9.2.2 著作权人的确定 259

9.2.3 软件著作权 260

9.2.4 法律责任 261

9.3 专利法 261

9.3.1 专利法的保护对象 261

9.3.2 专利权的归属 262

9.3.3 专利权 263

9.4 反不正当竞争法 264

9.4.1 不正当竞争 264

9.4.2 法律责任 265

9.4.3 商业秘密 265

9.5 商标法及实施条例 266

9.5.1 商标注册的申请 266

9.5.2 注册商标的变更 267

9.5.3 注册商标专用权的保护 267

9.6 标准化法 267

9.6.1 标准的制定 268

9.6.2 标准的表示 269

9.7 ISO 9000族标准 269

9.8 例题分析 271

9.9 同步训练 272

第10章 计算机应用知识 274

10.1 Windows基本操作 274

10.1.1 公共操作 274

10.1.2 文件/文件夹操作 280

10.2 Word基本操作 282

10.2.1 工具栏图标按钮 282

10.2.2 Word基本操作 283

10.3 Excel基本操作 287

10.3.1 Excel界面 287

10.3.2 Excel操作 288

10.4 上网基本操作 290

10.4.1 IE的使用 290

10.4.2 Outlook的使用 291

10.4.3 系统安全措施 294

10.5 例题分析 297

10.6 同步训练 302

第11章 应用数学 304

11.1 常用数值计算 304

11.1.1 矩阵的基本运算 304

11.1.2 方程的近似求解 307

11.1.3 线性插值 308

11.2 排列组合和应用统计 309

11.2.1 排列组合计算 309

11.2.2 基本的数据统计分析方法及实例计算 309

11.3 例题分析 311

11.4 同步训练 312

第12章 软件详细设计技术 314

12.1 程序流程图 314

12.1.1 程序流程图的定义 314

12.1.2 程序流程图的符号 314

12.1.3 程序流程图的符号使用约定 317

12.1.4 程序流程图基本控制结构 318

12.1.5 程序流程图的主要优缺点 320

12.1.6 程序流程图的解题过程 320

12.2 N-S图 322

12.2.1 N-S图的定义 322

12.2.2 N-S图的基本结构 322

12.3 PAD图 324

12.3.1 PAD图的定义 324

12.3.2 PAD图的特点 325

12.4 伪代码 326

12.4.1 伪代码的定义 326

12.4.2 伪代码的语法规则 326

12.5 例题分析 339

12.6 同步训练 343

第13章 C语言程序设计 349

13.1 C语言基本语法 349

13.1.1 C程序结构 349

13.1.2 数据类型、运算符与表达式 350

13.1.3 3种基本程序结构 353

13.1.4 数组 355

13.1.5 函数 357

13.1.6 指针 358

13.1.7 结构体 361

13.1.8 共用体与枚举类型 362

13.1.9 文件操作 363

13.2 递归法 364

13.3 例题分析 366

13.4 同步训练 373

第14章 C++语言程序设计 381

14.1 C++基础知识 381

14.2 类与对象 385

14.3 继承与派生 394

14.4 多态性 396

14.4.1 虚函数 397

14.4.2 运算符重载 398

14.5 模板 400

14.5.1 函数模板 401

14.5.2 类模板 402

14.6 异常处理 403

14.7 类库 405

14.7.1 容器 405

14.7.2 迭代器 406

14.7.3 算法 407

14.7.4 字符串 408

14.7.5 I/0流与文件流 409

14.8 例题分析 411

14.9 同步训练 418

第15章 Java语言程序设计 423

15.1 Java语言基本语法 423

15.1.1 变量 424

15.1.2 数组 427

15.1.3 操作符 428

15.1.4 表达式、语句与块 432

15.1.5 控制流语句 433

15.2 Java面向对象基础 438

15.2.1 继承与派生 439

15.2.2 抽象类与接口 441

15.2.3 Applet基础 443

15.3 例题分析 445

15.4 同步训练 453

附录A 同步训练参考答案 459

附录B 全真模拟试题及答案 463

上午试题 463

下午试题 469

上午试题参考答案 480

下午试题参考答案 480

参考文献 482