0Pricing
C Academy icon

C Academy

CSystemsBackendBeginner

在 C Programming Academy 通过学习 C 语言打下坚实的编程基础。

🤖 AI 驱动📚 39 门课程👥 10万+ 学习者⭐ 4.9 分
课程概览

驱动操作系统、编译器和嵌入式硬件的编程语言

C 不是历史遗留物 — 它是 Linux、SQLite 数据库引擎、CPython 解释器以及当今几乎所有微控制器固件的基础。理解 C 意味着理解内存如何真正工作、处理器如何实际执行指令,以及为什么每一种高级语言都要做出它所做的权衡。本课程从你的第一个 printf 开始,一直到编写内存分配器、哈希表、链表和一个可工作的解释器。

你将学到什么

你将从运算符、控制流、格式化 I/O 和类型转换开始,然后进入标准库 — math.h、string.h、ctype.h — 以及 C 特有的主题如枚举、命令行参数、存储类和预处理器宏。中级部分涵盖指针和动态内存管理、函数指针和回调、可变参数函数和模块化多文件项目。你将从零开始实现核心数据结构:链表、二叉树、哈希表和动态数组。高级课程涵盖多线程和并发、套接字编程、进程间通信、使用 Valgrind 进行内存调试,以及使用 epoll 的网络编程。

学习路径

共三十九门课程从 A1 到 C1。A1 和 A2 课程建立语法、递归和标准库的基础。十一门 B1 课程培养实践技能 — 文件处理、位操作、结构体和联合体,以及预处理器。十门 B2 课程深入讲解:动态内存、排序算法、哈希表,以及最后的 C 构建内存分配器。七门 C1 课程用系统级工作结束:多线程和并发、C 套接字编程、C 使用 Valgrind 进行内存调试、C 编写简单解释器和 C 使用 epoll 进行网络编程。

它如何工作

每门课程分为简短、专注的课程单元,你在内置代码编辑器中完成,实时反馈输出结果。无论你在段错误、链接器错误还是指针算术中的差一错误上遇到困难,AI 导师随时可用。进度按课程单元跟踪,因此你可以跨会话暂停和恢复而不会丢失进度。

开始学习 →

你的学习方式

🎯
互动课程
实时反馈的动手编程练习
🤖
AI 导师
遇到困难时立即获得 AI 帮助
💻
内置编辑器
直接在浏览器中编写并运行代码
🏆
证书
完成课程后获得证书
课程

39 门课程

C Academy 学习路径中的所有课程。

01

C 语言入门

A13 节课

C 是最具影响力的编程语言之一,以运行速度快和底层能力强而闻名。它支持直接访问内存和硬件,因此非常适合用于操作系统、嵌入式系统和高性能应用程序。本节将介绍 C 语言的历史、它如今仍然重要的原因,以及如何设置开发环境。您还将编写并编译第一个 C 程序,同时学习构成 C 编程基础的…

02

C 数学库(math.h)

A14 节课PRO

使用 C 的标准数学函数完成真正的数值计算。

03

C 运算符与表达式

A24 节课PRO

C 运算符与表达式:算术运算符、关系运算符与逻辑运算符等

04

C 格式化输入与输出

A24 节课PRO

C 格式化输入与输出:printf 格式说明符、scanf 与输入等

05

C 类型转换与强制转换

A24 节课PRO

C 类型转换与强制转换:隐式转换、显式强制转换等

06

C 字符处理与 ctype

A24 节课PRO

C 字符处理与 ctype:将字符视为整数、ctype 库等

07

C 递归技巧

A24 节课PRO

通过让函数调用自身来解决问题。

08

C 枚举与常量

A24 节课PRO

使用枚举、const 和 #define 为值命名。

09

C 命令行参数

A24 节课PRO

C 命令行参数:argc 与 argv、解析选项等

10

C 中的控制流

A23 节课PRO

控制流结构可以让程序动态地做出决策并执行指令。本节将教您如何使用条件语句和循环控制程序的执行。这些内容对于编写能够响应用户输入并高效处理数据的灵活程序至关重要。

11

C 存储类与作用域

B14 节课PRO

C 存储类与作用域:auto 与局部作用域、static 变量等

12

C 位操作

B14 节课PRO

C 位操作:位运算符、移位等

13

C 的 string.h 库

B14 节课PRO

C 的 string.h 库:strlen、strcpy、strcat、strcmp 与比较等

14

C 模块化多文件项目

B14 节课PRO

使用头文件和编译单元,将 C 程序拆分到多个文件中。

