Learning C Camp 2026
时间:2026/06/28-2026/07/26
报名人数
340 人
来自高校
201 所
来自企业
55家
来自城市
82 个
成长路径
初步了解训练营

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

覆盖经典的计算机问题解法——横跨文本处理、数据压缩、网络通信、系统编程和编译技术五大领域。从有限状态机去注释、正则表达式匹配器开始,经过 RLE/LZ77/Base64 编解码和 JSON 解析器,进入系统层面的内存分配器、协程、TCP/HTTP 服务器、信号处理和 Mini Shell;再深入底层实现 RISC-V 汇编器、反汇编器、指令编码器和 ELF 生成器(整合为完整工具链项目);最后以 C 子集词法分析、表达式解析、AST 构建、栈虚拟机和树遍历解释器为序,构建出一门迷你编程语言,为 Unit 4 的编译器实现奠定基础。


  • Unit 4: C Compiler

用 C 语言增量式实现一个类 C 语言的编译器(nccl-cc)。从最简单的"返回常量"开始,每课新增一个语言特性——一元运算、二元算术、比较逻辑、局部/全局变量、赋值、条件分支、循环、函数定义与调用、递归、字符与字符串、数组、指针、结构体、预处理器——直至支持完整的 C 子集。编译器具备四个后端(RISC-V / ARM / AArch64 / x86-64)和五个运行环境(含无操作系统的裸机),最终能编译约瑟夫环程序并在所有目标平台得到同一正确答案。


  • 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