# 第 13 章 本阶段总结
善于学习的人都应该善于总结。本书的编排顺序充分考虑到知识的前后依赖关系,保证在讲解每个新知识点的时候都只用到前面章节讲过的知识,但正因为如此,很多相互关联的知识点被拆散到多个章节中了。我们一章一章地纵向学习过来之后,应该理出几个横切面,把拆散到各章节中的知识点串起来。请从以下几个方面整理和复习。
1、C的语法规则。
1. 源文件中所有函数定义之外可以出现哪些语法元素?
2. 函数定义之中可以出现哪些语法元素?
3. 语句有哪几种?
4. 哪些语法元素需要遵循标识符的命名规则?
5. 表达式由哪些语法元素组成?
6. 到目前为止学过哪些运算符?它们的优先级和结合性是怎样的?
7. 哪些运算符取操作数的左值?哪些运算符的操作数必须是整型?哪些运算符有Side Effect?
8. 哪些表达式可以做左值?哪些表达式只能做右值?
9. 哪些地方必须用常量表达式?哪些地方必须用整数常量表达式?
2、思维方法与编程思想。
* 以概念为中心,[第 1 节 “程序和编程语言”](intro.program.html "1. 程序和编程语言")
* 组合规则,[第 5 节 “表达式”](expr.expression.html "5. 表达式")
* Least Surprise,[第 3 节 “形参和实参”](ch03s03.html#func.paraarg)
* 充分条件与必要条件,[第 4 节 “全局变量、局部变量和作用域”](ch03s04.html#func.localvar)
* 封装,[第 2 节 “if/else语句”](ch04s02.html#cond.ifelse)
* 布尔逻辑,[第 3 节 “布尔代数”](ch04s03.html#cond.bool)
* 递归,[第 3 节 “递归”](ch05s03.html#func2.recursion)
* 函数式编程,[第 1 节 “while语句”](ch06s01.html#iter.while)
* 迭代([第 6 章 _循环语句_](ch06.html#iter))与增量式求解([第 2 节 “插入排序”](ch11s02.html#sortsearch.insertion))
* 抽象,[第 2 节 “数据抽象”](ch07s02.html#struct.abstract)
* 数据驱动,[第 5 节 “多维数组”](ch08s05.html#array.multidimension)
* 分而治之,[第 4 节 “归并排序”](ch11s04.html#sortsearch.merge)
* 折半查找,[第 6 节 “折半查找”](ch11s06.html#sortsearch.binary)
* 回溯,[例 12.3 “用深度优先搜索解迷宫问题”](ch12s03.html#stackqueue.dfs)
3、调试方法
* 编译错误、运行时错误与语义错误,[第 3 节 “程序的调试”](ch01s03.html#intro.debug)
* 增量式开发,[第 2 节 “增量式开发”](ch05s02.html#func2.incremental)
* 打印语句与Scaffold,[第 2 节 “增量式开发”](ch05s02.html#func2.incremental)
* gdb,[第 10 章 _gdb_](ch10.html#gdb)
* DbC与Assertion,[第 6 节 “折半查找”](ch11s06.html#sortsearch.binary)
- Linux C编程一站式学习
- 历史
- 前言
- 部分 I. C语言入门
- 第 1 章 程序的基本概念
- 第 2 章 常量、变量和表达式
- 第 3 章 简单函数
- 第 4 章 分支语句
- 第 5 章 深入理解函数
- 第 6 章 循环语句
- 第 7 章 结构体
- 第 8 章 数组
- 第 9 章 编码风格
- 第 10 章 gdb
- 第 11 章 排序与查找
- 第 12 章 栈与队列
- 第 13 章 本阶段总结
- 部分 II. C语言本质
- 第 14 章 计算机中数的表示
- 第 15 章 数据类型详解
- 第 16 章 运算符详解
- 第 17 章 计算机体系结构基础
- 第 18 章 x86汇编程序基础
- 第 19 章 汇编与C之间的关系
- 第 20 章 链接详解
- 第 21 章 预处理
- 第 22 章 Makefile基础
- 第 23 章 指针
- 第 24 章 函数接口
- 第 25 章 C标准库
- 第 26 章 链表、二叉树和哈希表
- 第 27 章 本阶段总结
- 部分 III. Linux系统编程
- 第 28 章 文件与I/O
- 第 29 章 文件系统
- 第 30 章 进程
- 第 31 章 Shell脚本
- 第 32 章 正则表达式
- 第 33 章 信号
- 第 34 章 终端、作业控制与守护进程
- 第 35 章 线程
- 第 36 章 TCP/IP协议基础
- 第 37 章 socket编程
- 附录 A. 字符编码
- 附录 B. GNU Free Documentation License Version 1.3, 3 November 2008
- 参考书目
- 索引