零基础C语言视频教程合集(全144讲)

发布于 更新于
36
点击解锁视频
播放列表当前 1/23

1、吕鑫2025C#上位机课程大纲_转_标准免费

2.
2、人工智能与自动化设备开发简介_转_标准免费

3.
3、VS2022安装与简单程序开发演示_转_标准免费

4.
4、关于C#新型语言生态系统的讨论

5.
5、C语言简单控制台程序开发的演示

6.
6、编译原理与操作系统启动程序的原理

7.
7、通过反复的程序调试理解内存变量的原理

8.
8、变量的定义方法与代码注释的作用

9.
9、变量的不同类型与printf对应的控制符

10.
10、scanf的用法演示以及与printf函数的对比

11.
11、scanf的参数必须取地址否则将出现程序崩溃

12.
12、C语言全部课程大纲

13.
13、单精度和双精度浮点数的区别

14.
14、ifelse单分支语句和双分支语句

15.
15、多分支语句和while循环语句

16.
16、通过双分支语句判断奇偶数

17.
17、通过多分支语句判断正负数

18.
18、通过多分支语句判断年龄区间

19.
19、通过while循环语句判断用户输入的密码

20.
20、讲解dowhile与while语句的区别

21.
21、代码演示dowhile与while语句的区别

22.
22、讲解和演示空循环和死循环的概念

23.
23、for循环语句的特点及与while语句的区别

下载 1-3练习作业

资源选择

获取方式

已下载 0 次 评分 5
详情介绍

这套 C 语言视频课一共 144 讲,讲法是”从硬件那一侧往上看软件”。不少教程一上来就带你打印 Hello World,然后背语法,背完还是不知道指针到底在干嘛。这门课的起点不一样:第 1 讲先把课程大纲和上位机开发的学习路线铺开,第 2 讲聊聊人工智能与自动化设备开发是怎么回事,第 3 讲装上 VS2022 跑通第一个程序,第 4 讲讨论 C# 的语言生态,第 5 讲用 C 写一个控制台程序做对比。先把坐标系建好,再往下走。

接下来这段是很多人会跳过的,但恰恰决定了后面能不能学通。第 6 讲讲编译原理,讲操作系统是怎么把一个程序从磁盘拉进内存跑起来的;第 7 讲用反复调试同一个程序的办法,让你亲眼看到变量在内存里是怎么摆放的。这一段听懂了,后面打开调试器的内存窗口才不会发懵,那一串十六进制数你才知道对应的是什么。

C 语言课程学习路线:从环境搭建到信息管理项目实战的五个阶段
课程按课时顺序分成五个阶段,前两段打基础,中间三段全部围绕指针和数据结构展开。

第 34 讲往下的二进制、十六进制、符号位、变量溢出,不是照着 PPT 念结论。课程用 sizeof 配合循环,把 1 到 8 个字节的整型取值范围一个个算出来,算完你就明白为什么 char 是 -128 到 127、为什么 255 再加 1 会变成 0。第 37 讲通过写循环程序求 64 位整型的最大值,第 39 讲把 sizeof 和二进制、十进制的转换算法放在一起讲,第 41 讲还用位运算反复优化同一个程序的执行效率。运算符优先级、ASCII 表、转义字符,以及 printf 和 scanf 的各种控制符集中放在第 50 到 58 讲,第 52 讲专门解释 scanf 为什么不安全、scanf_s 该怎么用,第 54 讲把回车和换行的区别讲透——这些是后面写代码时每天都要查的东西,早点搞熟省事。

数组和字符串这一块几乎全是动手题。第 62 讲用 sizeof 和 _countof 求数组元素个数,第 63 讲演示数组越界访问内存的严重 bug,第 64 到 67 讲连着做四道算法题:求最大值最小值、多种方法实现反序、元素查找、排列组合里搜索相同的对数。第 68 讲讲用和差算法等几种办法交换变量,第 69 讲通过反复测试来理解随机数和时间函数。第 72、73 讲是两个经典 bug 分析——strcpy 和 strcat 调用时数组越界之后内存里到底发生了什么;讲这个不是让你记住”要用 strncpy”,而是让你看到越界写坏的是哪块地址。

函数从第 74 讲展开。第 76 讲用九次改写,一步步完善和优化 strcpy 函数的实现原理;第 77 讲用最简易高效的方式实现 strcat;第 78 讲演示数组做形参时的经典 bug 和解决方案。第 79、80 讲深入拆解 strcmp 的比较条件与算法优化,第 81 讲通过反复测试剖析冒泡排序的过程。后面延伸到多源文件的工程管理,以及编译和连接这两个动作到底做了什么。

指针是这门课花时间最多的部分,第 83 到 94 讲几乎每一节都开着内存监视器在讲。第 83 讲用内存观测器引入指针变量的概念与定义,第 84 讲演示通过指针遥控内存里的变量改变数值,第 85 讲用三种 swap 函数对比指针做参数对实参的不同影响,第 86 讲看指针做参数对数组变量的影响,第 87 讲利用指针偏移实现高级内存操作,第 89、90 讲梳理不同类型指针操作内存时的长度、以及指针升降级符号之间的等价关系。第 91 到 94 讲用指针法重写 strcpy,并把 strchr、strpbrk 的原理和指针减法计算一起实现一遍。全部落在地址和字节的层面上,能一条一条对上号。

