-
在开始编程之前
-
一个简单的C程序(hello world)
-
对象(初步)
-
数据
-
字符常量(包括Unicode的讲解)
-
字符串(初步)(包括locale的讲解)
-
运算符 表达式
-
示例:BMI测试
-
语句(包括控制语句)
-
示例:改进的BMI测试
-
函数(初步)
-
示例:简易计算器
-
示例:密码验证
-
示例:分解质因数
-
函数(包括递归示例等等)
-
对象(包括生存期等)
-
数组
-
隐式转换
-
示例:bubble sort
-
案例:高精度整数
-
指针
-
指针 -
void*
和aliasing -
多维数组(n维数组可以看做张量(确信)
-
案例:矩阵运算
-
案例:生命游戏
-
文件操作
-
案例:改进密码验证
-
结构体
-
项目:“经典”课设 - 学生管理系统
-
内存对齐
-
共用体,枚举(简略)
-
案例:卡牌游戏对战
-
内存管理
-
位操作 (和一部分布尔代数)
-
案例:改进的高精度整数(长,内容多)
-
可变参数
stdarg.h
-
再谈
printf()
和scanf()
-
泛型
_Generic
-
C 属性
-
预处理器(附带一个
#if 0
小技巧) -
C标准库的介绍和文档
-
C输入输出库
stdio.h
-
C数学库
math.h
-
C复数库
complex.h
-
示例:复数计算器
-
C二分查找和快速排序函数(in
stdlib.h
) -
C随机数生成(in
stdlib.h
) -
案例:猜数游戏
-
C时间日期库
time.h
-
C断言库
assert.h
-
C字符处理库
ctype.h
-
C字符串API
string.h
-
C执行控制函数(in
stdlib.h
) -
C线程库
thread.h
-
C原子操作库
stdatomic.h
-
数据结构 - 顺序表
-
数据结构 - 栈
-
数据结构 - 链表
-
案例:json parser
-
数据结构 - 跳表
-
数据结构 - 从二叉树到红黑树(长)
-
数据结构 - 实现unordered_map
-
算法:什么是算法和leetcode
-
算法:算法的时间复杂度
-
算法:几种排序算法和时间复杂度的比较
-
算法:DFS和BFS*
-
算法:动态规划
-
算法:贪心算法
-
算法:分治算法和用主方法推导分治算法的时间复杂度
-
C 项目结构 和 “为什么要分出头文件”
-
CMake
-
C GUI编程
-
项目:投篮游戏 by Sunset
-
C大型项目源码的阅读
-
C源码示例 - kilo
-
C网络编程
-
网络基础 - ISO七层模型
-
网络基础 - TCP
-
网络基础 - UDP
-
C源码示例 - libuv
-
项目:多人聊天室(长,估计5集左右)
-
网络基础 - HTTP
-
项目:web服务器mdr_server
-
编译原理基础 - 词法分析(长)
-
编译原理基础 - 语法分析(长)
-
编译原理基础 - 运行时刻环境
-
编译原理基础 - 机器无关的代码优化
-
C源码示例:lua
-
项目:解释型语言mdr lang(非常长,估计得30集)
-
操作系统 - kernel
-
操作系统 - shell
-
后面不敢往下写了(悲
- 1~40 C基础语法
- 41~69 C标准库和数据结构与算法
- 70~92 C项目示例
我会与大家一起成长的