《计算机概论》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:许卓群,李文新,罗英伟等编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2009
  • ISBN:9787302209676
  • 页数:351 页
图书介绍:本书是一本硬软件知识丰富全面的计算机入门教材,其内容重点放在计算机和互联网的基础知识和技术原理,努力从概念层面作全面清晰的讲解,并结合具体的例子,讲解硬件软件组成的相关概念,以深入浅出的文字说明其工作原理。

第1章 计算机与信息社会 1

1.1 信息与信息服务 1

1.1.1 信息服务 1

1.1.2 数据是编码的信息 2

1.1.3 二进制信息编码 3

1.1.4 信息编码长度 4

1.1.5 信息互联网络和国际互联网 4

1.1.6 计算机发展的四代历程 6

1.1.7 大规模集成电路与摩尔定律 7

1.1.8 微型计算机 8

1.1.9 人和机器的双向互动 9

1.2 数字计算机的主要特征 10

1.2.1 计算机的基本组成 11

1.2.2 CPU和主存储器 12

1.2.3 数据——整数的二进制编码 14

1.2.4 程序——汇编程序语言及高级程序语言 17

1.3 国际互联网的构成 19

1.3.1 局域网和广域网 19

1.3.2 局域网与路由器 20

1.3.3 无线网 21

1.4 CPU的二进制算术运算和逻辑运算 22

1.4.1 定点数与浮点数 22

1.4.2 负数的表示法 23

1.4.3 CPU的二进制逻辑运算 26

1.5 习题 27

第2章 互联网与信息共享 29

2.1 互联网的历史发展 29

2.2 互联网的通信协议 30

2.2.1 通信协议栈 30

2.2.2 网络层协议 31

2.2.3 传输层协议 31

2.3 互联网上的应用 32

2.3.1 电子邮件收发 33

2.3.2 远程文件传输 33

2.3.3 网页浏览 34

2.3.4 即时通信 34

2.3.5 P2P文件共享 34

2.4 接入互联网 35

2.4.1 通过小区宽带或校园网接入互联网 35

2.4.2 通过ADSL接入因特网 38

2.5 组建自己的局域网 39

2.6 习题 42

第3章 计算机的基本组成 43

3.1 计算机的硬件组成 43

3.1.1 计算机的逻辑结构 44

3.1.2 计算机的主要部件 46

3.1.3 计算机外围设备 56

3.1.4 网络计算机 63

3.2 计算机的软件组成 64

3.2.1 系统软件 65

3.2.2 应用软件 67

3.3 计算机硬件与软件的协同工作 67

3.4 购买自己的计算机 69

3.4.1 选择硬件 69

3.4.2 安装操作系统 70

3.4.3 安装应用软件 70

3.5 有关计算机发展的人物和组织 70

3.5.1 图灵和图灵奖 70

3.5.2 冯·诺依曼 71

3.5.3 计算机界具有影响力的两大国际学术组织 72

3.6 习题 73

第4章 信息表示与信息输入输出 74

4.1 计算机能帮我们做什么 74

4.1.1 阅读与写作 74

4.1.2 音乐 75

4.1.3 图片 76

4.1.4 动画与电影 76

4.1.5 游戏 77

4.2 信息表示及信息输入输出 78

4.2.1 二进制信息编码 78

4.2.2 信息输入输出的本质 79

4.2.3 计算机系统的信息交换环境 81

4.3 信息的编码及其输入与输出 83

4.3.1 数值的表示范围和精度 83

4.3.2 指令编码 84

4.3.3 声音编码及其输入与输出 85

4.3.4 颜色编码及其展示 87

4.3.5 图形/图像编码及其输入与输出 88

4.3.6 字符编码及其输入与输出 93

4.3.7 动画/影像编码 105

4.3.8 基本的编码规则 106

4.3.9 复杂编码 106

4.4 多媒体技术 107

4.4.1 多媒体技术的基本概念 107

