网站颜色:

软考初级程序员 程序员教程 程序员考试教程 计算机软考 初级程序员考试用书2018 程序员软考 计算机技术与软件专业技术资格初级.

  • 产品名称:程序员教程(第5版)(全国...
  • 是否是套装:否
  • 书名:程序员教程(第5版)(全国计算机技术与软件专业技术资格(水譬考试指定用书)
  • 定价:89.00元
  • 出版社名称:清华大学出版社
  • 作者:张淑平、覃桂敏
  • 开本:16开
  • 书名:程序员教程(第5版)(全国计算机技术与软件专业技术资格(水譬考试指定用书)

 书名: 程序员教程(第5版)(全国计算机技术与软件专业技术资格(水譬考试指定用书)
 出版社:  清华大学出版社
 出版日期  (咨询特价)
 ISBN号: 31

本书作为全国计算机技术与软件专业技术资格(水譬考试(简称“软考”)的初级职称指定教材,具有比较权威的指导意义。本书根据《程序员考试大纲》(2018年审定通过)的重点内容,组织了共11章的内容,考生在学习教材内容的同时,还须对照考试大纲,认真学习和复习大纲要求的知识点。

本书是在《程序员考试大纲》的指导下,对《程序员教程(第4版)》进行再编后完成的。

本书适合参加相关考试的考生和在校大学生作为教材使用。


程序员教程(第5版)依据2018年审定通过的程序员考试大纲大纲编写,涵盖程序员(初级)岗位所要求的主要知识及应用技术。

通过程序员考试的考生可以获得由人力资源和社会保障部、工业和信息化部认可的职业资格证书,本考试为初级资格认证。



目  录


第1章  计算机系统基础知识    1

1.1  计算机系统的基本组成    1

1.2  数据的表示及运算    3

1.2.1  计算机中数据的表示    3

1.2.2  校验码    13

1.2.3  逻辑代数及逻辑运算    17

1.2.4  机器数的运算    19

1.3  计算机的基本组成及工作原理    23

1.3.1  总线的基本概念    23

1.3.2  中央处理单    25

1.3.3  存储系统    30

1.3.4  输入/输出技术    36

1.4  指令系统简介    40

1.5  多媒体系统简介    44

1.5.1  数字声音    45

1.5.2  图形与图像    48

1.5.3  动画和视频    55

第2章  操作系统基础知识    62

2.1  操作系统概述    62

2.2  进程管理    65

2.2.1  基本概念    65

2.2.2  进程控制    67

2.2.3  进程通信    68

2.2.4  进程调度    72

2.2.5  死锁    74

2.2.6  线程    76

2.3  存储管理    76

2.3.1  基本概念    76

2.3.2  存储管理方案    77

2.3.3  分页存储管理    79

2.3.4  分段存储管理    80

2.3.5  虚拟存储管理    82

2.4  设备管理    85

2.4.1  设备管理概述    85

2.4.2  设备管理技术    86

2.4.3  磁盘调度    88

2.5  文件管理    89

2.5.1  基本概念    89

2.5.2  文件的结构和组织    90

2.5.3  文件目录    92

2.5.4  存取方法、存取控制    93

2.5.5  文件的使用    95

2.5.6  文件的共享和保护    95

2.5.7  系统的安全与可靠性    96

2.6  作业管理    98

2.6.1  作业管理    98

2.6.2  作业调度    99

2.6.3  人机界面    102

第3章  程序设计语言基础知识    104

3.1  程序设计语言概述    104

3.1.1  程序设计语言的基本概念    104

3.1.2  程序设计语言的分类和特点    105

3.1.3  程序设计语言的基本成分    109

3.2  语言处理程序基础    116

3.2.1  汇编程序基础    116

3.2.2  编译程序基础    118

3.2.3  解释程序基础    126

第4章  数据结构与算法    129

4.1  线性结构    129

4.1.1  线性表    129

4.1.2  栈和队列    137

4.1.3  串    143

4.2  数组    144

4.3  树与二叉树    147

4.3.1  树的基本概念    148

4.3.2  二叉树    149

4.3.3  树和森林    153

4.3.4  最优二叉树    156

4.3.5  二叉查找树    157

4.4  图    158

4.5  查找    163

4.5.1  顺序查找与折半查找    164

4.5.2  树表查找    167

4.5.3  哈希表及哈希查找    170

4.6  算法    173

4.6.1  算法概述    173

4.6.2  排序算法    177

4.6.3  递归算法    187

4.6.4  字符串运算    188

4.6.5  图的相关算法    191

第5章  软件工程基础知识    199

5.1  软件工程概述    199

5.1.1  软件生存周期    199

5.1.2  软件生存周期模型    201

5.1.3 软件过程评估    207

5.1.4  软件工具    209

5.1.5  软件开发环境    211

5.2  软件需求分析    212

5.2.1  软件需求的定义    212

5.2.2  软件需求分析的基本任务    213

5.2.3  需求建模    213

5.3  软件设计    214

5.3.1  软件设计的基本任务    214

5.3.2  软件设计原则    216

5.4  结构化分析与设计方法    219

5.4.1  结构化分析方法    219

5.4.2  结构化设计方法    221

5.4.3  结构化程序设计方法    223

5.5  面向对象分析与设计方法    224

5.5.1  面向对象的基本概念    224

5.5.2  面向对象分析与设计    227

5.5.3  UML概述    228

5.5.4  设计模式    232

5.6  软件测试与运行    235

5.6.1  软件测试的目的及原则    235

5.6.2  软件测试方法    238

5.6.3  软件测试过程    241

5.6.4  软件测试设计和管理    242

5.6.5  软件调试    243

5.6.6  软件运行与维护    243

5.7  软件项目管理    245

5.7.1  管理范围    245

5.7.2  成本估算    246

5.7.3  风险分析    247

5.7.4  进度管理    248

5.8  软件质量与软件质量保证    250

5.8.1 软件质量特性    250

5.8.2 软件质量保证    252

第6章  数据库基础知识    254

6.1  基本概念    254

6.1.1  数据库系统    254

6.1.2  数据库管理技术的发展    255

6.1.3 大数据    257

6.2  数据模型    260

6.2.1  数据模型的基本概念    260

6.2.2  数据模型的三要素    261

6.2.3  E-R模型    261

6.2.4  基本的数据模型    265

6.3  DBMS的功能和特征    267

6.3.1  DBMS的功能    267

6.3.2  DBMS的特征与分类    268

6.4  数据库模式    270

6.4.1  模式    270

6.4.2  三级模式两级映像    272

6.5  关系数据库与关系运算    272

6.5.1  关系数据库的基本概念    272

6.5.2  关系数据库模式    275

6.5.3  完整性约束    276

6.5.4  关系代数运算    276

6.6  关系数据库SQL语言简介    280

6.6.1  SQL概述    280

6.6.2  SQL数据定义    281

6.6.3  SQL数据查询    285

6.6.4  SQL数据更新    293

6.6.5  SQL的访问控制    295

6.6.6  嵌入式SQL    296

6.7  数据库设计    297

第7章  网络与信息安全基础知识    300

7.1  计算机网络概述    300

7.1.1  计算机网络的组成    300

7.1.2  计算机网络的分类    301

7.1.3  ISO/OSI参考模型    304

7.2  计算机网络硬件    305

7.2.1  计算机网络互连设备    305

7.2.2  计算机网络传输媒体    311

7.3  TCP/IP    314

7.3.1  TCP/IP模型    314

7.3.2  TCP/IP协议    315

7.3.3  IP地址    318

7.4  Internet基础知识    322

7.4.1  Internet服务    322

7.4.2  因特网接入方式    327

7.4.3  TCP/IP的配置    328

7.4.4  浏览器的设置与使用    329

7.5  局域网基础知识    332

7.6  信息安全基础知识    337

7.7  网络安全概述    341

第8章  标准化和知识产权基础知识    346

8.1  标准化基础知识    346

8.1.1  软件工程标准化    346

8.1.2  能力成熟度模型简介    348

8.2  知识产权基础知识    349

8.2.1  基本概念    349

8.2.2  计算机软件著作权    351

8.2.3  计算机软件的商业秘密权    363

第9章  C程序设计    366

9.1  C语言基础    366

9.1.1  数据类型    366

9.1.2  运算符与表达式    372

9.1.3  输入/输出    375

9.2  控制语句    377

9.3  函数    381

9.4  指针    385

9.4.1  指针的定义    385

9.4.2  指针与数组    387

9.4.3  指针与函数    389

9.4.4  指针与链表    393

9.5  常见的C程序错误    395

第10章  C++程序设计    407

10.1  C++程序基础    407

10.1.1  数据类型    407

10.1.2  运算符、表达式和语句    409

10.1.3  基本输入/输出    410

10.1.4  函数    412

10.1.5  类与对象    415

10.2  继承与多态    423

10.3  异常处理    428

10.4  标准库    430

10.4.1  I/O流库    431

10.4.2  string    434

10.4.3  STL    438

10.4.4  vector    443

第11章  Java程序设计    447

11.1  Java语言概述    447

11.2  Java语言基础    448

11.2.1  Java基本数据类型    449

11.2.2  控制结构    455

11.2.3  Java核心类    458

11.3  类与接口    462

11.3.1  类的定义与使用    462

11.3.2  对象的初始化    464

11.3.3  包    466

11.3.4  继承    468

11.3.5  抽象类与接口    471

11.4  异常    478

11.4.1  异常的处理    478

11.4.2  自定义异常    480

11.5  输入、输出和流    483

11.5.1  字节流    483

11.5.2  字符流    486

11.5.3  标准输入/输出流    487

11.6  Java类库的使用    489

11.6.1  基本类型的包装类型    489

11.6.2  泛型和集合类    493



第3章  程序设计语言基础知识

程序设计语言是为了书写计算机程序而设计的符号语言,用于对计算过程进行描述、组织和推导。程序设计语言的广泛使用始于1957年出现的FORTRAN,其发展和演化已经超越了运行程序的机器。

3.1  程序设计语言概述

本节主要介绍程序设计语言的基本概念、基本成分和一些典型语言的特点及其适用范围。

3.1.1  程序设计语言的基本概念

1.低级语言和高级语言

计算机硬件只能识别由0、1字符序列组成的机器指令,因此机器指令是最基本的计算机语言。用机器语言编制程序效率低、可读性差,也难以理解、修改和维护。因此,人们设计了汇编语言,用容易记忆的符号代替0、1序列,来表示机器指令中的操作码和操作数。例如,用ADD表示加法、SUB表示减法等。虽然使用汇编语言编写程序的效率和程序的可读性有所提高,但汇编语言是面向机器的语言,其书写格式在很大程度上取决于特定计算机的机器指令。机器语言和汇编语言被称为低级语言。

人们开发了功能更强、抽象级别更高的语言以支持程序设计,因此就产生了面向各类应用的程序设计语言,即高级语言,常见的有Java、C、C++、C#、Python、PHP等。这类语言与人们使用的自然语言比较接近,大大提高了程序设计的效率。

2.编译程序和解释程序

目前,尽管人们可以借助高级语言与计算机进行交互,但是计算机仍然只能理解和执行由0、1序列构成的机器语言,因此高级程序设计语言需要翻译,担负这一任务的程序称为“语言处理程序”。由于应用的不同,程序语言的翻译也是多种多样的。它们大致可分为汇编程序、解释程序和编译程序。

用某种高级语言或汇编语言编写的程序称为源程序,源程序不能直接在计算机上执行。如果源程序是用汇编语言编写的,则需要一个称为汇编程序的翻译程序将其翻译成目标程序后才能执行。如果源程序是用某种高级语言编写的,则需要对应的解释程序或编译程序对其进行翻译,然后在机器上运行。

解释程序也称为解释器,它可以直接解释执行源程序,或者将源程序翻译成某种中间表示形式后再加以执行;而编译程序(编译器)则首先将源程序翻译成目标语言程序,将目标程序与库函数链接后形成可执行程序,然后在计算机上运行可执行程序。这两种语言处理程序的根本区别是:在编译方式下,机器上运行的是与源程序等价的目标程序,源程序和编译程序都不再参与目标程序的执行过程;而在解释方式下,解释程序和源程序(或其某种等价表示)要参与到程序的运行过程中,运行程序的控制权在解释程序。解释器翻译源程序时不产生独立的目标程序,而编译器则需将源程序翻译成独立的目标程序。


 

清华大学出版社官方旗舰店

清华大学出版社官方旗舰店热门设计联盟服务商