C 语言指针变量与内存视图:指针保存的是变量的内存地址
指针 p 里存的不是 66,而是变量 a 的内存地址;*p 就是顺着这个地址找到那块内存。

指针这一段啃下来,结构体、内存四区、malloc 与 free 就顺理成章了。第 95 到 97 讲讲结构体的概念、定义和成员调用,以及 typedef 与 struct 的复杂定义方式;第 98 讲开始用结构体数组做信息管理,第 99 到 101 讲通过内存监视观察结构体对象、结构体指针做形参时对实参的影响。第 102、103 讲从编译原理和程序加载原理出发,把栈区、堆区、全局区、代码区这四块内存分清楚。第 105 讲顺带讲了匈牙利命名法和大小驼峰命名法,第 108 到 111 讲跨文件工程怎么组织、编译与连接在其中扮演什么角色。

后半段是三个能拿得出手的项目,而且是用同一个需求反复重写。第 98 讲先用结构体数组做一版信息管理,固定容量、下标访问、新增修改删除、多列排序;第 112、113 讲把界面和算法拆成业务层与算法层两层,工程结构第一次成形;第 114 到 120 讲补上动态数组的节点删除算法、fopen 与 fread/fwrite 文件读写、项目数据存取、二级菜单选择排序方式、自定义头文件,以及多列数据排序功能;第 121 到 126 讲正式换成 malloc 动态内存分配,容量按需增长,把动态数组项目的架构设计、文件加载、数据修改、多列排序完整实现一遍;第 131 到 138 讲再升级成单向链表,头插法与尾插法、软件架构分析、数据的保存加载、修改删除,以及选择排序在链表上的实现。四个版本功能一模一样,差别只在底层的数据结构——这才是这门课最值钱的地方。数据统一用 fopen、fread、fwrite 存在本地文件里,程序下次启动自动加载回来。

C 语言信息管理项目的四个版本:结构体数组、业务层与算法层、动态数组、单向链表
同一个信息管理项目重写四遍,需求不变,底层数据结构从固定数组一路升级到单向链表。

最后收在上班最常踩坑的语法上。第 127 讲到 130 讲讲预定义语句与宏函数、#if 条件编译的各种应用场景与系统内置宏,以及 const、define、enum 三种常量定义的语法区别;第 139 讲 union 共用体;第 140 讲结构体字节对齐的问题与设置方法,这一条在和硬件寄存器打交道时特别重要;第 141 到 144 讲二维数组的定义与调用、三种方法实现随机浮点数生成、RAND_MAX 与 0 到 1 之间小数的生成原理,以及二维数组的横向纵向统计功能开发;第 145 讲顺带把 C 与标准 C++ 的概念和区别讲清楚,方便你判断下一步该往哪走。

这套课适合谁来学:想转嵌入式或者上位机开发、但 C 基础一直不牢的;电子、自动化、机电专业还在读书的;工作里要读别人写的驱动代码、经常被指针和结构体绕晕的。学之前不用会编程,能装软件、能坐得住就行。建议从第 1 讲顺着往下看,每讲的代码自己敲一遍再走下一讲,比倍速刷完有用得多。

视频已经按课时编号排好,也可以直接在下面的目录里点着跳。

课程目录(按课时顺序)

 

常见问题(FAQ)

这门 C 语言视频课一共多少讲?适合零基础吗?
课程共 144 讲,从第 1 讲课程大纲和第 3 讲安装 VS2022 跑通第一个程序开始,不需要编程基础,能装软件、能坐得住即可。建议从第 1 讲顺着往下看,每讲代码自己敲一遍再进入下一讲。
这门课和常见的 C 语言教程有什么不同?
常见教程从打印 Hello World 开始背语法,这门课从硬件那一侧往上看软件:先讲编译原理和程序如何从磁盘加载进内存,再用内存监视器反复调试同一个程序,让你亲眼看到变量在内存里的摆放。指针部分几乎每节都开着内存监视器讲解,全部落在地址和字节层面。
课程中指针部分是怎么讲的?
第 83 到 94 讲集中讲指针,用内存观测器引入指针变量、演示通过指针遥控内存改变数值、用三种 swap 函数对比指针做参数的影响、利用指针偏移实现高级内存操作,并用指针法重写 strcpy,实现 strchr、strpbrk 原理和指针减法计算。核心结论是指针 p 里存的不是 66,而是变量 a 的内存地址,*p 就是顺着地址找到那块内存。
课程里的项目实战是怎么安排的?
同一个信息管理项目重写四遍,需求不变,底层数据结构从固定数组升级到动态数组再到单向链表。第 98 讲用结构体数组做第一版,第 112 到 126 讲拆分层级并换成 malloc 动态内存分配,第 131 到 138 讲升级成单向链表,实现头插法、尾插法、数据保存加载、修改删除和链表上的选择排序。数据统一用 fopen、fread、fwrite 存在本地文件,程序下次启动自动加载。
这门课适合哪些人学?学完能做什么?
适合想转嵌入式或上位机开发但 C 基础不牢的、电子自动化机电专业在读的、工作中需要读别人驱动代码且常被指针和结构体绕晕的人。学完能理解编译连接过程、内存四区、指针与数组的底层关系,能独立完成基于固定数组、动态数组和单向链表的数据管理项目,并具备继续学习 C++ 或嵌入式开发的基础。
0 / 600
0 讨论
热门最新
总结
暂无总结
嗨,下午好!
所有的成功,都源自一个勇敢的开始
相关文章