Skip to content

← Learn to Code — Python, Java, C, SQL & Web · ⁨编程入门 — Python, Java, C, SQL & Web⁩

C Programming · ⁨C 语言编程⁩

From printf to pointers, memory, and data structures — compile and run in your browser. · ⁨从 printf 到指针、内存与数据结构 —— 在浏览器中编译并运行。⁩

c 23 Lessons · ⁨课程⁩

Every lesson runs in your browser — write real code, press Run, and the tasks check themselves. Free, no account needed, with translated notes paired with English. · ⁨每节课均在浏览器中运行——编写真实代码,点击运行,任务自动检查。免费,无需账户,配有与英文对照的翻译笔记。⁩

Start the course · ⁨开始课程⁩

Lessons in this course · ⁨本课程中的课程⁩

  1. history A short history of C · ⁨C 语言简史⁩ Reading and resources · ⁨阅读与资源⁩
  2. usage What C is used for · ⁨C 语言用来做什么⁩ Reading and resources · ⁨阅读与资源⁩
  3. resources Where to learn more · ⁨更多学习资源⁩ Reading and resources · ⁨阅读与资源⁩
  4. setup Set up your computer · ⁨设置你的电脑⁩ Reading and resources · ⁨阅读与资源⁩
  5. 01 C basics: main, printf, and functions · ⁨C 基础:main、printf 与函数⁩ 3 required tasks · ⁨3 个必做任务⁩ Video · ⁨视频⁩
  6. 02 Variables, types, and arithmetic · ⁨变量、类型与算术⁩ 3 required tasks · ⁨3 个必做任务⁩ Video · ⁨视频⁩
  7. 03 Booleans and selection: if, else, switch · ⁨布尔与选择:if、else、switch⁩ 3 required tasks · ⁨3 个必做任务⁩ Video · ⁨视频⁩
  8. 04 Loops: while, for, and accumulation · ⁨循环:while、for 与累加⁩ 3 required tasks · ⁨3 个必做任务⁩ Video · ⁨视频⁩
  9. 05 Functions, parameters, and return values · ⁨函数、参数与返回值⁩ 3 required tasks · ⁨3 个必做任务⁩ Video · ⁨视频⁩
  10. 06 Nested loops and patterns · ⁨嵌套循环与图案⁩ 3 required tasks · ⁨3 个必做任务⁩ Video · ⁨视频⁩
  11. 07 1-D arrays: store, index, and traverse · ⁨一维数组:存储、索引与遍历⁩ 3 required tasks · ⁨3 个必做任务⁩ Video · ⁨视频⁩
  12. 08 Pointers: &, *, and pass-by-pointer · ⁨指针:&、* 与按指针传参⁩ 3 required tasks · ⁨3 个必做任务⁩ Video · ⁨视频⁩
  13. 09 Strings: char arrays and the null terminator · ⁨字符串:字符数组与结束符⁩ 3 required tasks · ⁨3 个必做任务⁩ Video · ⁨视频⁩
  14. 10 Array algorithms: max, count, search, average · ⁨数组算法:最大值、计数、查找、平均⁩ 4 required tasks · ⁨4 个必做任务⁩ Video · ⁨视频⁩
  15. 11 2-D arrays: working with a grid · ⁨二维数组:处理网格⁩ 3 required tasks · ⁨3 个必做任务⁩ Video · ⁨视频⁩
  16. 12 Searching: linear and binary · ⁨查找:线性与二分⁩ 3 required tasks · ⁨3 个必做任务⁩ Video · ⁨视频⁩
  17. 13 Sorting: bubble, selection, and insertion · ⁨排序:冒泡、选择与插入⁩ 3 required tasks · ⁨3 个必做任务⁩ Video · ⁨视频⁩
  18. 14 Recursion: base case and recursive case · ⁨递归:终止条件与递归情形⁩ 3 required tasks · ⁨3 个必做任务⁩ Video · ⁨视频⁩
  19. 15 Structs and typedef: . vs -> · ⁨结构体与 typedef:. 与 ->⁩ 3 required tasks · ⁨3 个必做任务⁩ Video · ⁨视频⁩
  20. 16 Dynamic memory: malloc, free, and realloc · ⁨动态内存:malloc、free 与 realloc⁩ 3 required tasks · ⁨3 个必做任务⁩ Video · ⁨视频⁩
  21. 17 Linked lists · ⁨链表⁩ 3 required tasks · ⁨3 个必做任务⁩ Video · ⁨视频⁩
  22. 18 Stacks and queues (array-backed) · ⁨栈与队列(用数组实现)⁩ 3 required tasks · ⁨3 个必做任务⁩ Video · ⁨视频⁩
  23. 19 Text files: write then read · ⁨文本文件:先写后读⁩ 2 required tasks · ⁨2 个必做任务⁩ Video · ⁨视频⁩
  24. 20 Error handling with return codes · ⁨用返回码处理错误⁩ 3 required tasks · ⁨3 个必做任务⁩ Video · ⁨视频⁩
  25. 21 Bits, binary, and bitwise operators · ⁨位、二进制与按位运算⁩ 3 required tasks · ⁨3 个必做任务⁩ Video · ⁨视频⁩
  26. 22 Run-length encoding (compression) · ⁨行程长度编码(压缩)⁩ 2 required tasks · ⁨2 个必做任务⁩ Video · ⁨视频⁩
  27. 23 Preprocessor, const, static, and enum · ⁨预处理器、const、static 与 enum⁩ 3 required tasks · ⁨3 个必做任务⁩ Video · ⁨视频⁩

Language reference · ⁨语言参考⁩

/know/reference/c

Log in or create account · ⁨登录或创建账户⁩

IGCSE, A-Level · ⁨IGCSE、A-Level⁩ & AP · ⁨与 AP⁩