4.4.2 多媒体信息的压缩编码 109

4.4.3 多媒体应用软件 111

4.5 人机交互 112

4.5.1 图形用户界面 112

4.5.2 人机交互技术的发展 114

4.6 习题 116

第5章 信息存储 118

5.1 存储设备的性能指标 119

5.2 计算机存储系统的层次结构 120

5.3 磁盘的结构与工作原理 123

5.3.1 磁介质的存储原理 123

5.3.2 磁盘的盘片 124

5.3.3 磁盘的结构 125

5.3.4 磁盘的使用 128

5.4 其他存储设备 129

5.4.1 磁带及磁带机 129

5.4.2 光盘存储 131

5.4.3 闪存技术 133

5.5 习题 136

第6章 CPU的信息处理 137

6.1 图灵机 137

6.1.1 图灵机模型 137

6.1.2 图灵机计算举例 139

6.1.3 计算机科学理论的发展里程碑 142

6.2 指令系统 142

6.2.1 指令系统简介 142

6.2.2 指令编码 143

6.3 中央处理器 144

6.3.1 CPU的组成 144

6.3.2 指令的执行 146

6.3.3 程序中断 147

6.4 主存储器及其与CPU的信息交换 148

6.4.1 主存储器的组成 148

6.4.2 存储单元及存储地址 149

6.4.3 存储总线与数据传输 150

6.5 习题 151

第7章 计算机软件与硬件的协同工作 153

7.1 计算机中的信息资源与信息服务 153

7.1.1 硬件资源与软件资源 153

7.1.2 资源管理和信息服务 155

7.1.3 虚拟服务技术 155

7.2 操作系统 157

7.2.1 操作系统的主要功能和当前流行的操作系统类型 157

7.2.2 CPU管理和任务管理 159

7.2.3 I/O外部设备管理 160

7.2.4 存储资源管理 161

7.2.5 用户界面 164

7.3 文件系统 168

7.3.1 文件和文件夹 168

7.3.2 目录结构下的文件访问 171

7.3.3 硬盘的文件存储结构 173

7.3.4 Windows资源管理器 175

7.3.5 NTFS 176

7.4 Windows操作系统的维护管理 179

7.4.1 磁盘管理工具 180

7.4.2 磁盘碎片整理工具 181

7.4.3 视窗显示属性与高级外观设置 183

7.4.4 设备管理器 184

7.4.5 任务管理器与“开始”图标 185

7.4.6 添加和删除程序的工具 188

7.5 系统安全 189

7.5.1 信息加密 189

7.5.2 计算机病毒 190

7.6 习题 193

第8章 程序设计——入门篇 195

8.1 学习程序设计五要素 195

8.1.1 理解程序运行过程 195

8.1.2 程序设计语言 196

8.1.3 掌握一些基本的算法 196

8.1.4 学习完整的解决问题的过程 196

8.1.5 多做练习 196

8.2 程序设计的一般过程 197

8.2.1 分析问题寻求算法 197

8.2.2 程序设计 197

8.2.3 程序实现 198

8.2.4 程序正确性检验 198

8.3 程序设计语言 198

8.3.1 机器语言 199

8.3.2 汇编语言 199

8.3.3 高级程序设计语言 205

8.4 编程环境 208

8.4.1 基本概念 208

8.4.2 Visual C++ 209

8.5 程序阅读理解 213

8.5.1 Hello World 214

8.5.2 输入输出 215

8.5.3 表达式 216

8.5.4 分支语句 217

8.5.5 循环语句 220

8.5.6 判断语句 221

8.5.7 随机数 222

8.6 程序书写规则 224

8.6.1 变量的命名 224

8.6.2 语句的层次和对齐 224

8.6.3 注释 225

8.6.4 写程序的一些禁忌 226

8.7 习题 227

第9章 程序设计——基本框架 230

9.1 程序的基本框架 230

9.2 标识符和关键字 233

