资源简介
如果通向大牛的道路有捷径,那就是先学好C语言
每个优秀开发者都应该精通C语言,这门课程专为所有没学过、没学好C语言的同学打造,精通多种语言的技术专家bennyhuo独家分享,带你系统、高效、啃透C语言这个硬骨头!
超越大学同类课程,让知识更有趣、让学习更简单、让收获更扎实
体系化技能,0基础入门,原理+实践,一课吃透C语言
课程目录
-代码开始第1章 课程导学
代码结束-
本章作为课程内容引入,主要介绍课程结构,课程的学习方法等。希望你能通过这门课程彻底掌握程序语言的“道”和“术”。
共 2 节 (7分钟)
1-1 课前必读
1-2 课程介绍与学习指南
第2章 C语言必备基础
本章主要讲解演示编译环境搭建,IDE配置,调试方法,代码规范风格等内容,为课程后续内容做足准备工作。
共 5 节 (43分钟)
2-1 环境搭建【CLion/MSVC/MinGW】
2-2 第一行C语言代码【cmake工程结构】
2-3 程序调试方法
2-4 C语言的代码风格【Google C CodeStyle/CLion配置代码风格】
2-5 【加餐】背景知识
第3章 C语言快速入门
本章核心是对C语言的基本数据类型、变量常量、运算符、分支和循环语句等必备知识进行讲解,适合零基础的同学快速上手,也适合C语言基础薄弱的同学查缺补漏。
共 10 节 (132分钟)
第4章 函数与程序结构
本章讲解C语言中函数的声明、实现以及使用方法,变量的类型和作用域。本章最后还会为你定制一个经典的汉诺塔的问题来实践函数的递归。相信通过本章的学习,你就可以独立完成一些基本功能的程序开发了。
共 6 节 (55分钟)
第5章 预处理和宏
本章讲解C语言的预处理和宏的使用方法,包括文件包含、条件编译、宏函数等特性的理解和应用。本章最后会带你深度对比宏和函数实现一个方便打印输出的PRINTLNF 宏。
共 5 节 (53分钟)
第6章 玩转数组
本章将带你吃透C语言中的数组,包括数组在内存当中的存储形式,字符串的基本概念,数组作为函数参数传递等内容。本章最后也会带你就数组元素的排序这一经典问题进行实践,加深对数组本身的理解。
共 7 节 (62分钟)
第7章 吃透指针
本章将带你吃透C语言的指针,包括指针的运算、函数参数传递以及返回值的内存复制过程、动态内存分配、函数指针等特性的分析及应用。本章最后还会结合宏和指针深度剖析一个简单的交换变量值的多种实现方法以及指针版本的快速排序算法的实现。...
共 10 节 (106分钟)
第8章 聚合数据类型
本章将讲解C语言的聚合数据类型,包括结构体、联合体、枚举等特性及应用,也重点剖析结构体的内存对齐特性,本章最后会结合前面的知识给出字节序判断和单链表的基本实现的案例。
共 6 节 (76分钟)
第9章 字符串的应用
本章将讲解标准库中对字符串提供的支持,包括窄字符与宽字符相关的字符类型判断,字符串比较、连接、复制,原始内存的清除、复制、移动等工具函数的应用,以及窄字符与宽字符的转换函数及编码设置的方法,最后会对C99新增的restrict、C11新增的安全版本函数做分析。...
共 10 节 (73分钟)
第10章 时间的应用
本章将讲解标准库中对时间提供的支持,包括计算机软件当中各类常见的时间概念,获取系统时间、日历时间的方法,时间的格式化和解析的方法等,由于各平台对时间的支持存在一定差异,我们使用条件编译实现一个跨平台的毫秒时间戳的获取函数,为你编写跨平台的代码提供思路。...
共 6 节 (49分钟)
第11章 文件的输入输出
本章将讲解标准库中对文件输入输出的支持,包括文件流的概念,文件流按字符、按行、按字节读写函数的使用,并使用多个版本的文件复制的案例贯穿全章,在对比和迭代当中深刻理解不同的读写方式之间的差异,加深你对文件流缓冲等概念的理解。...
共 14 节 (125分钟)
第12章 线程与并发
本章将讲解C语言标准库从C11引入的线程以及并发相关知识。线程和并发是开发人员的必备基础,本章内容除了帮助你在实践当中更好地了解诸如pthread这样的线程库以外,对于其他现代语言的学习也是非常有益的。本章最后综合所学完成处理复杂的线程返回结果、并发任务执行与函数回调两个实践案例。...
共 10 节 (74分钟)
第13章 编译、链接和库
本章将基于gcc讲解C语言编译过程中的各个环节和细节,帮助你了解C语言是如何从源码一步一步编译成最后的可执行文件,也会讲解如何将自己的模块作为依赖导出,如何使用conan来管理第三方依赖,本章最后还会以C++和Java为例传授你如何使用其他语言来调用C语言库。...
共 7 节 (59分钟)
第14章 GUI 编程实践
本章将讲解Linux桌面GUI的主流开发技术GTK+,基于该框架了解如何使用C语言开发 GUI应用,掌握如何实现跨平台的GUI应用程序开发(支持Windows/macOS/Linux),还将了解使用GTK+开发GUI程序的基本方法,包括如何创建Window,通过css来编辑控件样式,使用Glade快速完成UI布局等。最后我们将仿照macOS的计算器实现一个功能相对...
共 10 节 (132分钟)
第15章 综合案例:桌面跨平台高仿Mac版计算器
本章将综合前面所学,带大家从案例需求分析开始,到核心模块的接口设计,再到核心模块的业务逻辑及UI实现,手把手打造一款桌面跨平台高仿Mac版计算器。
共 8 节 (86分钟)
第16章 综合案例:桌面跨平台的下载工具
本章作为课程最后的综合案例,将带你从零开始开发一个桌面跨平台的下载工具,包括使用Conan管理依赖,使用GTK+开发UI,使用curl访问网络,使用sqlite来存储任务,使用独立的线程来承载下载任务等等。本章综合性较强,我们力求尽可能多地覆盖课程当中所学的知识,帮助大家进一步加深对C语言的认识和理解,培养使用C语言构建...
共 14 节 (172分钟)
第17章 课程总结
本章作为课程的最后一章,我们将带你整体梳理课程所学的内容,并提供一些后续的学习建议,在课程问答区老师等着与你进一步交流。
资源目录
/030-463-C语言系统化精讲 重塑你的编程思想 打造坚实的开发基础(完结) [3.8G]
┣━━第10章 时间的应用 [157.4M]
┃ ┣━━[天下无鱼][shikey.com]10-1 时间的基本概念.mp4 [20.6M]
┃ ┣━━[天下无鱼][shikey.com]10-2 获取系统时间.mp4 [43.3M]
┃ ┣━━[天下无鱼][shikey.com]10-3 获取日历时间.mp4 [31.5M]
┃ ┣━━[天下无鱼][shikey.com]10-4 格式化时间.mp4 [22.7M]
┃ ┣━━[天下无鱼][shikey.com]10-5 解析时间.mp4 [27.8M]
┃ ┗━━[天下无鱼][shikey.com]10-6 计算时间差.mp4 [11.5M]
┣━━第11章 文件的输入输出 [363.4M]
┃ ┣━━[天下无鱼][shikey.com]11-1 输入输出流.mp4 [35.6M]
┃ ┣━━[天下无鱼][shikey.com]11-10 格式化文本的输入输出.mp4 [14.2M]
┃ ┣━━[天下无鱼][shikey.com]11-11 案例:重定向标准输入输出流.mp4 [23.5M]
┃ ┣━━[天下无鱼][shikey.com]11-12 案例:统计文件字符个数.mp4 [25.9M]
┃ ┣━━[天下无鱼][shikey.com]11-13 输入输出流的位置.mp4 [20.4M]
┃ ┣━━[天下无鱼][shikey.com]11-14 其他常见的文件操作.mp4 [31.7M]
┃ ┣━━[天下无鱼][shikey.com]11-2 文件流的缓冲.mp4 [22.8M]
┃ ┣━━[天下无鱼][shikey.com]11-3 读写一个字符.mp4 [15.8M]
┃ ┣━━[天下无鱼][shikey.com]11-4 案例:复制文件-1.mp4 [27.1M]
┃ ┣━━[天下无鱼][shikey.com]11-5 读写一行字符.mp4 [17.2M]
┃ ┣━━[天下无鱼][shikey.com]11-6 案例:复制文件-2.mp4 [37.9M]
┃ ┣━━[天下无鱼][shikey.com]11-7 读写指定大小的字节.mp4 [24.4M]
┃ ┣━━[天下无鱼][shikey.com]11-8 案例:序列化和反序列化的基本实现.mp4 [44M]
┃ ┗━━[天下无鱼][shikey.com]11-9 案例:复制文件-3.mp4 [22.9M]
┣━━第12章 线程与并发 [208.1M]
┃ ┣━━[天下无鱼][shikey.com]12-1 线程基础.mp4 [13.7M]
┃ ┣━━[天下无鱼][shikey.com]12-10 案例:并发任务执行与函数回调.mp4 [37M]
┃ ┣━━[天下无鱼][shikey.com]12-2 线程的基本用法.mp4 [33.2M]
┃ ┣━━[天下无鱼][shikey.com]12-3 资源的线程安全问题.mp4 [22.3M]
┃ ┣━━[天下无鱼][shikey.com]12-4 volatile.mp4 [8.3M]
┃ ┣━━[天下无鱼][shikey.com]12-5 原子类型.mp4 [28.7M]
┃ ┣━━[天下无鱼][shikey.com]12-6 锁.mp4 [16M]
┃ ┣━━[天下无鱼][shikey.com]12-7 Thread Local.mp4 [23.9M]
┃ ┣━━[天下无鱼][shikey.com]12-8 副作用与纯函数.mp4 [7.3M]
┃ ┗━━[天下无鱼][shikey.com]12-9 案例:处理复杂的线程返回结果.mp4 [17.7M]
┣━━第13章 编译、链接和库 [222.3M]
┃ ┣━━[天下无鱼][shikey.com]13-1 可执行程序的编译过程.mp4 [44.1M]
┃ ┣━━[天下无鱼][shikey.com]13-2 静态链接库的构建和使用.mp4 [27.2M]
┃ ┣━━[天下无鱼][shikey.com]13-3 动态链接库的编译和使用.mp4 [24.8M]
┃ ┣━━[天下无鱼][shikey.com]13-4 使用CMake完成库的编译和链接.mp4 [32.4M]
┃ ┣━━[天下无鱼][shikey.com]13-5 使用Conan管理依赖.mp4 [42.5M]
┃ ┣━━[天下无鱼][shikey.com]13-6 使用C++调用C程序.mp4 [31.3M]
┃ ┗━━[天下无鱼][shikey.com]13-7 使用Java调用C.mp4 [19.8M]
┣━━第14章 GUI 编程实践 [463.4M]
┃ ┣━━[天下无鱼][shikey.com]14-1 GUI开发概述【各平台GUI方案】.mp4 [6.2M]
┃ ┣━━[天下无鱼][shikey.com]14-10 GTK的内存管理.mp4 [60.4M]
┃ ┣━━[天下无鱼][shikey.com]14-2 安装GTK【安装GTK的各种问题解决】.mp4 [43.6M]
┃ ┣━━[天下无鱼][shikey.com]14-3 编写第一个GTK程序.mp4 [57.2M]
┃ ┣━━[天下无鱼][shikey.com]14-4 为GTK应用配置主题.mp4 [64.9M]
┃ ┣━━[天下无鱼][shikey.com]14-5 使用Xml完成布局.mp4 [36.6M]
┃ ┣━━[天下无鱼][shikey.com]14-6 使用Glade完成布局【提高布局开发效率的大招】.mp4 [52.3M]
┃ ┣━━[天下无鱼][shikey.com]14-7 扩展:使用CSS调整控件样式.mp4 [50.1M]
┃ ┣━━[天下无鱼][shikey.com]14-8 打包发布GTK程序.mp4 [56M]
┃ ┗━━[天下无鱼][shikey.com]14-9 GTK的面向对象设计理念.mp4 [36.1M]
┣━━第15章 综合案例:桌面跨平台高仿Mac版计算器 [264.4M]
┃ ┣━━[天下无鱼][shikey.com]15-1 案例效果展示.mp4 [5.1M]
┃ ┣━━[天下无鱼][shikey.com]15-2 计算器核心模块接口设计.mp4 [32.1M]
┃ ┣━━[天下无鱼][shikey.com]15-3 使用控制台调试计算器的输入输出.mp4 [23.3M]
┃ ┣━━[天下无鱼][shikey.com]15-4 测试用例编写与单元测试.mp4 [33.8M]
┃ ┣━━[天下无鱼][shikey.com]15-5 计算器核心逻辑实现-1.mp4 [29.9M]
┃ ┣━━[天下无鱼][shikey.com]15-6 计算器核心逻辑实现-2.mp4 [39.6M]
┃ ┣━━[天下无鱼][shikey.com]15-7 计算器UI布局开发.mp4 [25.1M]
┃ ┗━━[天下无鱼][shikey.com]15-8 计算器UI逻辑接入及案例最终完整实现.mp4 [75.5M]
┣━━第16章 综合案例:桌面跨平台的下载工具 [662.9M]
┃ ┣━━[天下无鱼][shikey.com]16-1 案例基本功能及环境配置介绍.mp4 [24.5M]
┃ ┣━━[天下无鱼][shikey.com]16-10 窗口内存泄漏的分析与解决.mp4 [32.5M]
┃ ┣━━[天下无鱼][shikey.com]16-11 实现下载任务列表-1.mp4 [64.1M]
┃ ┣━━[天下无鱼][shikey.com]16-12 实现下载任务列表-2.mp4 [47M]
┃ ┣━━[天下无鱼][shikey.com]16-13 实现下载任务列表-3.mp4 [71.4M]
┃ ┣━━[天下无鱼][shikey.com]16-14 下载软件的功能演示.mp4 [17.3M]
┃ ┣━━[天下无鱼][shikey.com]16-2 SQLite数据库引入及封装.mp4 [75.8M]
┃ ┣━━[天下无鱼][shikey.com]16-3 实现对任务数据结构的增删改查.mp4 [27.8M]
┃ ┣━━[天下无鱼][shikey.com]16-4 CURL的引入及下载逻辑的封装.mp4 [62.3M]
┃ ┣━━[天下无鱼][shikey.com]16-5 文件名的解析及下载逻辑的验证.mp4 [82.2M]
┃ ┣━━[天下无鱼][shikey.com]16-6 线程池的引入以及下载相关接口的封装.mp4 [61.7M]
┃ ┣━━[天下无鱼][shikey.com]16-7 下载软件UI布局的介绍.mp4 [7.1M]
┃ ┣━━[天下无鱼][shikey.com]16-8 实现下载任务的添加-1.mp4 [43M]
┃ ┗━━[天下无鱼][shikey.com]16-9 实现下载任务的添加-2.mp4 [46.3M]
┣━━第17章 课程总结 [11.2M]
┃ ┗━━[天下无鱼][shikey.com]17-1 课程总结.mp4 [11.2M]
┣━━第1章 课程导学1 [11.8M]
┃ ┗━━[天下无鱼][shikey.com]1-2 课程介绍与学习指南.mp4 [11.8M]
┣━━第2章 C语言必备基础4 [141.9M]
┃ ┣━━[天下无鱼][shikey.com]2-1 环境搭建【CLion MSVC MinGW】.mp4 [54.2M]
┃ ┣━━[天下无鱼][shikey.com]2-2 HelloWorld【cmake工程结构】.mp4 [20.7M]
┃ ┣━━[天下无鱼][shikey.com]2-3 程序调试方法.mp4 [37.7M]
┃ ┗━━[天下无鱼][shikey.com]2-4 C语言的代码风格【Google C CodeStyle CLion配置代码风格】.mp4 [29.4M]
┣━━第3章 C语言快速入门10 [318.4M]
┃ ┣━━[天下无鱼][shikey.com]3-1 数据类型之int类型【不同系统版本差异】.mp4 [44.8M]
┃ ┣━━[天下无鱼][shikey.com]3-10 案例:猜数字的游戏.mp4 [21.8M]
┃ ┣━━[天下无鱼][shikey.com]3-2 数据类型之char类型【常见问题解决】.mp4 [34.7M]
┃ ┣━━[天下无鱼][shikey.com]3-3 数据类型之浮点类型【实际应用技巧】.mp4 [20M]
┃ ┣━━[天下无鱼][shikey.com]3-4 变量【内存地址分析】.mp4 [23.1M]
┃ ┣━━[天下无鱼][shikey.com]3-5 常量【常量修改秘笈】.mp4 [29.4M]
┃ ┣━━[天下无鱼][shikey.com]3-6 运算符-1【易踩坑点】.mp4 [39.7M]
┃ ┣━━[天下无鱼][shikey.com]3-7 运算符-2【难点突破】.mp4 [24.1M]
┃ ┣━━[天下无鱼][shikey.com]3-8 条件分支语句.mp4 [42.8M]
┃ ┗━━[天下无鱼][shikey.com]3-9 循环语句.mp4 [37.9M]
┣━━第4章 函数与程序结构6 [125.1M]
┃ ┣━━[天下无鱼][shikey.com]4-1 函数基础【tips:Google命名规范】.mp4 [15M]
┃ ┣━━[天下无鱼][shikey.com]4-2 函数的原型【空参数列表与 C++的区别】.mp4 [17M]
┃ ┣━━[天下无鱼][shikey.com]4-3 变量的类型和作用域【Compiler Explorer查看汇编指令】.mp4 [45.5M]
┃ ┣━━[天下无鱼][shikey.com]4-4 函数的变长参数【对比Java的变长参数】.mp4 [16.3M]
┃ ┣━━[天下无鱼][shikey.com]4-5 函数的递归【C语言实现斐波那契数列】.mp4 [21.9M]
┃ ┗━━[天下无鱼][shikey.com]4-6 案例:汉诺塔.mp4 [9.3M]
┣━━第5章 预处理和宏5 [129.7M]
┃ ┣━━[天下无鱼][shikey.com]5-1 文件包含【领略编译器宏之以小搏大】.mp4 [25.5M]
┃ ┣━━[天下无鱼][shikey.com]5-2 案例:自定义头文件.mp4 [20.4M]
┃ ┣━━[天下无鱼][shikey.com]5-3 宏函数.mp4 [25.3M]
┃ ┣━━[天下无鱼][shikey.com]5-4 条件编译【掌握实际应用场景】.mp4 [29.8M]
┃ ┗━━[天下无鱼][shikey.com]5-5 案例:实现 PRINTLNF.mp4 [28.7M]
┣━━第6章 玩转数组7 [148.1M]
┃ ┣━━[天下无鱼][shikey.com]6-1 数组基础【C语言设计哲学】.mp4 [32.1M]
┃ ┣━━[天下无鱼][shikey.com]6-2 数组的边界.mp4 [24.9M]
┃ ┣━━[天下无鱼][shikey.com]6-3 字符串.mp4 [19.1M]
┃ ┣━━[天下无鱼][shikey.com]6-4 函数的数组类型参数【C语言极致效率之源】.mp4 [13.3M]
┃ ┣━━[天下无鱼][shikey.com]6-5 二维数组【数组参数的正确使用姿势】.mp4 [19.7M]
┃ ┣━━[天下无鱼][shikey.com]6-6 案例:打乱数组的顺序【各种场景应用】.mp4 [14.8M]
┃ ┗━━[天下无鱼][shikey.com]6-7 案例:数组元素的排序【Lomuto分割法】.mp4 [24.2M]
┣━━第7章 吃透指针 10 [267.2M]
┃ ┣━━[天下无鱼][shikey.com]7-1 指针基础【摸清本质带你爱上指针】.mp4 [25M]
┃ ┣━━[天下无鱼][shikey.com]7-10 案例:指针版本的快速排序【Hoare分割法】.mp4 [18.2M]
┃ ┣━━[天下无鱼][shikey.com]7-2 只读指针变量与只读变量指针.mp4 [10.8M]
┃ ┣━━[天下无鱼][shikey.com]7-3 特殊的指针【使用禁忌】.mp4 [23.7M]
┃ ┣━━[天下无鱼][shikey.com]7-4 指针的运算【各式魔法操作】.mp4 [31.1M]
┃ ┣━━[天下无鱼][shikey.com]7-5 左值和右值【只需记住这两点】.mp4 [11.4M]
┃ ┣━━[天下无鱼][shikey.com]7-6 指针参数作为返回值【通过汇编了解函数返回值机制】.mp4 [35M]
┃ ┣━━[天下无鱼][shikey.com]7-7 动态内存分配【突破面试高频考点】.mp4 [35M]
┃ ┣━━[天下无鱼][shikey.com]7-8 函数指针与typedef.mp4 [38.4M]
┃ ┗━━[天下无鱼][shikey.com]7-9 案例:交换两个变量的值.mp4 [38.5M]
┣━━第8章 聚合数据类型 [180.1M]
┃ ┣━━[天下无鱼][shikey.com]8-1 结构体【内存占用分析】.mp4 [36.3M]
┃ ┣━━[天下无鱼][shikey.com]8-2 结构体的内存对齐【内存占用优化】.mp4 [43M]
┃ ┣━━[天下无鱼][shikey.com]8-3 联合体【使用场景分析】.mp4 [23.2M]
┃ ┣━━[天下无鱼][shikey.com]8-4 枚举【多语言对比】.mp4 [30M]
┃ ┣━━[天下无鱼][shikey.com]8-5 案例:判断字节序.mp4 [14M]
┃ ┗━━[天下无鱼][shikey.com]8-6 案例:单链表的基本实现.mp4 [33.7M]
┣━━第9章 字符串的应用 [213.6M]
┃ ┣━━[天下无鱼][shikey.com]9-1 判断字符的类型及原理的剖析.mp4 [30.9M]
┃ ┣━━[天下无鱼][shikey.com]9-10 宽字符串与窄字符串的转换.mp4 [30.2M]
┃ ┣━━[天下无鱼][shikey.com]9-2 字符串与其他数值类型的转换.mp4 [40.7M]
┃ ┣━━[天下无鱼][shikey.com]9-3 字符串的长度与比较.mp4 [22.2M]
┃ ┣━━[天下无鱼][shikey.com]9-4 查找字符与子串.mp4 [15.4M]
┃ ┣━━[天下无鱼][shikey.com]9-5 字符串的拆分.mp4 [28.4M]
┃ ┣━━[天下无鱼][shikey.com]9-6 字符串的连接和复制.mp4 [9.7M]
┃ ┣━━[天下无鱼][shikey.com]9-7 几个常见的内存操作函数.mp4 [16.8M]
┃ ┣━━[天下无鱼][shikey.com]9-8 C99的restrict.mp4 [8.2M]
┃ ┗━━[天下无鱼][shikey.com]9-9 C11的安全版本的函数.mp4 [11M]
┗━━资料 [19.8M]
┣━━资料 [19.7M]
┃ ┗━━[天下无鱼][shikey.com]ProgramInC-master.zip [19.7M]
┗━━[天下无鱼][shikey.com]ProgramInC-master.zip [99.3K]
学习学习
坚决反对据
C语言,学习学习!
从0开始学习编程
感谢分享
我要重学C语言
多年以后回炉C
感谢分享
C语言
牛逼牛逼呀 !
c语言回顾中,mark
学习
感谢分享
学习下
学习一下
感谢分享,学习一下
感谢分享
嘻嘻
从0开始学习编程
学习一下
从0开始学习编程
学习一下,感谢分享
非常不错的资源
从0开始学习编程
感谢分享
感谢分享。
学习
学习
不多说,开始学习
谢谢分享
感谢分享
学习
学习学习
学习一下
学习一下
感谢分享
学习
好东西,学习
这是好东西啊
学习
从0开始学习编程