Learning C Camp 2026
时间:2026/06/28-2026/07/26
主办方
OpenCamp 训练营社区
报名人数
468 人
来自高校
236 所
来自企业
62家
来自城市
90 个
成长路径
初步了解训练营

Learning C Camp 2026

C 语言训练营(OpenCamp C 2026 Summer)将于 2026 年 6 月 28 日至 7 月 26 日开展,分为 Unit 0 - Unit 5 共六个阶段,合计 120 个 Lesson ,其中 Unit 4(C编译器) 和 Unit 5(C内核)为项目阶段。

每个 Lesson 对应一段可编译执行的典型代码,解决一个有趣的计算机问题。课程以《新概念英语》为灵感,不着重孤立的语法知识点,而是以经典代码范文和实际应用场景来组织教学,系统且循序渐进地带领学习者从零掌握 C 语言相关知识与技能。


内容大纲

Unit 0: C Primer

以 5 个最小可运行程序为载体,带领零基础学员写出人生第一个 C 程序并跑通完整的"编辑-编译-运行"流程。这一单元覆盖程序的基本骨架(main 函数与 return)、标准输出(printf 与格式化)、标准输入(scanf)、循环(while/for)和条件分支(if-else),建立起"变量-表达式-语句-控制流"的最基本心智模型。完成 Unit 0 后,学员应能独立编写包含输入、判断和循环的简单程序。

Unit 1: C Fundamentals

覆盖完整的 C 语法结构——包括嵌套循环、数组、字符串、结构体、联合体、位操作、指针、函数指针等。以 19 个递进式问题(从乘法表、素数、约瑟夫环到字符串处理、printf 实现、词法分析器、五子棋和搜索引擎)为驱动,学会使用状态机思想编程,建立"数据+算法=程序"的工程直觉。

Unit 2: C Essentials

覆盖系统编程常用的库函数、数据结构和算法。前半部分通过实现 cp/sed/more/sort/ls 等 Unix 命令,掌握文件 I/O、ELF 格式解析和进程交互;后半部分逐一实现单向链表、循环链表、栈、队列、二叉树、堆和散列表,并在此基础上完成二分查找、快速排序、回溯 DFS、KMP 字符串匹配、动态规划(LCS)、Dijkstra 最短路径和 Huffman 编码等经典算法,最终整合为 MyBash 和 GPS 导航两个综合项目。学会使用递归思想编程,能够独立解决迷宫问题、表达式求值问题和最短路径问题。

Unit 3: C Classicals

以 24 道经典编程练习覆盖计算机科学 17 个子领域——操作系统(哲学家就餐)、网络(停等协议)、编译原理(LL(1) 解析器)、数据库(B+ 树)、图形学(光线追踪)、AI(A*寻路、感知机)、密码学(RSA)、分布式系统(向量时钟)、体系结构(缓存模拟器)、信息安全(缓冲区溢出)、数值计算(LU 分解)、信号处理(FFT)、计算机视觉(Sobel 边缘检测)、信息检索(TF-IDF)、量子计算(量子比特模拟)、区块链(PoW)、人机交互(终端计算器)以及算法(Aho-Corasick、NFA→DFA、图灵机)、软件工程(测试框架)、编程语言理论(标记 - 清除 GC)和嵌入式系统(无锁环形缓冲)。每道题都是该领域的"第一性原理"经典问题,为 Unit 4 编译器项目建立广阔的 CS 视野。

Unit 4: C Compiler(项目阶段)

用 C 语言增量式实现一个类 C 语言的编译器(nccl-cc)。从最简单的"返回常量"开始,每课新增一个语言特性——一元运算、二元算术、比较逻辑、局部/全局变量、赋值、条件分支、循环、函数定义与调用、递归、字符与字符串、数组、指针、结构体、预处理器——直至支持完整的 C 子集。

Unit 5: C Kernel(项目阶段)

以一个真实的跨架构内核项目 Avatar Kernel 为载体,讲解操作系统内核的核心机制——包括启动引导、内存管理(MMU、页表、内存分配器)、中断与异常处理、任务调度、系统调用接口、设备驱动框架、文件系统和网络协议栈等。这一单元不要求从零独立编写内核,而是把这套真实代码的设计与实现讲清楚,建立起对 freestanding(无标准库)环境与架构抽象层的整体认知。内核在 AArch64、RISC-V、x86_64 三种架构上实现并持续完善子模块。




快速加入训练营
0
Unit 0: C Primer
1
Unit 1: C Fundamentals
2
Unit 2: C Essentials
3
Unit 3: C Classicals