C 语言是嵌入式与系统编程的通用语言:它贴近硬件、语法精简、可移植性强,几乎所有操作系统内核、编译器和 MCU 固件都由 C 写成。学 C 不只是学语法,更是理解「内存、指针、编译链接」的入口。

一句话定位

C = 一门「小而深」的语言:语法少,但指针与内存模型足够陪你走完整个职业生涯。

知识体系

flowchart TD
    A[C 语言] --> B[基础语法]
    A --> C[核心难点]
    A --> D[模块化]
    A --> E[工程实践]

    B --> B1["数据类型与变量"]
    B --> B2["运算符与表达式"]
    B --> B3["控制语句: 分支 / 循环"]
    B --> B4["函数与递归"]

    C --> C1["指针与地址"]
    C --> C2["数组与指针的关系"]
    C --> C3["字符串与字符数组"]
    C --> C4["结构体 / 联合 / 枚举"]
    C --> C5["动态内存 malloc / free"]

    D --> D1["头文件与源文件"]
    D --> D2["static / extern 作用域"]
    D --> D3["多文件编译与链接"]

    E --> E1["预处理器 #define / #include"]
    E --> E2["位运算与寄存器操作"]
    E --> E3["调试: GDB / printf"]

章节要点

第一章 初识 C 语言

  • 编译流程:预处理 → 编译 → 汇编 → 链接,最终得到可执行文件。
  • 第一个程序:#include <stdio.h> + main 函数 + printf。

第二章 C 语言概述

  • 程序结构、标识符命名规则、注释、main 的返回值。

第三章 数据和 C

  • 基本类型:int / char / float / double 及 short / long / unsigned 修饰。
  • 进制、常量与变量、类型转换(隐式与强制)。

第四章 字符串和格式化输入/输出

  • printf / scanf 的格式说明符;gets / fgets 的坑。
  • 字符串本质是以 \0 结尾的字符数组。

第五章 运算符、表达式和语句

  • 算术、关系、逻辑、位、三目运算符;自增自减的求值顺序陷阱。

第六章 控制语句:循环

  • for / while / do-while 的适用场景与互转。

第七章 控制语句:分支和跳转

  • if-else 嵌套、switch-case、break / continue / goto。

核心难点:指针

  • 指针就是地址:int *p = &a;,*p 取内容,&a 取地址。
  • 数组名即首元素地址:arr[i] 等价于 *(arr + i)。
  • 函数传参:C 只有值传递,想修改外部变量就得传指针。
  • 动态内存:malloc 配 free,配对使用,避免内存泄漏与野指针。

C语言 1000问

  • 基础语法指针与未定义行为 —— 声明与定义、整数宽度、signed/unsigned、浮点数、指针、存储类、数组退化和未定义行为。
  • 函数存储预处理与文件IO —— 递归、函数指针、static、字符串、宏、条件编译、union、可变参数和文件 I/O。
  • 内存模型可移植性与并发 —— 字节序、函数栈帧、内存池、位操作、文件组织、volatile、堆栈与 const 指针。
  • 指针数组结构体与位图 —— 指针生命周期、内存错误、二级指针、字符串安全、二维数组、结构体对齐、文件定位和位图。
  • 位操作预处理内存分配与AUTOSAR —— 寄存器位操作、位域、可变参数、I/O 缓冲、X-Macro、malloc/free、严格别名和 AUTOSAR BSW C 实战。
  • 后续按函数、内存、结构体、预处理器、文件 I/O、多文件组织等主题继续拆分。
flowchart TD
  A[C语言 1000问] --> B[基础语法与类型]
  A --> C[指针 / 数组 / 字符串]
  A --> D[函数 / 内存 / 结构体]
  A --> E[预处理 / 文件 / 多文件]
  A --> F[未定义行为与可移植性]

相关

Flomo 迁移补充|1000问

函数、递归与可变参数(新增)

可变参数与文件 I/O(新增)

本轮题库完整性核验(2026-11-01)

  • 当前 C语言/1000问 目录共 17 篇 Markdown 答案页。
  • 对 17 篇页面逐一检查了标题结构和待补充标记;未发现 TODO、待回答或待完善占位。
  • 题目分布包括基础语法/指针/UB、函数与递归、内存模型/并发、位操作/预处理器、可变参数、文件 I/O、多文件组织等。
  • 这属于结构性完整性检查,不等于所有代码示例都已在每一种 MCU/编译器/ABI 上实测;涉及未定义行为、字节序、对齐和并发的内容仍应按目标平台验证。