第 13 章 本阶段总结

优质
小牛编辑
131浏览
2023-12-01

第 13 章 本阶段总结

善于学习的人都应该善于总结。本书的编排顺序充分考虑到知识的前后依赖关系,保证在讲解每个新知识点的时候都只用到前面章节讲过的知识,但正因为如此,很多相互关联的知识点被拆散到多个章节中了。我们一章一章地纵向学习过来之后,应该理出几个横切面,把拆散到各章节中的知识点串起来。请从以下几个方面整理和复习。

1、C的语法规则。

  1. 源文件中所有函数定义之外可以出现哪些语法元素?

  2. 函数定义之中可以出现哪些语法元素?

  3. 语句有哪几种?

  4. 哪些语法元素需要遵循标识符的命名规则?

  5. 表达式由哪些语法元素组成?

  6. 到目前为止学过哪些运算符?它们的优先级和结合性是怎样的?

  7. 哪些运算符取操作数的左值?哪些运算符的操作数必须是整型?哪些运算符有Side Effect?

  8. 哪些表达式可以做左值?哪些表达式只能做右值?

  9. 哪些地方必须用常量表达式?哪些地方必须用整数常量表达式?

2、思维方法与编程思想。

  • 以概念为中心,第 1 节 “程序和编程语言”

  • 组合规则,第 5 节 “表达式”

  • Least Surprise,第 3 节 “形参和实参”

  • 充分条件与必要条件,第 4 节 “全局变量、局部变量和作用域”

  • 封装,第 2 节 “if/else语句”

  • 布尔逻辑,第 3 节 “布尔代数”

  • 递归,第 3 节 “递归”

  • 函数式编程,第 1 节 “while语句”

  • 迭代(第 6 章 循环语句)与增量式求解(第 2 节 “插入排序”)

  • 抽象,第 2 节 “数据抽象”

  • 数据驱动,第 5 节 “多维数组”

  • 分而治之,第 4 节 “归并排序”

  • 折半查找,第 6 节 “折半查找”

  • 回溯,例 12.3 “用深度优先搜索解迷宫问题”

3、调试方法

  • 编译错误、运行时错误与语义错误,第 3 节 “程序的调试”

  • 增量式开发,第 2 节 “增量式开发”

  • 打印语句与Scaffold,第 2 节 “增量式开发”

  • gdb,第 10 章 gdb

  • DbC与Assertion,第 6 节 “折半查找”