值不值得学:先想清楚你要拿它解决什么问题

这份视频解读对应的是那本被翻烂了的经典教材,主题非常纯粹:用 C 语言把程序设计的底层逻辑讲透。它解决的场景不是让你立刻去写一个漂亮的网页,而是帮你处理底层开发、嵌入式、操作系统接口或者考研复习时,因为“指针怎么指、内存怎么分”没搞清而写不出代码、看不懂别人源码的窘境。如果你的工作是纯前端或业务层脚本,这门课的性价比不高;但如果你要往底层走,或者科班基础没打牢想重新补齐,这套资料就是把地基砸实的材料。它不承诺速成,只负责把整型、浮点、循环、函数递归到数组指针的来龙去脉给你理顺。

适合什么基础:别从半空中开始学

这套资料适合完全没碰过编程的零基础转行者,也适合只写过脚本但没碰过手动内存管理的上班族。课程从“程序设计过程”和编译器的基本使用讲起,默认你不懂任何语法,但要求你有一台能装下开发环境的电脑,并且能坐得住。如果你已经熟练掌握其他高级语言,只是想快速看一眼 C 的语法,可能会觉得前几个阶段的节奏偏慢;但如果你对“为什么字符型和整型能混用”“类型转换什么时候会丢精度”没把握,那就不算白看。建议先看数据类型转换和控制语句这几块,如果觉得能跟上讲师的推演节奏,再往函数和递归推进。

怎么用:资料配合练习的具体建议

看视频时不要只过眼睛,这门课的资料包是按阶段划分的,建议你每看完一个阶段就停下来,自己新建工程把课上的代码敲一遍。尤其是格式化输入输出、循环和分支这几块,把代码里的参数改掉,看看编译器报什么错,这比干看视频管用。到了函数与递归阶段,试着把课里的例子改成非递归写法对比;学到数组和指针时,务必打开调试器看内存地址的变化,这是这门课的核心。学完之后,你应该能独立写出一个带菜单的命令行小程序,能处理基本的用户输入,能定义函数组织逻辑,并且看懂涉及指针操作的底层代码。把这些基础打牢,后面再去学其他系统级语言,阻力会小很多。


第一阶段 初识程序设计第二阶段 熟练数据类型、字符串与表达式、语句第三阶段 掌握控制语句:循环与分支第四阶段 掌握函数与递归第五阶段 掌握数组和C语言的灵魂:

课程目录

*   第一阶段 初识程序设计/

  *   1、初识程序设计

  *   2、程序设计过程

  *   3、第一个程序

  *   4、VS2010的使用

*   第二阶段 熟练数据类型、字符串与表达式、语句/

  *   5、数据类型(1)--整型

  *   6、数据类型(2)--字符型

  *   7、数据类型(3)--浮点型

  *   8、字符串简介

  *   9、格式化输出 -- printf

  *   10、格式化输入 -- scanf

  *   11、表达式

  *   12、类型转换

  *   13、语句

*   第三阶段 掌握控制语句:循环与分支/

  *   14、循环程序设计(1)- while循环

  *   15、循环程序设计(2)-do……while循环

  *   16、循环程序设计(3)-计数循环

  *   17、循环程序设计(4)- continue和break

  *   18、分支程序设计(1)--两分支

  *   19、逻辑表达式

  *   20、分支程序设计(2)--多分支

  *   21、字符输入输出

*   第四阶段 掌握函数与递归/

  *   22、函数(1)

  *   23、函数(2)

  *   24、递归程序设计

  *   25、多源文件程序

*   第五阶段 掌握数组和C语言的灵魂:指针/

  *   26、更改主调程序中的变量—初识指针

  *   27、数组

  *   28、指针与一维数组

  *   29、指针与二维数组

  *   30、字符串详解

  *   31、字符串数组

  *   32、命令行参数

*   第六阶段 掌握存储类别、内存分配、文件输入/输出/

  *   33、变量的存储类别

  *   34、随机数

  *   35、动态内存分配

  *   36、永久保存数据—文件

  *   37、文件访问过程

  *   38、访问文本文件

  *   39、访问二进制文件

*   第七阶段 结构体与其他数据形式/

  *   40、复杂对象的表达—结构体

  *   41、联合体

  *   42、枚举类型

  *   43、指向函数的指针

  *   44、数值的内部表示

*   第八阶段 掌握位操作、预处理、C库/

  *   45、位操作

  *   46、预处理指令(1)

  *   47、预处理指令(2) -- #define

  *   48、预处理指令(3) -- #include

  *   49、常用的库(1)

  *   50、常用的库(2)

*   第九阶段 高级数据表示:链表、队列、二叉查找树/

  *   51、链表(1)--链接存储

  *   52、链表(2)--单链表的实现

  *   53、链表(3) --链表实例

  *   54、ADT

  *   55、单链表ADT

  *   56、队列(1)--队列ADT的实现

  *   57、队列(2)--队列的应用

  *   58、二叉查找树(1)--定义

  *   59、二叉查找树(2)--实现

  *   60、二叉查找树(3)--实现

*   视频/

  *   视频列表