9.3 数据类型、常量和变量 234

9.3.1 数据类型 234

9.3.2 常量 235

9.3.3 变量 235

9.4 运算符和表达式 239

9.4.1 运算符 240

9.4.2 算术表达式 240

9.4.3 关系表达式 241

9.4.4 逻辑表达式 241

9.4.5 位运算表达式 241

9.4.6 赋值表达式 242

9.4.7 条件表达式 242

9.4.8 数据类型转换 242

9.4.9 运算符的优先级和结合性 243

9.5 语句 243

9.5.1 if-else 244

9.5.2 switch-case/default 246

9.5.3 for 248

9.5.4 while 250

9.5.5 do-while 251

9.5.6 break 252

9.5.7 continue 253

9.5.8 空语句 255

9.6 控制台输入和输出 255

9.6.1 数据输入 255

9.6.2 数据输出 256

9.6.3 一个包含输入输出语句的完整程序 257

9.7 初等算法(计数、统计和数学运算等) 257

9.8 习题 261

第10章 程序设计——数组和结构 263

10.1 数组 263

10.1.1 数组的定义 263

10.1.2 数组元素的赋值 264

10.1.3 数组的访问和遍历 264

10.1.4 例题 265

10.1.5 数组使用中的注意事项 270

10.1.6 多维数组 270

10.2 结构 273

10.2.1 结构类型和结构类型变量的定义 273

10.2.2 结构类型变量的访问与赋值 276

10.2.3 例题 276

10.2.4 结构使用中的注意事项 278

10.3 指针 278

10.3.1 指针的概念、定义和使用 278

10.3.2 指向结构和数组元素的指针 279

10.3.3 指针的加减法运算 280

10.3.4 指针应用的例子 281

10.4 字符串 281

10.4.1 字符数组、字符串和字符指针 281

10.4.2 字符串变量的初始化及输入输出 282

10.4.3 常用的字符串处理函数 284

10.4.4 字符串应用的例子 285

10.5 动态数组 286

10.5.1 动态数组的申请 286

10.5.2 动态数组的访问与赋值 287

10.5.3 动态数组空间的释放 288

10.5.4 内存分配释放的注意事项 288

10.5.5 使用动态数组的例子 289

10.6 文件的输入输出 292

10.6.1 创建文件 292

10.6.2 打开和关闭文件 292

10.6.3 从文件中读入数据 293

10.6.4 将数据写入文本文件 294

10.6.5 格式化文件输入输出 294

10.6.6 格式化文件输入输出例题 296

10.7 排序 297

10.7.1 起泡排序 297

10.7.2 插入排序 298

10.7.3 查找 299

10.7.4 顺序查找 299

10.7.5 二分法查找 300

10.8 习题 301

第11章 程序设计——函数 304

11.1 函数 304

11.1.1 函数的定义 304

11.1.2 函数的调用 305

11.1.3 参数传递和返回值 306

11.1.4 传值 306

11.1.5 传地址 308

11.1.6 返回值 308

11.1.7 全局变量和局部变量 310

11.2 模块化程序设计思想(问题分解与抽象) 312

11.3 递归 314

11.3.1 函数的递归调用 314

11.3.2 用递归的思想解决问题 314

11.4 样例程序 317

11.5 习题 320

第12章 问题分析与算法设计 323

12.1 算法的效率 323

12.1.1 二分搜索 323

12.1.2 选择排序和插入排序 326

12.2 计算复杂性 327

12.2.1 可计算与计算复杂性 327

12.2.2 时间复杂性 328

12.2.3 O符号 329

12.2.4 算法的时间复杂性分析 330

12.2.5 算法的空间复杂性 330

12.3 问题分析与算法优化 331

12.3.1 完全平方数 331

12.3.2 约瑟夫问题 332

12.3.3 哥德巴赫猜想 337

12.4 递归 340

12.5 动态规划 343

12.6 回溯 346

12.7 习题 350

参考文献 351