更新时间:2018-12-27 13:21:16
封面
版权信息
这可不是个序
谈谈“如何选书” ——代序
前言
第1章 绪论
1.1 计算机系统初探
1.1.1 换个角度看计算机
1.1.2 CPU很好很强大
1.2 计算机语言与编译技术
1.2.1 如何让机器理解你
1.2.2 编译技术与开发环境
1.2.3 程序开发流程
1.3 C语言神话
1.3.1 C语言的历史
1.3.2 简单说说C语言的特点
1.4 奇迹的延续
1.4.1 C++的产生与发展
1.4.2 C++与面向对象思想
1.5 本章小结
第2章 揭开数据表示的面纱
2.1 进制系统
2.1.1 最简单的计数方式
2.1.2 计算机里只有黑白
2.1.3 压缩表示的二进制
2.2 位与位操作
2.2.1 计算机存储的单位
2.2.2 位操作和位段
2.3 计算机中的数值
2.3.1 一种最简单的数
2.3.2 现实世界需要负数
2.3.3 只有整数还不够
2.4 让计算机学会写字
2.4.1 ASCII码
2.4.2 汉字编码
2.4.3 更强大的编码
2.5 C语言基本数据类型
2.5.1 整型
2.5.2 字符型
2.5.3 注意浮点数陷阱
2.6 本章小结
第3章 变量与地址
3.1 程序都在内存中
3.2 很多初学者都怕指针
3.3 睁大眼睛看内存
3.4 数组与指针是近亲
3.5 再谈指针
3.6 本章小结
第4章 动态内存管理
4.1 malloc和free
4.2 sizeof并不复杂
4.3 内存操作函数
4.3.1 memset
4.3.2 memcpy和memmove
4.4 new和delete
4.5 内存错误面面观
4.5.1 最怕内存泄漏
4.5.2 小心重复释放
4.5.3 指针是个坏东西
4.5.4 超量写内存
4.6 使用Visual C++检查内存泄漏
4.7 本章小结
第5章 代码与指令系统
5.1 还原代码的本来面目
5.1.1 内存中的代码
5.1.2 指向函数的指针
5.1.3 CPU的存储器
5.1.4 寄存器变量
5.1.5 寄存器组举例
5.2 指令——简单or复杂
5.2.1 指令格式
5.2.2 操作类型
5.2.3 操作数类型
5.3 如何找到地址
5.3.1 下一步该做什么
5.3.2 计算机知道自己需要什么
5.4 本章小结
第6章 函数与函数调用
6.1 函数与参数
6.1.1 C/C++中的函数
6.1.2 参数传递
6.1.3 作用域
6.2 函数的递归调用
6.2.1 到处都是递归
6.2.2 小心使用递归
6.2.3 递归与非递归
6.2.4 内、外部变量分配原理
6.3 内存的使用
6.3.1 活动记录与栈
6.3.2 静态分配
6.3.3 有静就有动
6.4 程序在内存中的模样
6.5 本章小结
第7章 多级存储系统
7.1 存储系统及层级结构
7.1.1 存储器分类
7.1.2 存储器的层级结构
7.1.3 访问的局部性原理
7.1.4 再谈存储器的层级
7.2 高速缓存