Skip to content

The Little Book of C · C 语言小书 ​

基于 Duc-Tam Nguyen 的 The Little Book of C(CC BY-NC-SA 4.0)

这套教程不只适合通读概念。你会从 printf 开始,逐步完成计算器、手动内存管理、小型数据结构、文件日志工具、Makefile、Mini Shell、调试修复、可移植多线程程序,最后交付一个可以构建、运行、测试、打包和说明取舍的 C 小项目。

完成后,你应该能把 C 代码从“能跑”推进到“可维护、可调试、可交付”:

  • 设计一个小型命令行工具,拆分 .c / .h 文件,并用 Makefile 稳定构建。
  • 解释栈、堆、指针、生命周期、深浅拷贝和未定义行为对程序正确性的影响。
  • 用警告、断言、调试器、内存检查和代码审查清单定位问题。
  • 处理文件 I/O、错误码、命令行参数、系统调用、进程、管道和信号。
  • 为最终项目留下可展示证据:源码、构建命令、运行输出、测试记录、调试记录、README 和版本标签。

这份证据可以用于作品集、代码面试复盘、系统编程入门项目,或后续学习操作系统、数据库、编译器、嵌入式开发时的基础练习。它不能保证职位或录用结果,但能证明你已经动手完成过 C 项目的核心工程流程。

固定练习工作区 ​

所有练习统一放在同一个工作区,避免命令输出散落在教程目录里。

macOS / Linux:

bash
mkdir -p ~/c-course-labs
cd ~/c-course-labs

Windows PowerShell:

powershell
New-Item -ItemType Directory -Force "$HOME\c-course-labs"
Set-Location "$HOME\c-course-labs"

每个练习单独创建目录,例如 020-calculator、060-makefile-lab、100-tinynotes。每章完成后,把运行命令、关键输出、遇到的问题和下一步改进写进该目录下的 evidence.md。

编译标准选择 ​

默认练习建议使用更稳妥的 C17:

bash
gcc -std=c17 -Wall -Wextra -Wpedantic -g main.c -o main

课程中涉及 C23 的章节会把它作为现代能力或可选升级来练。GCC 文档说明 C23 可用 -std=c23 选择,Clang 的 C 支持页把 C23 标为部分支持;因此做跨编译器练习时,先用 C17 保证主线能跑,再用 C23 对照新特性和兼容性。

选择语言 ​

语言目录说明
中文zh-CN 教程总览适合中文跟练,保留原书代码并补充课程化学习路径
Englishen-US IndexEnglish path with the same hands-on contract

章节对照 ​

英文章节中文章节
01-Getting Started01-入门
02-Language Basics02-语言基础
03-Working with Memory03-内存
04-Structuring Data04-数据结构
05-Input Output and Files05-输入输出与文件
06-Compilation and Build06-编译与构建
07-Working Close to the System07-贴近系统
08-Debugging Testing Profiling08-调试测试与 profiling
09-Portable and Modern C09-可移植与现代 C
10-Building Real Projects10-真实项目
11-Epilogue11-结语

每篇文章顶部可切换 中文 / English(alternateZh / alternateEn)。

本站总访问 — 次