C语言程序设计精髓
本课程共201集 翻译完 欢迎学习
课程介绍: 对于这个地球上大多数人来说,真正的数字化革命还没有开始。在接下来的10年里,变化将无处不在,让我们一起来给这个世界编码吧!——Eric Schmidt Google执行主席 我们会用15周的时间来深入讲解C语言,在授课过程中,我们会注重多解释一些“为什么”以及错误程序的分析,从环环相扣的问题入手,将一些易被忽视且对高水平程序设计很重要的“点”,沿着数据结构从简单到复杂的主线逐一展开,在实例的“不断深化和提升”中引出知识点,通过对问题的举一反三和前后知识点的融会贯通,由浅入深地引导你循序渐进地编写规模逐步增大的程序。 在过去30年90%的时间里,C语言独领风骚,仅偶尔被 Java 超越,可见其魅力。C语言作为一种高级语言,其实并不高级,但正是这种“低级”给我们更多思考的机会。期望通过本课程的学习,你不只是简单地能够掌握一种语言的语法,还能理解隐含在语法背后的思想,并初步具备灵活使用这些思想进行编写程序解决实际问题的能力。如果你掌握了这些,你会发现,迈向成功的最后一步不过是选择一种合适的编程工具而已。 你想从“菜鸟”升级为“程序猿”吗?那就加入“稀饭”的行列,和我们一起踏上爱上C语言之旅吧。
课程列表
【第1集】模块一 开篇(1) 译
【第2集】模块二 1.1 为什么要学C语言(10分钟)(2) 译
【第3集】模块二 1.2 C 语言集成开发环境简介(16分钟)(1) 译
【第4集】模块二 1.2 C 语言集成开发环境简介(16分钟)(2) 译
【第5集】模块二 1.3 如何定义一个变量(10分钟) 译
【第6集】模块二 1.4 变量的表数范围和存储形式(29分钟)(1) 译
【第7集】模块二 1.4 变量的表数范围和存储形式(29分钟)(2)(上) 译
【第8集】模块二 1.4 变量的表数范围和存储形式(29分钟)(2)(下) 译
【第9集】模块二 1.4 变量的表数范围和存储形式(29分钟)(3) 译
【第10集】模块二 1.5 宏常量与const常量(13分钟)(上) 译
【第11集】模块二 1.5 宏常量与const常量(13分钟)(下) 译
【第12集】模块二 先修知识(有基础者越过)——二进制和内存(11分半)(1) 译
【第13集】模块二 先修知识(有基础者越过)——二进制和内存(11分半)(2) 译
【第14集】模块三 2.1 算术运算(20分钟)(2)(上) 译
【第15集】模块三 2.1 算术运算(20分钟)(2)(下) 译
【第16集】模块二 2.1 算术运算符(1)(上) 译
【第17集】模块二 2.1 算术运算符(1)(下) 译
【第18集】模块三 2.2 赋值运算(15分钟)(1)(上) 译
【第19集】模块三 2.2 赋值运算(15分钟)(1)(下) 译
【第20集】模块三 2.2 赋值运算(15分钟)(2)(上) 译
【第21集】模块三 2.2 赋值运算(15分钟)(2)(下) 译
【第22集】模块三 2.3 增1和减1运算(17分钟)(上) 译
【第23集】模块三 2.3 增1和减1运算(17分钟)(下) 译
【第24集】模块三 2.4 自动类型转换(5分钟) 译
【第25集】模块三 2.5 强制类型转换(7分半) 译
【第26集】模块一 1.2 C 语言集成开发环境简介(3) 译
【第27集】模块一 1.2 C 语言集成开发环境简介(4) 译
【第28集】模块一 1.1 C语言发展历史和特点(2) 译
【第29集】模块一 1.2 C 语言集成开发环境简介(2) 译
【第30集】模块一 1.2 C 语言集成开发环境简介(1) 译
【第31集】模块一 1.3 变量的定义(1) 译
【第32集】模块一 1.4 变量的类型决定了什么?(2)(上) 译
【第33集】模块一 1.4 变量的类型决定了什么?(2)(下) 译
【第34集】模块一 1.4 变量的类型决定了什么?(3) 译
【第35集】模块一 1.3 变量的定义(2) 译
【第36集】模块一 1.4 变量的类型决定了什么?(1) 译
【第37集】模块一 1.5 宏常量与const常量(上) 译
【第38集】模块一 1.5 宏常量与const常量(下) 译
【第39集】模块二 2.2 赋值运算符(3)(上) 译
【第40集】模块二 2.2 赋值运算符(3)(下) 译
【第41集】模块三 3.1 数据的格式化屏幕输出(1)(上) 译
【第42集】模块三 3.1 数据的格式化屏幕输出(1)(下) 译
【第43集】模块三 与教材配套的在线作业自动测试系统的使用方法 译
【第44集】模块四 4.2 条件语句(上) 译
【第45集】模块四 4.2 条件语句(下) 译
【第46集】模块四 4.4 赋值中的自动类型转换——进阶内容(1)(上) 译
【第47集】模块四 4.4 赋值中的自动类型转换——进阶内容(1)(下) 译
【第48集】模块四 4.4 赋值中的自动类型转换——进阶内容(2)(上) 译
【第49集】模块四 4.4 赋值中的自动类型转换——进阶内容(2)(下) 译
【第50集】模块四 4.3 开关语句(上) 译
【第51集】模块四 4.3 开关语句(下) 译
【第52集】模块四 4.1 关系运算和逻辑运算(上) 译
【第53集】模块四 4.1 关系运算和逻辑运算(下) 译
【第54集】模块四 4.5 软件测试与错误实例分析——进阶内容(上) 译
【第55集】模块四 4.5 软件测试与错误实例分析——进阶内容(下) 译
【第56集】模块五 5.1 计数控制的循环-用for语句实现累加和累乘运算(上) 译
【第57集】模块五 5.1 计数控制的循环-用for语句实现累加和累乘运算(中) 译
【第58集】模块五 5.1 计数控制的循环-用for语句实现累加和累乘运算(下) 译
【第59集】模块五 5.2 while/do-while语句与用递推法求解问题(1)(上) 译
【第60集】模块五 5.2 while/do-while语句与用递推法求解问题(1)(下) 译
【第61集】模块五 5.2 while/do-while语句与用递推法求解问题(2) 译
【第62集】模块五 5.5 流程的转移控制与用穷举法求解问题(上) 译
【第63集】模块五 5.5 流程的转移控制与用穷举法求解问题(下) 译
【第64集】模块五 5.4 嵌套循环(上) 译
【第65集】模块五 5.4 嵌套循环(下) 译
【第66集】模块五 5.3 条件控制的循环-猜数游戏(上) 译
【第67集】模块五 5.3 条件控制的循环-猜数游戏(中) 译
【第68集】模块五 5.3 条件控制的循环-猜数游戏(下) 译
【第69集】模块五 5.6 软件调试与错误实例分析——进阶内容(上) 译
【第70集】模块五 5.6 软件调试与错误实例分析——进阶内容(下) 译
【第71集】模块六 6.1 函数的定义、函数调用与参数传递、函数原型(1)(上) 译
【第72集】模块六 6.1 函数的定义、函数调用与参数传递、函数原型(1)(下) 译
【第73集】模块六 6.1 函数的定义、函数调用与参数传递、函数原型(2)(上) 译
【第74集】模块六 6.1 函数的定义、函数调用与参数传递、函数原型(2)(下) 译
【第75集】模块六 6.2 函数封装与程序的健壮性(上) 译
【第76集】模块六 6.2 函数封装与程序的健壮性(下) 译
【第77集】模块六 6.3 断言与防御性程序设计(上) 译
【第78集】模块六 6.3 断言与防御性程序设计(下) 译
【第79集】模块六 6.4 代码风格——进阶内容(上) 译
【第80集】模块六 6.4 代码风格——进阶内容(下) 译
【第81集】模块七 6.5 函数的嵌套调用和递归调用(1)(上) 译
【第82集】模块七 6.5 函数的嵌套调用和递归调用(1)(下) 译
【第83集】模块七 6.5 函数的嵌套调用和递归调用(2) 译
【第84集】模块七 6.6 递归函数与函数调用栈——进阶内容(上) 译
【第85集】模块七 6.6 递归函数与函数调用栈——进阶内容(下) 译
【第86集】模块七 6.7 尾递归——进阶内容(上) 译
【第87集】模块七 6.7 尾递归——进阶内容(下) 译
【第88集】模块七 6.8 变量的作用域(1)(上) 译
【第89集】模块七 6.8 变量的作用域(1)(下) 译
【第90集】模块七 6.8 变量的作用域(2) 译
【第91集】模块七 6.9 变量的存储类型(1)(上) 译
【第92集】模块七 6.9 变量的存储类型(1)(下) 译
【第93集】模块七 6.9 变量的存储类型(2)(上) 译
【第94集】模块七 6.9 变量的存储类型(2)(下) 译
【第95集】模块七 6.9 变量的存储类型(3) 译
【第96集】模块八 7.1 数组的定义和初始化(上) 译
【第97集】模块八 7.1 数组的定义和初始化(下) 译
【第98集】模块八 7.2 数组元素的访问与螺旋矩阵(上) 译
【第99集】模块八 7.2 数组元素的访问与螺旋矩阵(下) 译
【第100集】模块八 7.3 向函数传递一维数组和二维数组(上) 译
【第101集】模块八 7.3 向函数传递一维数组和二维数组(下) 译
【第102集】模块八 7.4 计算最大值与查找算法的函数实现(1)(上) 译
【第103集】模块八 7.4 计算最大值与查找算法的函数实现(1)(下) 译
【第104集】模块八 7.4 计算最大值与查找算法的函数实现(2)(上) 译
【第105集】模块八 7.4 计算最大值与查找算法的函数实现(2)(下) 译
【第106集】模块八 7.4 计算最大值与查找算法的函数实现(3) 译
【第107集】模块八 7.4 计算最大值与查找算法的函数实现(5) 译
【第108集】模块八 7.4 计算最大值与查找算法的函数实现(4) 译
【第109集】模块八 7.5 排序算法的函数实现(1) 译
【第110集】模块八 7.5 排序算法的函数实现(2) 译
【第111集】模块八 7.5 排序算法的函数实现(4) 译
【第112集】模块八 7.5 排序算法的函数实现(3) 译
【第113集】模块八 7.5 排序算法的函数实现(5) 译
【第114集】模块八 7.5 排序算法的函数实现(6) 译
【第115集】模块八 7.6 数组的其他应用(从筛法求素数到鲁智深吃馒头、从文曲星猜数游戏到大数存储)——进阶内容(1) 译
【第116集】模块八 7.5 排序算法的函数实现(7) 译
【第117集】模块八 7.5 排序算法的函数实现(8) 译
【第118集】模块八 7.6 数组的其他应用(从筛法求素数到鲁智深吃馒头、从文曲星猜数游戏到大数存储)——进阶内容(2)(上) 译
【第119集】模块八 7.6 数组的其他应用(从筛法求素数到鲁智深吃馒头、从文曲星猜数游戏到大数存储)——进阶内容(2)(下) 译
【第120集】模块九 8.1 指针变量的定义、初始化及其解引用(上) 译
【第121集】模块九 8.1 指针变量的定义、初始化及其解引用(下) 译
【第122集】模块九 8.2 指针变量作函数参数(2)(上) 译
【第123集】模块九 8.2 指针变量作函数参数(2)(下) 译
【第124集】模块九 8.2 指针变量作函数参数(1)(上) 译
【第125集】模块九 8.2 指针变量作函数参数(1)(下) 译
【第126集】模块九 8.3 字符数组与字符指针(1)(上) 译
【第127集】模块九 8.3 字符数组与字符指针(1)(下) 译
【第128集】模块九 8.2 指针变量作函数参数(3)(上) 译
【第129集】模块九 8.2 指针变量作函数参数(3)(下) 译
【第130集】模块九 8.4 字符串处理函数(上) 译
【第131集】模块九 8.4 字符串处理函数(下) 译
【第132集】模块九 8.3 字符数组与字符指针(2)(上) 译
【第133集】模块九 8.3 字符数组与字符指针(2)(下) 译
【第134集】模块十 8.5 向函数传递字符串(上) 译
【第135集】模块十 8.5 向函数传递字符串(下) 译
【第136集】模块十 8.6 从函数返回字符串 译
【第137集】模块十 8.7 缓冲区溢出问题讨论——进阶内容(1)(上) 译
【第138集】模块十 8.7 缓冲区溢出问题讨论——进阶内容(1)(下) 译
【第139集】模块十 8.7 缓冲区溢出问题讨论——进阶内容(2)(上) 译
【第140集】模块十 8.7 缓冲区溢出问题讨论——进阶内容(2)(下) 译
【第141集】模块十 8.8 函数指针及其应用(3) 译
【第142集】模块十 8.7 缓冲区溢出问题讨论——进阶内容(3)(上) 译
【第143集】模块十 8.7 缓冲区溢出问题讨论——进阶内容(3)(下) 译
【第144集】模块十 8.8 函数指针及其应用(1)(上) 译
【第145集】模块十 8.8 函数指针及其应用(1)(下) 译
【第146集】模块十 8.8 函数指针及其应用(2) 译
【第147集】模块十一 9.2 指针和一维数组间的关系(上) 译
【第148集】模块十一 9.2 指针和一维数组间的关系(下) 译
【第149集】模块十一 9.1 指针的算术运算 译
【第150集】模块十一 9.3 指针和二维数组间的关系(上) 译
【第151集】模块十一 9.3 指针和二维数组间的关系(下) 译
【第152集】模块十一 9.4 指针数组及其应用(1)(上) 译
【第153集】模块十一 9.4 指针数组及其应用(1)(下) 译
【第154集】模块十一 9.4 指针数组及其应用(2) 译
【第155集】模块十二 10.3 结构体的相关计算和操作(1) 译
【第156集】模块十二 10.3 结构体的相关计算和操作(2) 译
【第157集】模块十二 10.1 结构体类型与结构体变量(上) 译
【第158集】模块十二 10.1 结构体类型与结构体变量(下) 译
【第159集】模块十二 10.2 结构体数组 译
【第160集】模块十二 10.5 枚举类型和共用体类型以及共用体的应用(2)(上) 译
【第161集】模块十二 10.5 枚举类型和共用体类型以及共用体的应用(2)(下) 译
【第162集】模块十二 10.5 枚举类型和共用体类型以及共用体的应用(1) 译
【第163集】模块十二 10.6 典型应用实例——洗发牌模拟(上) 译
【第164集】模块十二 10.6 典型应用实例——洗发牌模拟(下) 译
【第165集】模块十二 10.4 向函数传递结构体以及结构体的应用(1) 译
【第166集】模块十二 10.4 向函数传递结构体以及结构体的应用(2)(上) 译
【第167集】模块十二 10.4 向函数传递结构体以及结构体的应用(2)(下) 译
【第168集】模块十三 11.2 动态数组(1) 译
【第169集】模块十三 11.1 C程序的内存映像和动态内存分配(1) 译
【第170集】模块十三 11.2 动态数组(2) 译
【第171集】模块十三 11.1 C程序的内存映像和动态内存分配(2) 译
【第172集】模块十三 11.2 动态数组(3) 译
【第173集】模块十三 11.2 动态数组(4) 译
【第174集】模块十三 11.2 动态数组(5) 译
【第175集】模块十三 11.2 动态数组(6) 译
【第176集】模块十三 11.3 常见的内存错误及其解决对策——进阶内容(1) 译
【第177集】模块十三 11.3 常见的内存错误及其解决对策——进阶内容(2)(上) 译
【第178集】模块十三 11.3 常见的内存错误及其解决对策——进阶内容(2)(下) 译
【第179集】模块十三 11.3 常见的内存错误及其解决对策——进阶内容(3)(上) 译
【第180集】模块十三 11.3 常见的内存错误及其解决对策——进阶内容(3)(下) 译
【第181集】模块十三 11.3 常见的内存错误及其解决对策——进阶内容(4)(上) 译
【第182集】模块十三 11.3 常见的内存错误及其解决对策——进阶内容(4)(下) 译
【第183集】模块十四 11.4 利用结构体实现单向链表(1) 译
【第184集】模块十四 11.4 利用结构体实现单向链表(3) 译
【第185集】模块十四 11.4 利用结构体实现单向链表(4) 译
【第186集】模块十四 11.4 利用结构体实现单向链表(2) 译
【第187集】模块十四 11.5 其他数据结构简介——进阶内容(1) 译
【第188集】模块十四 11.5 其他数据结构简介——进阶内容(2) 译
【第189集】模块十四 11.4 利用结构体实现单向链表(5) 译
【第190集】模块十四 11.5 其他数据结构简介——进阶内容(3) 译
【第191集】模块十五 12.1 二进制文件、文本文件和标准输入输出流(上) 译
【第192集】模块十五 12.1 二进制文件、文本文件和标准输入输出流(下) 译
【第193集】模块十五 12.2 文件的打开和关闭 译
【第194集】模块十五 12.3 按格式读写文件 译
【第195集】模块十五 12.4 按字符和行读写文件(1) 译
【第196集】模块十五 12.4 按字符和行读写文件(2)(上) 译
【第197集】模块十五 12.4 按字符和行读写文件(2)(下) 译
【第198集】模块十五 12.4 按字符和行读写文件(3) 译
【第199集】模块十五 12.5 按数据块读写文件 译
【第200集】模块十五 12.6文件的随机读写与文件缓冲 译
【第201集】模块十五 12.4 按字符和行读写文件(4)(上) 译
【第202集】模块十五 12.4 按字符和行读写文件(4)(下) 译
查看全部课程
相关推荐