Linux实用教程- mobi,epub,azw,azw3,pdf格式Kindle电子书


无限聆听浪漫爱情故事:Audible Escape 免费试听一个月!(FREE for one month)

2019 最佳Kindle 购买机会:8G /32G Oasis 降价50美金,点击这个页面了解详情!

重磅:免费试用Kindle unlimited 电子书包月30天免费试听Audible 有声书30天! (美亚Amazon账户登录即可)

内容简介

《Linux实用教程》简介:
  《Linux实用教程》以Centos 6.0为基础,通过众多实例和重点内容讲解,展示了Linux的各种典型应用,深入浅出地介绍了Linux操作系统的各个重要知识点。全书共分10章,主要内容包括Linux安装、常用命令讲解、vi的使用方法、Shell编程、gcc和gdb的使用、计划任务、进程管理、Linux引导流程、文件系统和网络设置。全书提供了大量应用实例,每章后均附有习题。《Linux实用教程》图文并茂,实例丰富,讲解详尽,全面细致,遵循理论和实践并重的原则,便于读者理解和掌握知识点,是初、中级读者学习Linux的首选实例教程。本书适合作为大学本科计算机及相关专业的教材和教学参考书,也可作为高职高专院校的教材,还可供广大的Linux爱好者、Linux系统管理维护人员、计算机培训机构的教师和学员参考使用。

作者简介

暂缺《Linux实用教程》作者简介

目录

