# 第?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
- 參考書目
- 索引