# C 语言学习计划（细粒度版）

**课程**：黑马程序员《C 语言零基础入门到精通全套视频教程》
**链接**：[BV1Xa4y1k7LU](https://www.bilibili.com/video/BV1Xa4y1k7LU/)
**计划周期**：2026 年 8 月 16 日 ～ 2027 年 1 月
**目标**：在已学完「算术运算符」的基础上，补完「运算符」，再从「流程控制语句」学到「结构体」（第 33～145 集，第 30～32 集按复习处理）

---

## 一、课程概况

全集 **165 集，总时长约 26.5 小时**。章节结构如下：

| 章节 | 集数范围 | 集数 | 视频时长 | 说明 |
| --- | --- | --- | --- | --- |
| C 语言入门 | 1～6 | 6 | 1.1h | 开篇、环境搭建、HelloWorld |
| 核心语法 | 7～29 | 23 | 4.8h | 注释、常量、变量、进制、数据类型、键盘录入 |
| 运算符 | 30～46 | 17 | 3.0h | 算术、转换、自增自减、赋值、关系、逻辑、三元、逗号、优先级 |
| 流程控制语句 | 47～71 | 25 | 3.4h | if、switch、for、while、do-while、循环算法题 |
| 循环高级 | 72～82 | 11 | 1.4h | 无限循环、break/continue、图形打印、质数、goto |
| 函数 | 83～94 | 12 | 1.6h | 定义、形参、返回值、math/time 库、随机数、猜数字游戏 |
| 数组 | 95～113 | 19 | 3.0h | 定义、遍历、内存地址、查找算法、冒泡/选择排序 |
| 指针 + 指针高级 | 114～132 | 19 | 2.9h | 指针概念、指针运算、void、二级指针、数组指针、函数指针 |
| 字符串 | 133～138 | 6 | 1.1h | 两种定义方式、字符串数组、常用函数、登录/统计练习 |
| 结构体 | 139～145 | 7 | 1.4h | 定义、数组、起别名、作函数参数、嵌套、投票练习、内存对齐 |
| 共用体 | 146～148 | 3 | 0.4h | （超出本次目标，可选） |
| 动态内存分配 | 149～156 | 8 | 1.1h | （超出本次目标，可选） |
| 文件操作 | 157～165 | 9 | 1.2h | （超出本次目标，可选） |

### 你的本次任务（已修正）

- 已学完：第 1～29 集 + 第 30～32 集（算术运算符：加减乘除取余、数值拆分练习）
- 本次要学：
  - **运算符剩余部分：第 33～46 集**（隐式/强制转换 → 运算符优先级），约 2.4h 视频
  - **流程控制 → 结构体：第 47～145 集**，约 14.8h 视频
  - 合计约 **17.8h 视频**，按 1.5 倍速看约 12h，加上每集动手练习，**总投入约 35～40h**
- 第 30～32 集已学过，不占新课时间；如果你想巩固，可以 1.5 倍速快速重看一遍数值拆分练习

---

## 二、8 月逐日 · 逐时段计划（8/16～8/27 学新课，8/28～9/4 缓冲）

### 每天固定时段规则

- 周一 / 周二 / 周四 / 周六（下午有空）：**14:00–18:30**，晚上 19:00 后休息
- 周三 / 周五 / 周日（全天有空）：**9:30–11:30 + 14:00–18:00**，晚上 19:00 后休息
- 每个时段都按「看视频 → 动手写练习 → 整理笔记」的节奏进行；表中「视频时长」为原速，实际可按 1.5 倍速压缩

---

### 8/16（周日）运算符收尾 ①：算术 → 自增自减

| 时段 | 集数 | 内容 | 视频时长 |
| --- | --- | --- | --- |
| 9:30–10:20 | 30、31 | 算术运算符（加减乘 / 除法取余）【已学过，快速过】 | 19m |
| 10:30–11:20 | 32、33 | 数值拆分练习【复习】、隐式转换【新课】 | 22m |
| 14:00–14:50 | 34、35、36 | 强制转换、字符相加、算术运算符小结 | 15m |
| 15:00–15:50 | 37、38 | 自增自减运算符、扩展用法（重点课） | 30m |
| 16:00–18:00 | — | 练习：数值拆分、类型转换、i++/++i 对比手写 | — |

### 8/17（周一）运算符收尾 ②：赋值 → 优先级

| 时段 | 集数 | 内容 | 视频时长 |
| --- | --- | --- | --- |
| 14:00–14:50 | 39、40 | 赋值运算符、关系运算符 | 14m |
| 15:00–15:50 | 41、42 | 逻辑运算符、逻辑运算符的练习 | 22m |
| 16:00–16:50 | 43、44、45 | 逻辑短路效果、三元运算符、逗号运算符 | 26m |
| 17:00–18:00 | 46 | 运算符的优先级（大课，建议正常速度看） | 30m |
| 18:00–19:00 | — | 练习：优先级判断、逻辑短路、三元表达式 | — |

### 8/18（周二）流程控制 ①：if / switch

| 时段 | 集数 | 内容 | 视频时长 |
| --- | --- | --- | --- |
| 14:00–14:50 | 47、48 | 顺序结构、if 第一种格式 | 21m |
| 15:00–15:50 | 49、50、51 | if 第二/三种格式 + 练习 | 25m |
| 16:00–16:50 | 52、53 | 第三种格式练习、switch 语句 | 18m |
| 17:00–18:00 | 54、55 | switch 的细节、case 穿透 | 28m |
| 18:00–19:00 | — | 练习：if-else 判断、switch 菜单选择 | — |

### 8/19（周三）流程控制 ②：for / while 全系列

| 时段 | 集数 | 内容 | 视频时长 |
| --- | --- | --- | --- |
| 9:30–10:20 | 56、57、58 | for 循环基本格式、执行流程、VC 写法 | 20m |
| 10:30–11:20 | 59、60、61 | 正向/逆向打印、累加求和、变量生命周期 | 23m |
| 14:00–14:50 | 62、63、64 | 求偶数和、统计思想、while 循环 | 21m |
| 15:00–15:50 | 65、66、67 | for 与 while 区别、2 的次幂、折纸问题 | 26m |
| 16:00–16:50 | 68、69、70 | 整数反转、平方根、回文数 | 20m |
| 17:00–18:00 | 71 + 练习 | do-while + 循环算法题练习 | 5m |

### 8/20（周四）循环高级

| 时段 | 集数 | 内容 | 视频时长 |
| --- | --- | --- | --- |
| 14:00–14:50 | 72、73、74 | 无限循环、break、continue | 19m |
| 15:00–15:50 | 75、76、77 | 打印矩形、直角三角形、九九乘法表 | 21m |
| 16:00–16:50 | 78、79 | 制表符详解、统计质数 | 20m |
| 17:00–18:00 | 80、81、82 | 幂级数列、特殊数字、跳出多层循环和 goto | 23m |
| 18:00–19:00 | — | 练习：打印图形、质数、嵌套循环 | — |

### 8/21（周五）函数

| 时段 | 集数 | 内容 | 视频时长 |
| --- | --- | --- | --- |
| 9:30–10:20 | 83、84、85 | 什么是函数、基本格式、两数之和 | 14m |
| 10:30–11:20 | 86、87 | 形参函数、返回值函数 | 21m |
| 14:00–14:50 | 88、89 | 函数注意事项、math 常见函数 | 20m |
| 15:00–15:50 | 90、91 | time 函数、随机数 | 18m |
| 16:00–16:50 | 92、93 | 随机数的两个弊端 | 19m |
| 17:00–18:00 | 94 + 练习 | 猜数字小游戏（边看边写） | 6m |

### 8/22（周六）数组 ①：定义与内存

| 时段 | 集数 | 内容 | 视频时长 |
| --- | --- | --- | --- |
| 14:00–14:50 | 95、96、97 | 什么是数组、定义、初始化 | 18m |
| 15:00–15:50 | 98、99 | 元素访问、遍历 | 14m |
| 16:00–16:50 | 100、101 | 内存和内存地址、数组在内存中的剖析（重点） | 25m |
| 17:00–18:00 | 102 + 练习 | 数组常见问题 + 数组遍历练习 | 15m |
| 18:00–19:00 | — | 练习：数组初始化、访问越界实验 | — |

### 8/23（周日）数组 ②：算法与排序

| 时段 | 集数 | 内容 | 视频时长 |
| --- | --- | --- | --- |
| 9:30–10:20 | 103、104 | 求最值、数组求和（基础版） | 15m |
| 10:30–11:20 | 105、106 | 数组求和（升级版）、反转数组 | 20m |
| 14:00–14:50 | 107、108、109 | 打乱数组、基本查找、二分查找（重点） | 30m |
| 15:00–15:50 | 110、111 | 插值查找、分块查找和哈希查找 | 17m |
| 16:00–17:00 | 112 | 冒泡排序（重点，正常速度看） | 18m |
| 17:00–18:00 | 113 + 练习 | 选择排序 + 手写两种排序 | 9m |

### 8/24（周一）指针 ①：入门

| 时段 | 集数 | 内容 | 视频时长 |
| --- | --- | --- | --- |
| 14:00–14:50 | 114、115 | 什么是指针、第一个作用 | 24m |
| 15:00–15:50 | 116、117、118 | 第一个作用细节、第二个作用、第三个作用 | 17m |
| 16:00–16:50 | 119、120 | 指针的运算、有意义/无意义的操作 | 17m |
| 17:00–18:00 | 121、122 | 野指针和悬空指针、void 类型指针 | 19m |
| 18:00–19:00 | — | 练习：取地址、解引用、指针交换变量 | — |

### 8/25（周二）指针 ②：二级指针与数组指针

| 时段 | 集数 | 内容 | 视频时长 |
| --- | --- | --- | --- |
| 14:00–14:50 | 123、124 | 二级指针和多级指针、数组指针 | 18m |
| 15:00–15:50 | 125、126 | 数组指针细节、索引遍历二维数组① | 23m |
| 16:00–16:50 | 127、128 | 索引遍历二维数组②、指针遍历二维数组① | 24m |
| 17:00–18:00 | 129 + 练习 | 指针遍历二维数组② + 二维数组指针练习 | 7m |
| 18:00–19:00 | — | 练习：二级指针、数组指针遍历 | — |

### 8/26（周三）指针 ③：函数指针 + 字符串

| 时段 | 集数 | 内容 | 视频时长 |
| --- | --- | --- | --- |
| 9:30–10:20 | 130、131、132 | 数组指针和指针数组、函数指针、函数指针数组练习 | 21m |
| 10:30–11:20 | 133、134 | 字符串两种定义方式、键盘录入并遍历 | 27m |
| 14:00–14:50 | 135、136 | 字符串数组、字符串常见函数 | 24m |
| 15:00–15:50 | 137、138 | 用户登录练习、统计次数练习 | 18m |
| 16:00–18:00 | — | 练习：字符串函数应用、登录/统计代码重写 | — |

### 8/27（周四）结构体（收官）

| 时段 | 集数 | 内容 | 视频时长 |
| --- | --- | --- | --- |
| 14:00–14:50 | 139、140 | 结构体定义、结构体数组 | 17m |
| 15:00–15:50 | 141、142 | 起别名、结构体作函数参数 | 24m |
| 16:00–16:50 | 143、144 | 结构体嵌套、投票选举综合练习 | 23m |
| 17:00–18:00 | 145 | 内存对齐（重点，正常速度看） | 18m |
| 18:00–19:00 | — | 练习：学生信息录入 + 结构体综合 | — |

---

## 三、8/28～9/4 缓冲与巩固

| 日期 | 星期 | 安排 |
| --- | --- | --- |
| 8/28 | 五 | 总复习：重看难点（指针、排序、内存对齐），重做错题 |
| 8/29 | 六 | 重做所有练习中卡壳的题目，整理错题本 |
| 8/30 | 日 | 小项目：用数组 + 结构体 + 排序写「学生成绩管理系统」 |
| 8/31 | 一 | 刷 5～10 道基础题，保持手感 |
| 9/1～9/4 | 二～五 | 缓冲：补未完成的视频/练习，或自由复习 |

> 如果 8 月某天有事落下：优先把 8/17、8/24、8/25 的指针/运算符内容顺延到 8/28～9/4；再不够，开学后每周日也能消化（见下）。

---

## 四、开学后每周节奏（9/5 起）

开学后课程较密集，平时不安排新内容，以**周日为主战场、周六下午为加餐**：

| 时间 | 安排 |
| --- | --- |
| 周日 9:30–12:00 | 复习一个专题 + 专项练习（2.5h） |
| 周日 14:30–17:00 | 刷题 / 小项目 / 期末备考（2.5h） |
| 周六 14:00–17:00 | 可选加餐：本周没完成的内容、错题重做 |
| 周中零散时间 | 只做轻量复习：看笔记、手机上刷 2～3 道题 |

### 月度安排（9 月～1 月）

| 月份 | 内容 | 目标 |
| --- | --- | --- |
| 9 月 | 复习数组与指针（最难点）；刷 PTA / 牛客基础题 20 道；做「学生成绩管理系统」 | 开学适应期，先稳住已学内容 |
| 10 月 | 复习字符串与结构体；做「通讯录管理系统」（结构体 + 数组综合）；刷题 20 道 | 结构体知识达到能独立写小项目 |
| 11 月 | 强化排序、查找、字符串处理算法；刷题 20 道；准备期中考试 | 期中不拖后腿 |
| 12 月 | 全面复习（运算符 → 结构体全部内容）；做期末模拟题；整理错题本 | 进入期末备考状态 |
| 1 月 | 配合学校 C 语言课程/考试冲刺；1～2 套综合题；项目收尾 | 期末稳过，基础扎实 |

### 可选进阶（学有余力时）

主线之外还有 3 个小节，总共约 2.7h 视频，**一月份之后或平时有空可以顺手补掉**：

- 共用体 / 联合体（146～148）
- 动态内存分配：malloc、内存结构（149～156）
- 文件操作：fgetc / fgets / fread、拷贝文件练习（157～165）

---

## 五、学习方法建议

1. **倍速策略**：概念类视频 1.5～2 倍速；指针、内存对齐、运算符优先级、排序算法等难点用正常速度，看不懂就反复看。
2. **先写后看**：视频里的每个练习先自己实现，写完再对答案；写不出来至少把思路写下来。
3. **笔记 + 错题本**：记录易混点（如 `i++` vs `++i`、隐式/强制转换、数组越界、野指针、`scanf` 取地址符），期末复习全靠它。
4. **善用 Python 基础**：`if/for/while/函数` 语法和 Python 很像，可以快速过；重点补 C 独有的东西——数据类型与转换、指针、内存、编译运行过程。
5. **环境**：视频里有 VS 版和 VC 版，选一个跟练即可，推荐 VS（Visual Studio 2022 Community，免费）。
6. **刷题平台**：PTA（拼题 A）、牛客网 C 语言题库、洛谷（挑入门难度的题），开学后每周固定刷几道。
7. **别中断超过 3 天**：C 语言是手感学科，中断一周容易生疏；开学后哪怕每天只做 1 道题也能保持状态。

---

## 六、里程碑检查点

| 时间 | 检查点 | 通过标准 |
| --- | --- | --- |
| 8/17 结束 | 运算符全部收尾 | 能解释隐式/强制转换、自增自减、逻辑短路、优先级 |
| 8/21 结束 | 流程控制 + 循环高级 + 函数 | 能独立写出猜数字小游戏 |
| 8/23 结束 | 数组 | 能手写冒泡排序和二分查找 |
| 8/27 结束 | 指针 + 字符串 + 结构体 | 视频全部看完，练习全部敲完 |
| 8/31 结束 | 缓冲复习 | 能不看笔记讲清指针的作用 |
| 10 月底 | 结构体综合运用 | 独立完成通讯录管理系统 |
| 12 月底 | 期末备考 | 错题本整理完毕，模拟题正确率达标 |
| 1 月 | 期末收尾 | 配合学校考试完成冲刺 |

祝学习顺利！8 月坚持到 8/27，主线就全部结束了，开学后会非常轻松。