《Linux实用教程》目录:
第1章Linux安装/1
1.1案例分析与解决/1
1.1.1案例一 安装CentOS单一操作系统/1
1.1.2案例二 虚拟机下安装CentOS
操作系统/16
1.1.3案例三 安装Windows XP+CentOS
双操作系统/20
1.2Linux内核及发布版本简介/26
1.2.1Linux内核简介/26
1.2.2Linux内核系统体系结构/27
1.2.3Linux内核版本/28
1.2.4Linux发布版本/30
1.3正确关机方法/33
1.4重点回顾/35
1.5本章习题/36
阅读材料——Linux操作系统/36
第2章常用命令/39
2.1案例分析与解决/39
2.1.1案例一 搜索文件实施特定操作/39
2.1.2案例二 用户和用户组权限设定/44
2.1.3案例三 Linux下压缩打包实施
备份/51
2.2文件及文件相关命令/54
2.2.1目录操作命令/54
2.2.2文件操作命令/57
2.2.3联机帮助命令/67
2.3权限与目录配置/69
2.3.1用户与用户组/69
2.3.2文件权限/78
2.3.3目录配置/85
2.4压缩与打包命令/87
2.4.1文件压缩命令/872.4.2文件打包命令/93
2.5重点回顾/94
2.6本章习题/95
阅读材料——Linux命令行与命令/96
第3章vi用法/99
3.1案例分析与解决/99
3.1.1案例一 使用vi建立并修改C程序/99
3.1.2案例二 vi工作环境设置/102
3.1.3案例三 vi命令使用的综合案例/105
3.2vi功能详解/108
3.2.1vi的启动和退出/108
3.2.2vi的工作模式/110
3.2.3文本编辑/112
3.2.4文件操作/116
3.3vi使用注意事项/117
3.4重点回顾/119
3.5本章习题/120
阅读材料——最优秀的5个Linux文本编辑器/121
第4章Shell编程/124
4.1认识Shell及Shell脚本/125
4.1.1Shell的类型介绍/126
4.1.2Shell脚本/128
4.2Shell变量功能/128
4.2.1环境变量/128
4.2.2本地用户变量/131
4.2.3特殊变量/133
4.2.4元字符/134
4.2.5变量操作/135
4.3学习Shell Script/136
4.3.1条件判断式/137
4.3.2分支控制结构/139
4.3.3控制流结构/141
4.3.4函数/145
4.3.5Shell脚本调试方法/147
4.4案例分析与解决/150
4.4.1案例一 编程批量添加删除用户/150
4.4.2案例二 检测启动Apache服务器
程序/153
4.4.3案例三 自动备份系统重要内容/154
4.5重点回顾/155
4.6本章习题/155
阅读材料——Shell版本及Shell脚本/156
第5章gcc及gdb使用/158
5.1Linux下C编程概述/158
5.1.1程序执行一般过程/159
5.1.2编译过程描述/159
5.1.3Emacs编辑工具使用方法/160
5.2gcc编译工具/163
5.2.1gcc使用方法简介/164
5.2.2gcc编译流程/165
5.2.3相关参数详解/168
5.3gdb用法详解/169
5.4make工程管理器/173
5.4.1工程管理相关语法/173
5.4.2实例解析/176
5.5重点回顾/179
5.6本章习题/180
阅读材料——gcc及gdb简史/181
第6章计划任务/183
6.1计划任务概述/183
6.2crontab调度详解/183
6.2.1crontab文件内容格式/183
6.2.2crontab命令使用方法/184
6.2.3控制使用crontab命令/186
6.3at命令使用方法/186
6.3.1时间格式表示方法/186
6.3.2at命令使用方法/187
6.4案例分析与解决/189
6.4.1案例一 计划任务解决完整备份/189
6.4.2案例二 计划任务综合实例/190
6.4.3案例三 一次性计划任务实施/191
6.5重点回顾/191
6.6本章习题/192
阅读材料——GNU计划/193
第7章进程管理/195
7.1进程概述/195
7.1.1进程及相关概念/195
7.1.2进程启动及运行/197
7.2进程相关命令详解/199
7.2.1进程查看命令/199
7.2.2进程调度命令/206
7.3案例分析与解决/209
7.3.1案例一 执行进程流程解析/209
7.3.2案例二 进程终止或重启案例/210
7.3.3案例三 修改进程优先级别/212
7.4重点回顾/214
7.5本章习题/214
阅读材料——进程及线程/215
第8章Linux引导流程/217
8.1案例分析与解决/217
8.1.1案例一 遗忘root用户密码解决
方案/217
8.1.2案例二 inittab文件丢失的恢复
办法/219
8.1.3案例三 设置grub口令/220
8.1.4案例四 修改grub启动时的背景
图片/222
8.2Linux系统引导流程/222
8.3启动配置文件详解/225
8.3.1grub启动配置文件/225
8.3.2inittab配置文件/225
8.4重点回顾/226
8.5本章习题/226
阅读材料——Linux认证考试介绍/227
第9章文件系统/230
9.1案例分析与解决/230
9.1.1案例一 添加硬盘分区/230
9.1.2案例二 扩展swap空间/233
9.1.3案例三 设定用户配额/240
9.2文件系统组成/244
9.2.1Linux标准文件系统布局/244
9.2.2Linux重要目录简要说明/245
9.2.3Linux基本目录介绍/246
9.2.4Linux支持的文件系统/252
9.3磁盘分区流程/255
9.3.1Linux磁盘分区结构/255
9.3.2fdisk工具命令说明/255
9.3.3磁盘分区流程/256
9.4用户配额设定相关知识/257
9.4.1用户配额相关概念/257
9.4.2quota配额管理工具/258
9.4.3用户配额设定/258
9.5重点回顾/260
9.6本章习题/261
阅读材料——Ext4文件系统新特性/261
第10章网络设置/265
10.1案例分析及解决/265
10.1.1案例一 虚拟机与本地机网络
互联/265
10.1.2案例二 配置Samba服务器/268
10.1.3案例三 配置FTP服务器/272
10.1.4案例四 配置DNS服务器/275
10.2网络通信管理/279
10.2.1常用网络管理命令/279
10.2.2常用网络通信命令/285
10.3Linux下常用通信软件/289
10.3.1Telnet/289
10.3.2SSH/291
10.3.3VNC/294
10.4重点回顾/299
10.5本章习题/299
阅读材料——虚拟机的网络接入模式/300
参考文献/302
第1章Java语言概述/1
1.1程序设计语言的发展史/1
1.2Java语言的发展史/4
1.3Java开发环境的配置/6
1.4Java程序开发过程及常用工具介绍/9
1.4.1Java程序工作原理/9
1.4.2用记事本开发/9
1.4.3用Eclipse开发/11
1.4.4用JCreator开发/15
第2章Java基础语法/18
2.1标识符和关键字/18
2.2基本数据类型/20
2.2.1布尔型/20
2.2.2字符型/21
2.2.3整数型/22
2.2.4浮点型/24
2.2.5类型转换/25
2.3常量与变量/29
2.4运算符/31
2.4.1算术运算符/32
2.4.2关系运算符/34
2.4.3逻辑运算符/35
2.4.4位运算符/37
2.4.5赋值类运算符/38
2.4.6条件运算符/39
2.4.7对象运算符/39
2.5语句/40
2.5.1分支语句/40
2.5.2循环语句/44
2.5.3跳转语句/47
2.5.4注释语句/51
2.6输入参数方式/52第3章类和对象/57
3.1面向对象技术基础/57
3.1.1面向对象基本概念/57
3.1.2面向对象基本特征/59
3.2类/61
3.2.1类的定义/61
3.2.2成员变量与成员方法/63
3.2.3构造方法/64
3.2.4main方法/66
3.3对象/67
3.3.1对象的生成与使用/67
3.3.2变量的作用域/69
3.3.3对象的内存分配机制/70
3.3.4方法参数的传递/72
3.3.5对象的清除/76
3.4this关键字/77
3.5static关键字/79
3.6final关键字/84
3.7import和包/86
第4章类的封装性、继承性、多态性及接口/90
4.1封装性/90
4.1.1类的访问控制方式/90
4.1.2类成员的访问控制方式/90
4.1.3封装性的设计原则/92
4.2继承性/92
4.2.1extends关键字/92
4.2.2super关键字/95
4.2.3构造方法的继承性/97
4.3多态性/102
4.3.1方法重载/102
4.3.2方法覆盖/104
4.4抽象类/108
4.5接口/111
4.5.1接口的定义/111
4.5.2接口的实现/113
4.5.3接口的作用/116
4.5.4接口与抽象类的区别/120
4.6特殊的类/121
4.6.1实名内部类/121
4.6.2匿名内部类/125
4.6.3泛型类/128
4.6.4Class类/132
第5章数组、字符串和枚举/134
5.1数组/134
5.1.1一维数组/134
5.1.2二维数组/137
5.1.3数组的注意事项/139
5.1.4数组的应用/139
5.2字符串/141
5.2.1不可变字符串: String/142
5.2.2可变字符串/149
5.2.3String与StringBuffer的异同/151
5.3字符串与其他数据类型的转换/153
5.3.1将其他数据转换成字符串/153
5.3.2将字符串转换成其他数据/156
5.4枚举/158
5.4.1枚举定义/158
5.4.2枚举变量和常量/158
5.4.3枚举的常见用法/159
第6章Java常用类及接口/163
6.1Java API类库/163
6.2java.lang包/164
6.2.1Object类/166
6.2.2Math类/167
6.2.3System类/168
6.2.4Runtime类/172
6.3java.util包/174
6.3.1Date类/176
6.3.2Calendar类/177
6.3.3Random类/180
6.3.4无序集合: Collection接口和
Collections类/183
6.3.5有序集合: List接口和ArrayList、
LinkedList和Vector类/184
6.3.6非重复集合: Set接口和HashSet、
TreeSet及LinkedHashSet类/191
6.3.7映射集合: Map接口和
TreeMap类/192
6.3.8for循环简化写法在集合、数组中的
应用/193
第7章异常处理/198
7.1为什么要进行异常处理/198
7.2Java中的异常类/199
7.3异常处理模式/201
7.3.1trycatchfinally语句/201
7.3.2异常类成员方法/203
7.3.3异常捕获与处理/203
7.4重新抛出异常/205
7.4.1throws语句/205
7.4.2throw语句/206
7.5异常处理原则/207
第8章流和文件/208
8.1流的基本概念/208
8.2字节流/209
8.2.1输入字节流/209
8.2.2输出字节流/210
8.3字符流/212
8.3.1输入字符流/212
8.3.2输出字符流/213
8.3.3字符缓冲流/216
8.3.4字节流和字符流的异同/218
8.4文件/218
8.4.1文件属性类/218
8.4.2随机访问文件类/222
8.4.3文件过滤接口/224
8.5对象序列化/226
8.5.1序列化是什么/226
8.5.2什么情况下需要序列化/226
8.5.3对象序列化时发生了什么/227
8.5.4实现序列化的步骤/227
8.5.5序列化对象的条件/227
8.5.6反序列化/228
8.5.7序列化注意事项/229
8.6Java中的乱码问题/230
8.6.1Java中字符的表达/230
8.6.2Unicode简介/230
8.6.3Unicode编码方式/231
8.6.4Unicode实现方式/232
8.6.5字节序/237
8.6.6其他编码方式/238
8.6.7Java中的Unicode/241
8.6.8如何处理中文乱码问题/248
第9章图形用户界面编程/252
9.1AWT与Swing/252
9.1.1AWT/252
9.1.2Swing/253
9.2容器组件/255
9.2.1JFrame/255
9.2.2JPanel/261
9.2.3JScrollPane/262
9.2.4JSplitPane/263
9.3菜单和工具条/264
9.3.1菜单组件/264
9.3.2工具栏组件/267
9.4基本组件/269
9.4.1标签/269
9.4.2单行文本框/271
9.4.3按钮/272
9.4.4下拉框/274
9.4.5列表框/276
9.4.6多行文本框/278
9.4.7表格组件/279
9.4.8树形组件/283
9.4.9进度条组件/291
9.5组件常用方法/294
9.5.1颜色/294
9.5.2透明性/295
9.5.3边框/295
9.5.4字体/296
9.5.5大小与位置/299
9.5.6激活与可见性/300
9.6布局管理器/300
9.6.1流式布局/301
9.6.2边界布局/302
9.6.3盒式布局/303
9.6.4网格布局/304
9.6.5卡片布局/305
9.6.6网格包布局/307
9.6.7布局基本原则及复杂布局举例/313
9.6.8界面风格的选择/315
9.7事件处理模型/317
9.7.1事件处理机制/317
9.7.2事件对象/317
9.7.3监听器接口/319
9.7.4编写事件处理程序/320
9.8鼠标事件处理/324
9.9事件适配器类/326
9.10键盘事件处理/328
第10章多线程/331
10.1线程简介/331
10.1.1进程与线程/331
10.1.2线程生命周期/331
10.2编写线程程序/333
10.2.1第一种方法: 继承Thread类/333
10.2.2第二种方法: 实现Runable接口/334
10.2.3两种方法比较/336
10.2.4线程基本控制方法/337
10.3线程互斥与同步/342
10.3.1多线程同步的基本原理/344
10.3.2多线程同步实例/344
10.4后台线程/347
第11章网络编程/349
11.1网络编程基础/349
11.1.1网络编程的两个基本问题/349
11.1.2网络编程相关的基本概念/349
11.2URL编程/350
11.2.1URL简介/350
11.2.2URL类/351
11.2.3从URL读取万维网资源/352
11.2.4网络编程的乱码问题/354
11.2.5利用URLConnection实现双向
通信/355
11.3Socket编程/357
11.3.1Socket编程的过程/357
11.3.2利用Socket实现断点续传/359
11.3.3利用Socket实现聊天程序/369
11.4IntelAddress类/374
11.4.1获取本机的计算机名与IP地址/375
11.4.2获取Internet上主机的IP地址/375
第12章数据库编程/378
12.1JDBC概述/378
12.1.1JDBC模型/378
12.1.2JDBC驱动方式/379
12.2JDBC API/381
12.3JDBC编程实例/383
12.3.1JDBC 驱动程序设置/383
12.3.2建立数据库连接/384
12.3.3添加记录/393
12.3.4查询记录/397
12.3.5删除记录/401
12.3.6修改记录/404
12.3.7数据库操作综合实例/408
12.3.8SQL数据库常用命令/419
第13章XML及程序打包/422
13.1XML简介/422
13.2XML在Java程序中的应用/426
13.2.1DOM编程/426
13.2.2加载XML文件/430
13.2.3访问XML元素和属性/432
13.2.4利用XML文件存储信息/434
13.3Java程序的发布/440
13.3.1利用cmd工具打包/441
13.3.2利用Eclipse打包/445
参考文献/449
第9章图形用户界面编程/1
9.1AWT与Swing/1
9.1.1AWT/1
9.1.2Swing/253
9.2容器组件/255
9.2.1JFrame/255
9.2.2JPanel/261
9.2.3JScrollPane/262
9.2.4JSplitPane/263
9.3菜单和工具条/264
9.3.1菜单组件/264
9.3.2工具栏组件/267
9.4基本组件/269
9.4.1标签/269
9.4.2单行文本框/271
9.4.3按钮/272
9.4.4下拉框/274
9.4.5列表框/276
9.4.6多行文本框/278
9.4.7表格组件/279
9.4.8树形组件/283
9.4.9进度条组件/291
9.5组件常用方法/294
9.5.1颜色/294
9.5.2透明性/295
9.5.3边框/295
9.5.4字体/296
9.5.5大小与位置/299
9.5.6激活与可见性/300
9.6布局管理器/300
9.6.1流式布局/301
9.6.2边界布局/302
9.6.3盒式布局/303
9.6.4网格布局/304
9.6.5卡片布局/305
9.6.6网格包布局/307
9.6.7布局基本原则及复杂布局举例/312
9.6.8界面风格的选择/314
9.7事件处理模型/316
9.7.1事件处理机制/316
9.7.2事件对象/316
9.7.3监听器接口/318
9.7.4编写事件处理程序/319
9.8鼠标事件处理/323
9.9事件适配器类/325
9.10键盘事件处理/327
第10章多线程/330
10.1线程简介/330
10.1.1进程与线程/330
10.1.2线程生命周期/330
10.2编写线程程序/332
10.2.1第一种方法: 继承Thread类/332
10.2.2第二种方法: 实现Runable接口/333
10.2.3两种方法比较/335
10.2.4线程基本控制方法/336
10.3线程互斥与同步/341
10.3.1多线程同步的基本原理/343
10.3.2多线程同步实例/343
10.4后台线程/346
第11章网络编程/348
11.1网络编程基础/348
11.1.1网络编程的两个基本问题/348
11.1.2网络编程相关的基本概念/348
11.2URL编程/349
11.2.1URL简介/349
11.2.2URL类/350
11.2.3从URL读取万维网资源/351
11.2.4网络编程的乱码问题/353
11.2.5利用URLConnection实现双向
通信/354
11.3Socket编程/356
11.3.1Socket编程的过程/356
11.3.2利用Socket实现断点续传/358
11.3.3利用Socket实现聊天程序/368
11.4IntelAddress类/373
11.4.1获取本机的计算机名与IP地址/374
11.4.2获取Internet上主机的IP地址/374
第12章数据库编程/377
12.1JDBC概述/377
12.1.1JDBC模型/377
12.1.2JDBC驱动方式/378
12.2JDBC API/380
12.3JDBC编程实例/382
12.3.1JDBC 驱动程序设置/382
12.3.2建立数据库连接/383
12.3.3添加记录/392
12.3.4查询记录/396
12.3.5删除记录/400
12.3.6修改记录/403
12.3.7数据库操作综合实例/407
12.3.8SQL数据库常用命令/418
第13章XML及程序打包/421
13.1XML简介/421
13.2XML在Java程序中的应用/425
13.2.1DOM编程/425
13.2.1加载XML文件/429
13.2.2访问XML元素和属性/431
13.2.3利用XML文件存储信息/433
13.3Java程序的发布/439
13.3.1利用cmd工具打包/440
13.3.2利用Eclipse打包/444
参考文献/448
第1章程序设计概述/1
1.1计算机系统/1
1.1.1计算机硬件系统/1
1.1.2计算机软件系统/2
1.1.3计算机中的信息表示/3
1.2程序设计基础/5
1.2.1程序/5
1.2.2程序设计语言/5
1.2.3程序设计/6
1.3C语言的发展历史与特点/7
1.3.1C语言的历史/7
1.3.2C语言的特点/9
1.4初识C语言/10
1.4.1基本术语/10
1.4.2C程序的开发过程/10
1.4.3第一个C程序/11
1.4.4计算圆面积的程序/12
1.5实验/13
1.5.1实验目的/13
1.5.2实验环境/13
1.5.3实验内容/13
1.5.4实验主要步骤/15
1.5.5评分标准/15
1.5.6实验报告/16
小结/16
习题/16
第2章C语言程序设计入门/18
2.1编写简单的程序/18
2.1.1两个整数的加法程序/18
2.1.2华氏温度转换为摄氏温度的程序/19
2.2标识符/19
2.2.1C语言中的基本记号/19
2.2.2标识符/20
2.2.3关键字/21
2.2.4变量和常量/21
2.3数据类型/23
2.3.1数据类型的基本概念/23
2.3.2整型/23
2.3.3浮点型/24
2.3.4字符型/26
2.3.5类型定义/28
2.4运算符和表达式/29
2.4.1运算符和表达式的基本概念/29
2.4.2算术运算符和算术表达式/29
2.4.3赋值运算符和赋值表达式/32
2.4.4自增和自减运算符/34
2.4.5关系运算符和关系表达式/35
2.4.6逻辑运算符和逻辑表达式/37
2.4.7条件运算符和条件表达式/38
2.4.8逗号运算符和逗号表达式/40
2.4.9长度运算符/41
2.5类型之间的关系/42
2.5.1隐式(自动)类型转换/42
2.5.2显式(强制)类型转换/43
2.6标准库的使用/44
2.6.1标准库概述/44
2.6.2常用数学函数/45
2.6.3格式化输入输出函数/48
2.6.4字符输入输出函数/54
2.6.5常用字符处理函数/54
2.6.6整型的大小/56
2.6.7浮点型的特性/58
2.7程序设计错误/60
2.7.1语法错误/60
2.7.2运行时错误/60
2.7.3逻辑错误/61
2.7.4测试和调试/61
2.8程序设计风格/62
2.8.1适当的注释/62
2.8.2命名习惯/62
2.8.3程序编排/63
2.9实验/64
2.9.1实验目的/64
2.9.2实验环境/64
2.9.3实验内容/65
2.9.4实验主要步骤/71
2.9.5评分标准/71
2.9.6实验报告/71
小结/71
习题/72
第3章语句和基本控制结构/75
3.1程序的基本控制结构/75
3.1.1简单语句/75
3.1.2单入口单出口的控制结构/76
3.2分支结构/77
3.2.1if语句/77
3.2.2switch语句/84
3.2.3枚举/91
3.3循环结构/94
3.3.1while语句/94
3.3.2dowhile语句/98
3.3.3for语句/100
3.3.4使用哪种循环/106
3.3.5退出循环/106
3.3.6多重循环/108
3.4实例学习/112
3.5实验/121
3.5.1实验目的/121
3.5.2实验环境/122
3.5.3实验内容/122
3.5.4实验主要步骤/131
3.5.5评分标准/132
3.5.6实验报告/132
小结/132
习题/133
第4章函数/137
4.1函数的定义和调用/137
4.1.1使用函数编写程序/137
4.1.2函数定义/143
4.1.3函数调用/144
4.1.4函数声明/148
4.1.5程序终止/150
4.1.6用计算机生成随机数/151
4.2递归函数/155
4.2.1什么是递归/155
4.2.2运用递归求解问题/157
4.2.3递归和循环/160
4.3函数设计的基本规则/163
4.3.1函数头的设计规则/163
4.3.2函数体的设计规则/164
4.4存储类别和作用域/164
4.4.1内部变量和外部变量/164
4.4.2动态存储变量和静态存储变量/165
4.4.3作用域和生命期/167
4.5预处理指令/169
4.5.1什么是预处理指令/169
4.5.2宏定义/170
4.5.3条件编译/173
4.6实例学习/174
4.7实验/179
4.7.1实验目的/179
4.7.2实验环境/179
4.7.3实验内容/179
4.7.4实验主要步骤/183
4.7.5评分标准/183
4.7.6实验报告/183
小结/183
习题/184
第5章指针/188
5.1指针的基本概念/188
5.1.1什么是指针/188
5.1.2声明指针变量/189
5.1.3取地址运算符和解引用运算符/190
5.1.4指向指针的指针/192
5.2指针赋值/194
5.3通用指针/196
5.4使用const修饰指针/197
5.5指针和函数/199
5.5.1指针作为函数的参数/199
5.5.2指针作为函数的返回值/203
5.5.3指向函数的指针/204
5.6实例学习/208
5.7实验/211
5.7.1实验目的/211
5.7.2实验环境/212
5.7.3实验内容/212
5.7.4实验主要步骤/213
5.7.5评分标准/213
5.7.6实验报告/213
小结/213
习题/215第6章数组/217
6.1一维数组/217
6.1.1使用一维数组编写程序/217
6.1.2声明和处理一维数组/220
6.1.3一维数组和函数/227
6.2二维数组/230
6.2.1使用二维数组编写程序/230
6.2.2声明和处理二维数组/233
6.2.3二维数组和函数/237
6.3指针和数组/240
6.3.1指针的运算/240
6.3.2指针和一维数组/243
6.3.3指针和二维数组/246
6.4排序和查找/247
6.4.1排序/247
6.4.2查找/249
6.4.3qsort函数和bsearch函数/253
6.5字符串/257
6.5.1字符串的基本概念/257
6.5.2字符串的基本操作/259
6.5.3常用字符串处理函数/263
6.6动态存储分配/267
6.7实例学习/270
6.8实验/276
6.8.1实验目的/276
6.8.2实验环境/277
6.8.3实验内容/277
6.8.4实验主要步骤/283
6.8.5评分标准/283
6.8.6实验报告/284
小结/284
习题/284第7章结构/288
7.1结构/288
7.1.1使用结构编写程序/288
7.1.2结构类型和结构变量/292
7.1.3结构和指针/296
7.1.4结构和数组/297
7.1.5结构和函数/301
7.2链表/303
7.2.1什么是链表/303
7.2.2链表的基本操作/304
7.2.3有序链表/306
7.3联合/309
7.4底层程序设计/311
7.4.1位运算符/311
7.4.2结构中的位域/314
7.5实例学习/315
7.6实验/322
7.6.1实验目的/322
7.6.2实验环境/322
7.6.3实验内容/322
7.6.4实验主要步骤/326
7.6.5评分标准/326
7.6.6实验报告/326
小结/326
习题/327
第8章文件/331
8.1文件的基本概念/331
8.1.1流和文件指针/331
8.1.2文本文件和二进制文件/332
8.1.3文件缓冲区/332
8.2文件操作/333
8.2.1打开文件/333
8.2.2关闭文件/333
8.2.3设置文件缓冲区/334
8.2.4临时文件/335
8.2.5删除文件和重命名文件/335
8.2.6检测文件末尾和错误条件/336
8.3文件输入输出/337
8.3.1格式化输入输出/337
8.3.2字符输入输出/338
8.3.3行输入输出/340
8.3.4块输入输出/341
8.4文件定位/342
8.5实例学习/346
8.6实验/353
8.6.1实验目的/353
8.6.2实验环境/353
8.6.3实验内容/354
8.6.4实验主要步骤/355
8.6.5评分标准/355
8.6.6实验报告/355
小结/355
习题/356
第9章编写多文件程序/359
9.1模块/359
9.2分块开发/360
9.2.1程序物理组织/360
9.2.2头文件/361
9.2.3单一头文件结构和多头文件结构/363
9.2.4项目/363
9.3实例学习/364
9.4实验/367
9.4.1实验目的/367
9.4.2实验环境/367
9.4.3实验内容/367
9.4.4实验主要步骤/370
9.4.5评分标准/370
9.4.6实验报告/370
小结/371
习题/371
第1章逻辑电路导论/1
1.1开关电路数学表示方法初步/1
1.1.1真值表/1
1.1.2二进制编码/2
1.1.3真值表的常见形式/3
1.1.4分析与综合/3
1.2逻辑代数/4
1.2.1逻辑代数的基本运算/4
1.2.2逻辑函数/6
1.2.3逻辑代数的基本公式和运算规则/6
1.3用与门、或门和非门进行逻辑综合/9
1.4公式法化简逻辑函数/10
1.5卡诺图/12
1.5.1卡诺图是真值表的图形表示/12
1.5.2用卡诺图化简逻辑函数/12
1.5.3概念提升/16
1.6逻辑函数的标准形式/18
1.6.1函数的“积之和”表达式/18
1.6.2函数的“和之积”表达式/18
1.6.3两种表达形式的互换/19
1.6.4包含无关项的逻辑函数的化简/20
*1.7表格法化简逻辑函数/22
*1.7.1求质蕴含项集合/23
*1.7.2求最小覆盖/25
1.7.3表格法小结/31
1.8解题示例/32
【本章小结】/33
【习题】/34
第2章数字集成电路的基本元件——门电路/37
2.1概述/37
2.2TTL集成门电路/40
2.2.1TTL与非门简介/40
2.2.2TTL与非门的外特性及其参数/41
2.2.3集电极开路的与非门/44
2.2.4TTL三态门/45
2.3MOS场效应晶体管/46
2.4MOS门电路/50
2.4.1NMOS门电路/50
2.4.2CMOS门电路/52
2.4.3其他类型的CMOS门电路/54
2.4.4CMOS逻辑门电性能分析/56
2.4.5不同类型逻辑门的配合问题/58
2.574系列中小规模集成电路芯片/58
2.6可编程逻辑器件/58
2.6.1可编程逻辑阵列PLA/59
2.6.2可编程阵列逻辑PAL和GAL/59
2.6.3复杂可编程器件/60
2.6.4现场可编程门阵列/60
2.6.5可编程开关的物理实现/61
2.6.6CPLD和FPGA特点比较/63
【本章小结】/63
【习题】 /64
第3章组合逻辑电路的优化实现/66
3.1组合逻辑电路的特点与优化实现/66
3.2单输出函数和多输出函数/67
3.2.1多输出函数的化简/67
3.2.2多输出函数的优化实现/71
3.2.3用EDA工具优化实现组合逻辑
电路示例/72
3.3多级逻辑电路的综合/74
3.3.1提取公因子/74
3.3.2功能分解/75
3.4组合逻辑电路积木块/76
3.4.1多路选择器/76
3.4.2用LUT构建更大规模的组合逻辑
电路/78
3.4.3编码器/78
3.4.4译码器/81
3.4.5数值比较器/82
3.4.6算术逻辑运算电路/83
3.5组合逻辑电路中的竞争和险象/83
3.5.1险象的分析/83
3.5.2险象的消除/86
3.6解题示例/87
【本章小结】/90
【习题】/90
第4章数的表示方法和算术运算电路/94
4.1数制和编码/94
4.1.1数的位置表示法/94
4.1.2二进制数和十进制数的相互转换/95
4.1.3八进制数的二进制编码/97
4.1.4十六进制数的二进制编码/97
4.1.5十进制数的二进制编码/98
4.1.6格雷码/100
4.1.7字符编码/100
4.1.8奇偶校验码/102
4.2无符号数的加法运算/104
4.2.1二进制整数的加法运算/104
4.2.2BCD码形式的十进制数加法运算/107
4.3有符号数的表示方法和算术运算/110
4.3.1二进制定点数的原码表示形式/110
4.3.2二进制定点数的补码表示形式和
加减运算/110
4.3.3二进制定点数的反码表示形式和
加减运算/114
4.4用EDA工具设计算术运算电路示例/116
【本章小结】/121
【习题】/121
第5章锁存器、触发器和寄存器/124
5.1锁存器/124
5.1.1基本RS锁存器/124
5.1.2选通D锁存器/125
5.2D触发器/128
5.2.1从总体的角度观察D触发器/128
5.2.2D触发器和D锁存器的比较/131
5.2.3带使能控制的D触发器/131
5.3主从D触发器/133
5.4其他类型的触发器/134
5.4.1T触发器/134
5.4.2JK触发器/135
5.5寄存器/136
5.6设计示例/138
【本章小结】/142
【习题】/142
第6章同步时序电路/144
6.1同步时序电路概述/144
6.2同步时序电路的设计/146
6.2.1状态图和状态表/147
6.2.2状态分配/149
6.2.3确定激励函数和输出函数/150
6.2.4VHDL行为描述与使用EDA工具
设计/150
6.3状态化简/152
6.3.1完全规定的有限状态机和不完全规定
的有限状态机/152
6.3.2状态化简算法/152
6.4同步时序电路中的竞争和险象/154
6.4.1状态变迁序列与险象的关系/154
6.4.2在VHDL行为描述中指定状态
编码/156
6.5算法状态机图/157
6.6解题示例/158
【本章小结】/168
【习题】/169
第7章异步时序电路/173
7.1异步时序电路的特点/173
*7.2脉冲异步时序电路/173
*7.2.1脉冲异步时序电路的分析/174
*7.2.2脉冲异步时序电路的综合/176
*7.3电位异步时序电路/180
*7.3.1电位异步时序电路的分析/181
*7.3.2电位异步时序电路的综合/183
*7.4电位异步时序电路综合中防范险象的
措施/188
*7.5解题示例/195
【本章小结】/204
【习题】/204
第8章数字系统设计/207
8.1数字系统的特点和设计方法/207
8.2交通灯控制器设计/208
8.3求最大值电路的设计/214
8.4数字系统中某些技术细节/219
8.4.1减少时钟偏移的布线网络/220
8.4.2触发器的异步输入/220
8.4.3消除机械开关抖动的电路/220
【本章小结】/221
【习题】/221
附录AEDA工具 QuartusⅡ简介/224
A.1QuartusⅡ的安装与运行/224
A.2设计流程/227
A.3项目的建立与版本管理/229
A.3.1建立一个新项目/229
A.3.2QuartusⅡ项目的版本管理/231
A.4设计的原理图描述/233
A.4.1进入原理图编辑器/233
A.4.2从元件库中调入元件符号 /234
A.4.3绘制原理图/235
A.5设计的VHDL描述/236
A.5.1进入文本编辑器/236
A.5.2在文本编辑器中编辑VHDL
文件/237
A.5.3发现并纠正VHDL代码中的
错误/239
A.5.4保存文件/239
A.6综合和编译/240
A.6.1进入编译器/240
A.6.2发现并纠正原理图中的错误/242
A.7模拟验证/242
A.7.1使用波形编辑器绘制测试向量
波形/243
A.7.2执行模拟/246
A.8层次化设计实例/248
A.8.1在原理图编辑器中实现层次化
设计/248
A.8.2VHDL设计描述与原理图混合使用的
层次化设计/251
A.9时序分析器/254
A.10调用带参数的库元件/256
A.10.1在原理图编辑器中创建一个存
储器/256
A.10.2初始化存储器的内容/261
A.10.3存储器的模拟实例 /262
A.11可编程器件的物理实现/263
A.11.1引脚分配/263
A.11.2对目标器件编程/266
A.12用SignalTapⅡ实时测试FPGA中的信号
波形/271
附录B硬件描述语言VHDL简介/277
B.1VHDL的产生与发展/277
B.2用VHDL建立电路模型/278
B.2.1电路模型/278
B.2.2实体声明与结构体/279
B.2.3结构体的描述方式/281
B.2.4标识符/281
B.3面向模拟器的某些特性/282
B.3.1模拟周期/283
B.3.2延迟时间/283
B.4VHDL中的对象/284
B.5数据类型/285
B.5.1标量类型/286
B.5.2复合类型/287
B.5.3子类型/289
B.5.4文件类型/289
B.5.5类型转换/289
B.6VHDL的词法单元/291
B.6.1注释/291
B.6.2数字/291
B.6.3字符/292
B.6.4字符串/292
B.6.5位串/292
B.7属性/293
B.8表达式与运算符/295
B.9子程序——过程与函数/299
B.10程序包与设计库/300
B.10.1程序包——设计中的数据共享/300
B.10.2设计库/302
B.10.3VHDL中名字的可见性/302
B.10.4library语句和use语句/303
B.11行为描述/304
B.11.1进程语句/304
B.11.2行为模型的顺序性/305
B.11.3行为模型的并行性/312
B.12结构描述/316
B.12.1端口的基本特征/316
B.12.2元件例化语句/317
B.12.3配置指定/318
B.12.4规则结构/319
B.12.5无连接端口/320
B.13重载/321
B.14VHDL保留字和预定义程序包/322
B.14.1VHDL保留字/322
B.14.2标准程序包STANDARD/323
B.14.3IEEE多值逻辑系统程序包
std_logic_1164/330
参考文献/333
第1章逻辑电路导论/1
1.1开关电路数学表示方法初步/1
1.1.1真值表/1
1.1.2二进制编码/2
1.1.3真值表的常见形式/3
1.1.4分析与综合/3
1.2逻辑代数/4
1.2.1逻辑代数的基本运算/4
1.2.2逻辑函数/6
1.2.3逻辑代数的基本公式和运算规则/6
1.3用与门、或门和非门进行逻辑综合/9
1.4公式法化简逻辑函数/10
1.5卡诺图/12
1.5.1卡诺图是真值表的图形表示/12
1.5.2用卡诺图化简逻辑函数/12
1.5.3概念提升/16
1.6逻辑函数的标准形式/18
1.6.1函数的“积之和”表达式/18
1.6.2函数的“和之积”表达式/18
1.6.3两种表达形式的互换/19
1.6.4包含无关项的逻辑函数的化简/20
*1.7表格法化简逻辑函数/22
*1.7.1求质蕴含项集合/23
*1.7.2求最小覆盖/25
1.7.3表格法小结/31
1.8解题示例/32
【本章小结】/33
【习题】/34
第2章数字集成电路的基本元件——门电路/36
2.1概述/36
2.2TTL集成门电路/39
2.2.1TTL与非门简介/39
2.2.2TTL与非门的外特性及其参数/40
2.2.3集电极开路的与非门/43
2.2.4TTL三态门/44
2.3MOS场效应晶体管/45
2.4MOS门电路/49
2.4.1NMOS门电路/49
2.4.2CMOS门电路/51
2.4.3其他类型的CMOS门电路/53
2.4.4CMOS逻辑门电性能分析/55
2.4.5不同类型逻辑门的配合问题/57
2.574系列中小规模集成电路芯片/57
2.6可编程逻辑器件/57
2.6.1可编程逻辑阵列PLA/58
2.6.2可编程阵列逻辑PAL和GAL/58
2.6.3复杂可编程器件/59
2.6.4现场可编程门阵列/59
2.6.5可编程开关的物理实现/60
2.6.6CPLD和FPGA特点比较/62
【本章小结】/62
【习题】 /63
第3章组合逻辑电路的优化实现/65
3.1组合逻辑电路的特点与优化实现/65
3.2单输出函数和多输出函数/66
3.2.1多输出函数的化简/66
3.2.2多输出函数的优化实现/69
3.2.3用EDA工具优化实现组合逻辑电路示
例/70
3.3多级逻辑电路的综合/72
3.3.1提取公因子/72
3.3.2功能分解/73
3.4组合逻辑电路积木块/74
3.4.1多路选择器/74
3.4.2用LUT构建更大规模的组合逻辑电路
/76
3.4.3编码器/76
3.4.4译码器/79
3.4.5数值比较器/80
3.4.6算术逻辑运算电路/81
3.5组合逻辑电路中的竞争和险象/81
3.5.1险象的分析/81
3.5.2险象的消除/84
3.6解题示例/85
【本章小结】/88
【习题】/88
第4章数的表示方法和算术运算电路/91
4.1数制和编码/91
4.1.1数的位置表示法/91
4.1.2二进制数和十进制数的相互转换/92
4.1.3八进制数的二进制编码/94
4.1.4十六进制数的二进制编码/94
4.1.5十进制数的二进制编码/95
4.1.6格雷码/97
4.1.7字符编码/97
4.1.8奇偶校验码/99
4.2无符号数的加法运算/101
4.2.1二进制整数的加法运算/101
4.2.2BCD码形式的十进制数加法运算/104
4.3有符号数的表示方法和算术运算/107
4.3.1二进制定点数的原码表示形式/107
4.3.2二进制定点数的补码表示形式和加减运
算/107
4.3.3二进制定点数的反码表示形式和加减运
算/111
4.4用EDA工具设计算术运算电路示例/113
【本章小结】/118
【习题】/118
第5章锁存器、触发器和寄存器/121
5.1锁存器/121
5.1.1基本RS锁存器/121
5.1.2选通D锁存器/122
5.2D触发器/125
5.2.1从总体的角度观察D触发器/125
5.2.2D触发器和D锁存器的比较/128
5.2.3带使能控制的D触发器/128
5.3主从D触发器/130
5.4其他类型的触发器/131
5.4.1T触发器/131
5.4.2JK触发器/132
5.5寄存器/133
5.6设计示例/135
【本章小结】/139
【习题】/139
第6章同步时序电路/141
6.1同步时序电路概述/141
6.2同步时序电路的设计/143
6.2.1状态图和状态表/144
6.2.2状态分配/146
6.2.3确定激励函数和输出函数/147
6.2.4VHDL行为描述与使用EDA工具设计
/147
6.3状态化简/149
6.3.1完全规定的有限状态机和不完全规定的
有限状态机/149
6.3.2状态化简算法/149
6.4同步时序电路中的竞争和险象/151
6.4.1状态变迁序列与险象的关系/151
6.4.2在VHDL行为描述中指定状态编码
/153
6.5算法状态机图/154
6.6解题示例/155
【本章小结】/163
【习题】/163
第7章异步时序电路/167
7.1异步时序电路的特点/167
*7.2脉冲异步时序电路/167
*7.2.1脉冲异步时序电路的分析/168
*7.2.2脉冲异步时序电路的综合/170
*7.3电位异步时序电路/174
*7.3.1电位异步时序电路的分析/175
*7.3.2电位异步时序电路的综合/177
*7.4电位异步时序电路综合中防范险象的措施
/182
*7.5解题示例/189
【本章小结】/198
【习题】/198
第8章数字系统设计/201
8.1数字系统的特点和设计方法/201
8.2交通灯控制器设计/202
8.3求最大值电路的设计/208
8.4数字系统中某些技术细节/213
8.4.1减少时钟偏移的布线网络/214
8.4.2触发器的异步输入/214
8.4.3消除机械开关抖动的电路/214
【本章小结】/215
【习题】/215
附录AEDA工具 QuartusⅡ简介/218
A.1QuartusⅡ的安装与运行/218
A.1.1QuartusⅡ的首次安装/219
A.1.2申请授权文件/220
A.1.3改变QuartusⅡ主界面的样式/220
A.2设计流程/222
A.3项目的建立与版本管理/223
A.3.1建立一个新项目/223
A.3.2QuartusⅡ项目的版本管理/225
A.4设计的原理图描述/227
A.4.1进入原理图编辑器/227
A.4.2从元件库中调入元件符号 /228
A.4.3绘制原理图/229
A.5设计的VHDL描述/230
A.5.1进入文本编辑器/231
A.5.2在文本编辑器中编辑VHDL文件
/231
A.5.3发现并纠正VHDL代码中的错误
/232
A.5.4保存文件/234
A.6综合和编译/234
A.6.1进入编译器/234
A.6.2发现并纠正原理图中的错误/236
A.7模拟验证/236
A.7.1使用波形编辑器绘制测试向量波形
/237
A.7.2执行模拟/240
A.8层次化设计实例/242
A.8.1在原理图编辑器中实现层次化设计
/242
A.8.2VHDL设计描述与原理图混合使用的
层次化设计/245
A.9时序分析器/248
A.10调用带参数的库元件/250
A.10.1在原理图编辑器中创建一个存储器
/250
A.10.2初始化存储器的内容/255
A.10.3存储器的模拟实例 /256
A.11可编程器件的物理实现/257
A.11.1引脚分配/257
A.11.2对目标器件编程/260
A.12用SignalTapⅡ实时测试FPGA中的信号波形
/265
附录B硬件描述语言VHDL简介/271
B.1VHDL的产生与发展/271
B.2用VHDL建立电路模型/272
B.2.1电路模型/272
B.2.2实体声明与结构体/273
B.2.3结构体的描述方式/275
B.2.4标识符/275
B.3面向模拟器的某些特性/276
B.3.1模拟周期/277
B.3.2延迟时间/277
B.4VHDL中的对象/278
B.5数据类型/279
B.5.1标量类型/280
B.5.2复合类型/281
B.5.3子类型/283
B.5.4文件类型/283
B.5.5类型转换/283
B.6VHDL的词法单元/285
B.6.1注释/285
B.6.2数字/285
B.6.3字符/286
B.6.4字符串/286
B.6.5位串/286
B.7属性/287
B.8表达式与运算符/289
B.9子程序——过程与函数/293
B.10程序包与设计库/294
B.10.1程序包——设计中的数据共享/294
B.10.2设计库/296
B.10.3VHDL中名字的可见性/296
B.10.4library语句和use语句/297
B.11行为描述/298
B.11.1进程语句/298
B.11.2行为模型的顺序性/299
B.11.3行为模型的并行性/306
B.12结构描述 /310
B.12.1端口的基本特征/310
B.12.2元件例化语句/311
B.12.3配置指定/312
B.12.4规则结构/313
B.12.5无连接端口/314
B.13重载/315
B.14VHDL保留字和预定义程序包/316
B.14.1VHDL保留字/316
B.14.2标准程序包STANDARD/317
B.14.3IEEE多值逻辑系统程序包std_logic_
1164/324
参考文献/327