CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
C 语言入门/课时/C 是什么
RawBlame
课时目录12 节

C 语言入门

  1. 01C 是什么
  2. 02类型与变量
  3. 03控制流与运算符
  4. 04函数
  5. 05指针与内存
  6. 06数组与字符串
  7. 07结构体与联合体
  8. 08预处理器
  9. 09编译与构建
  10. 10并发与进程
  11. 11调试与测试
  12. 12综合练习

C 是什么

C vs C++、标准、第一个程序。

25 分钟

C 是什么

C 是操作系统、嵌入式与高性能库的基石语言。对照 /roadmaps/c 路线图,本 track 从语法、指针、构建到调试,系统覆盖 C 语言核心能力。若已学 Java,可把 C 理解为「编译为机器码、无 GC、贴近硬件」的过程式语言。

学习目标

  • 理解 C 在系统软件生态中的位置
  • 区分 C 与 C++、Java 的范式差异
  • 搭建编译环境并运行第一个 C 程序
  • 明确本 track 在 /roadmaps/c 中的位置

核心概念

C 的典型应用

领域代表
操作系统Linux 内核、Windows 底层
嵌入式单片机固件、驱动
运行时Python 解释器、JVM 部分实现
高性能库SQLite、Redis、OpenSSL

C 诞生于 1972 年,C11 是当前教学与工业界常用标准。语法简洁,但内存与未定义行为需开发者自行负责。

开发环境

推荐 GCC 或 Clang,Windows 可用 MinGW-w64 或 Visual Studio 的 C 工具链:

gcc --version
clang --version

第一个程序

main.c:

#include <stdio.h>

int main(void) {
    const char *name = "CodeRoadMap";
    int year = 2026;

    printf("Hello, C!\n");
    printf("Track: %s (%d)\n", name, year);

    return 0;
}

编译运行:

gcc -std=c11 -Wall -Wextra main.c -o hello
./hello        # Windows: hello.exe
  • #include 在编译期展开头文件,类似 Java 的 import 但无包系统
  • 程序入口是全局函数 main,返回 0 表示成功
  • printf 来自标准库 <stdio.h>,C 无内置字符串类型

与 C++/Java 对照

维度CC++Java
范式面向过程多范式 + OOP面向对象
内存malloc/freeRAII、智能指针GC
字符串char 数组 / 指针std::stringString
编译产物机器码机器码字节码 + JVM
标准库较小(stdio、stdlib)
STL 丰富
JDK 庞大

C++ 兼容大部分 C 语法;Java 刻意去掉指针运算,安全性更高但无法直接操作硬件。

练习

  • 确认本机 gcc 或 clang 可用
  • 编译并运行 Hello World,修改输出为你的名字
  • 浏览 /roadmaps/c,标记「语言基础」节点
  • 列举两个 C 比 Java 更常被选中的场景

小结

C 是系统编程的通用语;简洁、高效、需手动管理资源。 下一课学习类型与变量。

加载本节练习…
下一课 →类型与变量