关于本教程
- 本教程由 GitHub Organization Mdr-C-Tutorial 出品,同时在弹幕视频网站 BiliBili 和 YouTube 发布讲解视频(预计 2027 年寒假开始更新),所有讲义,示例代码及视频均免费。
如发现有人售卖本教程,请与 mdr 联系。
推荐读者将本教程仓库 Clone 至本地,并使用 Typora 或 VS Code 或 Obsidian 进行阅读,以正常渲染 Markdown 与内嵌 公式。 - 本教程目前基于 C23 标准。
- 本教程官方 QQ 群 885719573
欢迎进入 QQ 群交流编程,一同成长!
QQ 群中有部分相关书籍的电子版。
2027 年正式更新视频时,会把群扩充到 3k。3k 群可以设置 30 个管理员:除少数几个永久保持管理身份的建群元老外,管理员会给(有技术 乐于解答问题 有影响力)的人。
自那时起,有管理意愿的可以私聊 mdr。 - 如果发现讲义及示例代码中有错误和不足之处,欢迎在 QQ 群中指出,更欢迎在 GitHub 仓库中提交 Pull Request。
- 关于 C 新版本:
目前,下一版本(c2y/c3a)预计在 2029 年出版。
每个正式的 C 标准出版后,MCT 会对仓库进行及时的扩充和修改,同时在视频网站发布相应视频,以全面正确地讲解新版本内容。 - 任何组织和个人均可在任何场合引用本教程的任何内容,无需标明出处。
- 本教程拟搭建官网(目前讲义部署在 GitHub Pages)。
官网正在编写,仓库在这里:前端仓库
官网不设置打赏渠道,如果真心想打赏请在 QQ 群里给群主发红包 😃 - Mdr-C-Tutorial 急需 logo。
- Mdr-C-Tutorial 拟基于 Flarum 部署配套论坛网站。
- Mdr-C-Tutorial 拟基于 HydroOJ 部署配套题库网站。
- 对于目前大学本科 C 语言课程教学中的一些怪现状,如:
- 教材及开发环境陈旧,教授内容错误或繁琐
- 教授内容,作业和考试与实际脱节,为了完成课程而学习
- 忽略程序设计思维的培养,忽略对编程语言理论 (Programming Language Theory, PLT) 的讲解,忽略编程语言与计算机科学 (Computer Science, CS) 的关系等,我们深恶痛绝,并殷切希望现状改善,还广大 C 语言学习者一个规范,与时俱进,可以切实提高个人编程能力和素质的 C 语言程序设计课堂。
- 本教程的适宜受众:愿意认真学 C 的人。
- 祝大家学习顺利!
教程结构
教程正文由第 0 部分和六个专业模块组成,并按以下顺序组织:
- 导读与学习指南:说明教程边界、学习路线、工具入口、资料检索和全站使用方式。
- 语法和标准库:通过单文件程序学习 C 语言规则、对象模型与标准库。
- 开发与工程基础:学习必要的命令行操作、编译与链接、Git、多文件组织、构建系统、调试、测试、程序检查,以及范围受限的库接口实现练习。
- 数据结构与算法:学习数据结构、算法设计、正确性论证、复杂度分析及其 C 实现。
- 系统编程:学习操作系统接口、文件、进程、线程、网络和终端等能力。
- 项目案例:综合前述知识完成项目,并阅读具有代表性的 C 项目源码。
- 嵌入式:沿 MCU 裸机、驱动与通信、RTOS、嵌入式 Linux、质量与交付的路线学习嵌入式软件开发。
v2.0 by mdr at 2026.7.28