前言
第一部分 基础知识
第一章 什么是C
C 简史
C 的组织结构
如何学习C
第二章 编程基础
程序从概念到执行
创建实际的程序
在Unix中获得帮助
在IDE中获得帮助
编程练习
第三章 风格
注释
C 代码
命名风格
编写代码的信仰
缩排和代码格式
清晰
简单
一致性和组织结构
进一步阅读
小结
第四章 基本声明和表达式
基本的程序结构
简单表达式
std::cout输出对象
变量和存储
变量声明
整数
赋值语句
浮点数
浮点除与整数除
字符
宽字符
布尔类型
编程练习
章节问题答案
第五章 数组. 限定符和读数据
数组
字符串
读数据
初始化变量
多维数组
C风格字符串
整数的类型
浮点数的类型
常量和引用声明
限定符
十六进制常量和八进制常量
用于执行快捷方式的操作符
副作用
编程练习
章节问题答案
第六章 判断和控制语句
if语句
else语句
如何不使用std::strcmp
循环语句
while语句
break语句
continue语句
赋值在任何地方的副作用
编程练习
章节问题答案
第七章 编程过程
设置你自己的工作区域
规范
代码设计
原型
Makefile
测试
调试
维护
修订
电子考古学
标记程序
使用调试器
使用文本编辑器作为浏览器
添加注释
编程练习
第二部分 简单编程
第八章 更多控制语句
for语句
switch语句
switch. break和continue
编程练习
章节问题答案
第九章 变量作用域和函数
作用域和存储类别
名称空间
函数
参数类型的总结
递归
结构化的编程基础
实际编程
编程练习
章节问题答案
第十章 C 预处理器
#define语句
条件编译
#include文件
参数化的宏
高级特性
小结
编程练习
章节问题答案
第十一章 位操作
位操作符
与操作符(&)
按位或(|)
按位异或(^)
按位非操作符(~)
位左移和位右移操作符(<<, >>)
设置. 清除和测试位
位映像图
编程练习
章节问题答案
第三部分 高级的类型和类
第十二章 高级类型
结构
联合
typedef
枚举类型
位成员或紧缩结构
结构数组
编程练习
章节问题答案
第十三章 简单类
栈
改进后的栈
类的使用
构造函数和析构函数简介
自动生成的成员函数
快捷方式
风格
结构和类
编程练习
第十四章 类的其他知识
friends
constant函数
常量成员
静态成员变量
静态成员函数
static的含义
编程练习
第十五章 简单指针
const指针
指针和输出
指针和数组
reinterpret_cast
指针和结构
命令行参数
编程练习
章节问题答案
第四部分 高级编程概念
第十六章 文件输入/输出
C
文件I/O
转换例程
二进制文件和ASCII文件
行结束难题
二进制I/O
缓冲问题
非缓冲I/O
设计文件格式
C风格 I/O 例程
C风格的转换例程
C风格二进制I/O
C风格I/O与C 风格I/O
编程练习
章节问题答案
第十七章 调试和优化
代码评审
顺序调试
获得输出结果
交互调试器
调试二分查找
交互调试技巧
运行时错误
优化
如何优化
案例研究:内联函数和普通函数
案例研究:优化着色算法
编程练习
章节问题答案
第十八章 操作符重载
创建简单的定点类
操作符函数
操作符成员函数
缺点
定点类的完整定义
编程练习
章节问题答案
第十九章 浮点数
浮点格式
浮点加/减
乘法和除法
上溢和下溢
舍入误差
精确度
最小化舍入误差
确定精确度
精度和速度
幂级数
编程练习
第二十章 高级指针
指针. 结构和类
delete操作符
链表
有序链表
双向链表
树
输出一个树
程序的其他部分
Chess程序的数据结构
编程练习
章节问题答案
第二十一章 高级类
派生类
虚函数
虚类
派生类中的函数隐藏
派生类中的构造函数和析构函数
dynamic_cast操作符
小结
编程练习
章节问题答案
第五部分 其他语言特性
第二十二章 异常
在栈类中添加异常
异常和assert
编程练习
第二十三章 模块化编程
模块
public和private
extern存储类
头文件
模块体
使用无限数组的一个程序
多个文件的Makefile
使用无限数组
将一个任务划分成多个模块
模块设计指南
编程练习
第二十四章 模板
什么是模板?
模板:比较困难的方式
模板:C 采用的方式
函数特殊化
类模板
类特殊化
实现细节
高级功能
小结
编程练习
第二十五章 标准模板库
STL基础
类List —— 一个学生集合
使用STL列表创建一个等待列表
将成绩存储在STL映射中
全部输出
实际使用STL需要考虑的因素
获取更多信息
编程练习
第二十六章 程序设计
设计目标
设计要素
设计准则
编码
对象
实际设计技巧
小结
第二十七章 完整的开发过程
需求
代码设计
编码
功能说明
测试
修订版
最终警告
程序文件
编程练习
第二十八章 从C到C
K&R风格的函数
struct
malloc 和 free
将结构转变为类
setjmp 和 longjmp
混合使用C和C 代码
小结
编程练习
第二十九章 C 遗忘的角落
do/while
goto
: 结构
逗号操作符
重载 操作符
指向成员的指针
asm语句
限定符mutable
运行期间类型判定
通配符
章节问题答案
第三十章 编程格言
一般
设计
声明
switch语句
预处理器
风格
编译
C 程序员十诫
最后注意事项
章节问题答案
第六部分 附录
附录一 ASCII表
附录二 范围
附录三 操作符优先规则
附录四 使用幂级数计算正弦值
附录五 资源
索引