15

C 动态数组

B14 节课PRO

使用 malloc 和 realloc 在堆上构建可调整大小的数组。

16

函数与模块化编程

B13 节课PRO

函数有助于复用代码并改善程序组织。本节将介绍如何定义和调用函数、传递参数以及返回值。您还将学习函数原型和作用域,它们有助于创建模块化且易于维护的程序。

17

C 中的数组与字符串

B13 节课PRO

数组和字符串是用于存储元素集合的基础数据结构。本节将教您如何声明、初始化和处理数组与字符串,这些内容对于处理结构化数据至关重要。

18

结构体、联合体与枚举

B13 节课PRO

结构体和联合体可以让您定义复杂的数据类型,而枚举有助于创建易读的常量。本节将介绍它们的使用场景和优势。

19

C 中的文件处理

B13 节课PRO

文件操作可以让程序持久化存储和获取数据。本节将介绍如何在 C 中读取和写入文件。

20

预处理器指令与宏

B13 节课PRO

C 预处理器可以让您定义宏、包含文件并有条件地编译代码。本节将介绍这些强大的工具。

21

C 动态内存管理

B24 节课PRO

C 动态内存管理:malloc 与 free、calloc 与 realloc 等

22

C 函数指针与回调

B24 节课PRO

C 函数指针与回调:声明函数指针、传递函数等

23

C 可变参数函数

B24 节课PRO

C 可变参数函数:stdarg 宏、编写类似 printf 的函数等

24

C 链表实现

B24 节课PRO

C 链表实现:单向链表、插入与删除等

25

C 二叉树与递归

B24 节课PRO

在 C 中实现并遍历二叉树。

26

指针与内存管理

B23 节课PRO

指针是 C 最强大的特性之一,支持直接操作内存。本节将帮助您理解指针、内存地址和动态内存分配技术,从而优化程序性能。

27

C 中的数据结构

B23 节课PRO

数据结构为存储和处理数据提供了高效方式。本节将介绍 C 中常用的数据结构。

28

调试与错误处理

B23 节课PRO

调试对于编写可靠的 C 程序至关重要。本节将介绍调试工具和错误处理技术。

29

C 哈希表实现

B24 节课PRO

C 哈希表实现:哈希函数、冲突处理等

30

C 排序算法

B24 节课PRO

C 排序算法:冒泡排序与插入排序、快速排序等

31

C 预处理器与构建精通

B24 节课PRO

C 预处理器与构建精通:条件编译、多文件项目等

32

C 构建内存分配器

B24 节课PRO

通过编写自己的 malloc 来理解堆。

33

多线程与并发(进阶)

C13 节课PRO

多线程可以让程序并发运行多个任务。本节将介绍线程概念和同步技术。

34

构建与优化 C 程序

C13 节课PRO

编写高效的 C 代码对程序性能至关重要。本节将介绍优化和构建大型应用程序的最佳实践。

35

C 套接字编程

C14 节课PRO

C 套接字编程:套接字概览、TCP 服务器等

36

C 进程间通信

C14 节课PRO

C 进程间通信:管道、共享内存等

37

使用 Valgrind 调试 C 内存

C14 节课PRO

使用 Valgrind 调试 C 内存:为何使用 Valgrind、检测内存泄漏等

38

C 编写简单解释器

C14 节课PRO

解析并求值表达式,构建一个微型语言。

39

使用 epoll 进行 C 网络编程

C14 节课PRO

通过事件驱动的输入输出高效处理大量连接。

常见问题

常见问题解答

C Academy 课程免费吗?

免费。你可以免费开始 C Academy 课程并完成它的所有互动课程。可选的 PRO 订阅解锁高级 AI 工具和可分享的证书。

学习 C 需要有先前的经验吗?

不需要。课程从基础开始,逐步进阶到更高难度的主题,所以即使你没有任何 C 基础也可以开始。

我在 CoddyKit 上怎样学习 C?

学以致用。简洁的互动课程将清晰的讲解与实时动手编程练习结合,24/7 AI 导师在你遇到困难时提供个性化帮助。

完成 C Academy 后能获得证书吗?

可以。PRO 学员可以参加考试,获得 C Academy 课程的可分享的完成证书,其中包含可验证的代码。

我能在手机上学习 C 吗?

可以。CoddyKit 支持网页版和原生 iOS、Android 应用,你可以在任何设备上学习 C,进度会自动同步。

立即开始 C Academy

加入数千名学习者,通过 AI 驱动的课程掌握编程。

免费开始 →浏览所有课程