|
想要查看内容赶紧注册登陆吧!
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
├─1 C语言概述
│ ├─1 序言
│ │ 序言.mp4
│ │
│ ├─2 程序 算法和流程图
│ │ 程序、算法和流程图.mp4
│ │
│ └─3 C语言简介和简单的C程序
│ C程序的开发流程.mp4
│ C程序的注释.mp4
│ C语言的起源、特点及C程序的基本结构.mp4
│ 示例--第一个C程序.mp4
│ 计算机语言的发展.mp4
│
├─10 高级函数
│ ├─1 序言
│ │ 序言.mp4
│ │
│ ├─10 扩展2:函数指针数组
│ │ 1 函数指针数组的概念-1 .mp4
│ │ 2 函数指针数组的概念-2和函数指针数组的使用.mp4
│ │
│ ├─2 函数返回
│ │ 函数的返回值和return语句的实现机制 .mp4
│ │
│ ├─3 Linux的内存管理机制
│ │ 1 Linux的内存管理-1.mp4
│ │ 2 Linux的内存管理-2和C程序的运行流程 .mp4
│ │
│ ├─4 变量的存储类型、作用域和生命周期
│ │ 1 作用域的分类.mp4
│ │ 2 变量的存储类型-1.mp4
│ │ 3 变量的存储类型-2.mp4
│ │ 4 变量的存储类型-3.mp4
│ │ 5 变量的内存分配、存储方式、作用域和生命周期 .mp4
│ │ 6 链接属性.mp4
│ │
│ ├─5 extern
│ │ 1 extern的使用.mp4
│ │ 2 extern的使用-2.mp4
│ │
│ ├─6 函数栈
│ │ 主调函数和被调函数、函数栈的调用流程 .mp4
│ │
│ ├─7 递归调用
│ │ 递归调用的概念.mp4
│ │
│ ├─8 指针函数与函数指针
│ │ 1 指针函数-1.mp4
│ │ 2 指针函数-2.mp4
│ │ 3 函数指针.mp4
│ │ 4 回调函数.mp4
│ │ 5 案例讲解--函数指针与指针函数.mp4
│ │
│ └─9 扩展1:可变参数列表
│ 可变参数列表的概念和使用.mp4
│
├─11 字符串
│ ├─1 序言
│ │ 序言.mp4
│ │
│ ├─2 字符串和字符数组
│ │ 1 字符串和字符数组的概念、初始化方式和输入输出 .mp4
│ │ 2 示例1--字符串和字符数组-1 .mp4
│ │ 3 示例2--字符串和字符数组-2 .mp4
│ │ 4 指向字符串的指针.mp4
│ │ 5 案例讲解--字符串和字符数组 .mp4
│ │
│ ├─3 字符串函数
│ │ 1 字符串处理函数-1.mp4
│ │ 2 字符串处理函数-2 .mp4
│ │ 3 字符串处理函数-3 .mp4
│ │ 4 案例讲解--字符串函数 .mp4
│ │
│ └─4 C标准函数
│ 1 C标准库函数.mp4
│ 2 案例讲解--C标准库函数.mp4
│
├─12 结构体和联合
│ ├─1 序言
│ │ 序言.mp4
│ │
│ ├─2 结构体的介绍(上)
│ │ 1 结构体的概念和声明 .mp4
│ │ 2 结构体变量的定义.mp4
│ │
│ ├─3 结构体的介绍(下)
│ │ 1 结构体变量成员的引用和赋值 .mp4
│ │ 2 结构体变量的初始化和结构体的嵌套 .mp4
│ │
│ ├─4 结构体数组
│ │ 1 结构体数组的概念、定义、初始化和引用 .mp4
│ │ 2 案例讲解--结构体数组 .mp4
│ │
│ ├─5 结构体指针
│ │ 1 结构体指针的概念和访问方式 .mp4
│ │ 2 结构体指针作为函数参数 .mp4
│ │ 3 指向结构体数组的指针、结构体自引用和不完整声明 .mp4
│ │
│ ├─6 类型别名
│ │ 1 类型别名定义typedef和#define .mp4
│ │ 2 typedef和#define的区别 .mp4
│ │ 3 案例讲解--类型别名.mp4
│ │
│ ├─7 字节对齐
│ │ 1 字节对齐的概念和对程序的影响 .mp4
│ │ 2 #pragma指令、字节对齐原则和编程设置 .mp4
│ │
│ ├─8 扩展1:位段
│ │ 位段的概念和定义 .mp4
│ │
│ └─9 扩展2:联合
│ 1 联合的概念.mp4
│ 2 示例--教师和学生信息的录入和输出.mp4
│
├─13 指针高级
│ ├─1 序言
│ │ 序言.mp4
│ │
│ ├─2 void指针和数据指针
│ │ 1 void指针的概念.mp4
│ │ 2 void指针的应用场合和数据指针的概念 .mp4
│ │
│ ├─3 指针与二维数组
│ │ 1 二维数组地址的表示.mp4
│ │ 2 示例--二维数组地址的表示 .mp4
│ │ 3 指针遍历二维数组-1 .mp4
│ │ 4 指针遍历二维数组-2.mp4
│ │ 5 二维字符数组-1 .mp4
│ │ 6 二维字符数组-2 .mp4
│ │ 7 案例讲解--指针与二维数组-1 .mp4
│ │ 8 案例讲解--指针与二维数组-2 .mp4
│ │
│ ├─4 指针数组
│ │ 指针数组的概念和定义 .mp4
│ │
│ ├─5 字符指针数组
│ │ 1 字符指针数组-1 .mp4
│ │ 2 字符指针数组-2 .mp4
│ │ 3 字符指针数组-3.mp4
│ │ 4 字符指针数组-4 .mp4
│ │ 5 案例讲解--字符指针数组 .mp4
│ │
│ ├─6 扩展1:gdb的高级使用
│ │ 1 gdb的高级命令.mp4
│ │ 2 示例--gdb的高级命令.mp4
│ │
│ └─7 扩展2:gdb core
│ gdb core的使用 .mp4
│
├─14 动态内存分配
│ ├─1 序言
│ │ 序言.mp4
│ │
│ ├─2 动态内存分配
│ │ 1 内存分配方式 .mp4
│ │ 2 malloc和calloc函数 .mp4
│ │ 3 realloc和free函数 .mp4
│ │ 4 案例讲解--动态内存分配-1 .mp4
│ │ 5 案例讲解--动态内存分配-2.mp4
│ │
│ └─3 常见内存错误
│ 常见内存错误、避免方式和野指针 .mp4
│
├─15 预处理
│ ├─1 序言
│ │ 序言.mp4
│ │
│ ├─2 预处理
│ │ 预处理和宏定义的概念 .mp4
│ │
│ ├─3 无参宏定义
│ │ 无参宏定义的语法、宏的移除和宏定义的规则.mp4
│ │
│ ├─4 带参宏定义
│ │ 1 带参宏定义的语法结构和规则 .mp4
│ │ 2 带参宏定义和函数的区别 .mp4
│ │
│ ├─5 条件编译
│ │ 条件编译的概念和语法结构.mp4
│ │
│ ├─6 文件包含
│ │ 1 文件包含的概念.mp4
│ │ 2 多重包含.mp4
│ │
│ └─7 预处理操作符和预定义宏
│ 预处理操作符、预定义宏和其它预处理指令 .mp4
│
├─16 C标准文件IO
│ ├─1 序言
│ │ 序言.mp4
│ │
│ ├─2 稳健的介绍
│ │ 1 C文件的概念和文件系统的分类 .mp4
│ │ 2 文件流的概念 .mp4
│ │
│ ├─3 文件的打开和关闭
│ │ 1 文件类型结构体FILE和文件指针.mp4
│ │ 2 文件打开、文件关闭和文件位置指针 .mp4
│ │
│ ├─4 字符读写函数
│ │ 1 getchar和putchar函数.mp4
│ │ 2 fgetc和fputc函数 .mp4
│ │ 3 案例讲解--字符读写函数-1 .mp4
│ │ 4 案例讲解--字符读写函数-2 .mp4
│ │
│ ├─5 字符串读写函数
│ │ fgets和fputs函数 .mp4
│ │
│ ├─6 格式化读写函数
│ │ 1 fscanf和fprintf函数 .mp4
│ │ 2 sscanf和sprintf函数 .mp4
│ │
│ ├─7 二进制读写函数
│ │ 1 fread和fwrite函数-1 .mp4
│ │ 2 fread和fwrite函数-2 .mp4
│ │
│ └─8 文件定位
│ 1 文件定位的概念 .mp4
│ 2 fseek函数和其它函数 .mp4
│
├─17 高质量编码规范
│ ├─1 序言
│ │ 序言.mp4
│ │
│ ├─2 编码规范的介绍
│ │ 编码规范的重要性 .mp4
│ │
│ ├─3 宏观上高质量编码规范
│ │ 宏观的编码规范 .mp4
│ │
│ └─4 微观上高质量编码规范
│ 1 程序的健壮性和编程的优化-1 .mp4
│ 2 程序的健壮性和编程的优化-2 .mp4
│
├─18 数据结构与算法概述
│ ├─1 序言
│ │ 序言.mp4
│ │
│ ├─2 数据结果概述
│ │ 数据结构概述.mp4
│ │
│ ├─3 数据的逻辑结构
│ │ 数据的逻辑结构.mp4
│ │
│ ├─4 数据的存储结构
│ │ 1 存储特点、顺序与链式存储 .mp4
│ │ 2 索引与散列存储 .mp4
│ │
│ └─5 算法概述
│ 1 算法的定义 .mp4
│ 2 算法的分析 .mp4
│
├─19 线性的逻辑结构—线性表
│ ├─1 序言
│ │ 序言.mp4
│ │
│ ├─2 Eclipse CDT开发环境的搭建
│ │ Eclipse CDT开发环境的搭建 .mp4
│ │
│ ├─3 线性表的概述
│ │ 线性表的概述 .mp4
│ │
│ ├─4 线性表的顺序存储结构
│ │ 1 线性表的顺序存储结构 .mp4
│ │ 2 顺序表的基本运算—创建、置空、求表长与打印.mp4
│ │ 3 顺序表的基本运算—插入、删除与定位 .mp4
│ │
│ ├─5 线性表的链式存储结构(链表)
│ │ 1 单向链表的概述 .mp4
│ │ 2 单向链表的基本运算--建立和查找 .mp4
│ │ 3 单向链表的基本运算--插入和删除 .mp4
│ │ 4 单向链表的扩展运算--倒置和合并 .mp4
│ │ 5 单向循环链表的概述与运算.mp4
│ │ 6 双向循环链表的概述与运算 .mp4
│ │
│ └─6 线性表的应用举例
│ 应用举例--线性表 .mp4
│
├─2 GCC和GBB
│ ├─1 序言
│ │ 序言.mp4
│ │
│ ├─2 gcc介绍
│ │ 1 GCC的发展和语法结构.mp4
│ │ 2 示例1-gcc编译的基本选项.mp4
│ │ 3 示例2-gcc编译的优化选项.mp4
│ │ 4 gcc变异的警告和出错选项.mp4
│ │
│ └─3 gdb介绍
│ 1 GDB的概念及使用.mp4
│ 2 示例-gdb调试命令.mp4
│
├─20 线性的逻辑结构—栈
│ ├─1 序言
│ │ 序言.mp4
│ │
│ ├─2 栈的概述
│ │ 栈的概述.mp4
│ │
│ ├─3 栈的顺序存储结构
│ │ 栈的顺序存储结构.mp4
│ │
│ ├─4 栈的链式存储结构
│ │ 栈的链式存储结构.mp4
│ │
│ └─5 栈的应用举例
│ 栈的应用举例 .mp4
│
├─21 线性的逻辑结构—队列
│ ├─1 序言
│ │ 序言.mp4
│ │
│ ├─2 队列的概述
│ │ 队列的概述 .mp4
│ │
│ ├─3 队列的顺序存储结构
│ │ 队列的顺序存储结构 .mp4
│ │
│ └─4 队列的链式存储结构
│ 1 队列的链式存储结构 .mp4
│ 2 应用举例--球钟问题.mp4
│
├─22 非线性逻辑结构—树与二叉树
│ ├─1 序言
│ │ 序言.mp4
│ │
│ ├─2 树与二叉树的基本概念
│ │ 1 树的基本概念和属性.mp4
│ │ 2 二叉树的基本概念和属性.mp4
│ │
│ └─3 二叉树的遍历
│ 二叉树的遍历.mp4
│
├─23 常用算法
│ ├─1 序言
│ │ 序言.mp4
│ │
│ ├─2 排序
│ │ 1 排序的分类 .mp4
│ │ 2 交换法--冒泡排序 .mp4
│ │ 3 交换法--快速排序 .mp4
│ │ 4 插入法--直插排序 .mp4
│ │
│ ├─3 查找
│ │ 查找 .mp4
│ │
│ └─4 哈希表
│ 哈希表 .mp4
│
├─24 多模块软件的编译和链接
│ ├─1 序言
│ │ 序言.mp4
│ │
│ ├─2 C程序的编译和运行
│ │ 1 C程序的编译和运行过程-1 .mp4
│ │ 2 C程序的编译和运行过程-2 .mp4
│ │
│ ├─3 多模块编译
│ │ 多模块编译的概念和优缺点.mp4
│ │
│ └─4 静态库和共享库
│ 1 库的概念和静态库的创建与使用-1.mp4
│ 2 静态库的创建与使用-2 .mp4
│ 3 共享库的创建与使用 .mp4
│
├─25 make和makefile
│ ├─1 序言
│ │ 序言.mp4
│ │
│ ├─2 make和Makefile的介绍
│ │ make和Makefile的概念及发展 .mp4
│ │
│ ├─3 make和Makefile(上)
│ │ 1 make的使用语法和Makefile的编写原则与规则 .mp4
│ │ 2 示例1--make和Makefile .mp4
│ │ 3 示例2--make和Makefile .mp4
│ │
│ └─4 make和Makefile(下)
│ 1 Makefile的变量使用-1 .mp4
│ 2 Makefile的变量使用-2 .mp4
│ 3 虚目标、特殊目录和默认模式规则.mp4
│
├─26 项目和综合案例
│ ├─1 案例讲解-多模块编译程序
│ │ 1 案例讲解--多模块编译程序-1 .mp4
│ │ 2 案例讲解--多模块编译程序-1 .mp4
│ │ 3 案例讲解--多模块编译程序-3.mp4
│ │ 4 案例讲解--多模块编译程序-4 .mp4
│ │
│ ├─2 案例讲解-使用makefile编译程序
│ │ 2 案例讲解--使用makefile编译程序 .mp4
│ │
│ ├─3 猜拳游戏
│ │ 1 案例分析.mp4
│ │ 2 玩家结构体的建立 .mp4
│ │ 3 随机数产生.mp4
│ │ 4 排行榜函数 .mp4
│ │
│ └─4 酒店管理系统(项目实例)
│ 1 项目介绍及规范 .mp4
│ 10 房间结构实现与测试-1.mp4
│ 11 房间结构实现与测试-2 .mp4
│ 12 客户结构实现-1 .mp4
│ 13 客户结构实现-2.mp4
│ 14 客户结构测试 .mp4
│ 15 账单结构实现与测试 .mp4
│ 16 管理员登陆界面功能.mp4
│ 17 管理员登入功能实现.mp4
│ 18 管理员level 0 功能实现和修改密码 .mp4
│ 19 创建分级管理员和注销管理员 .mp4
│ 2 项目结构分析.mp4
│ 20 前台管理员控制函数 .mp4
│ 21 预约办理实现.mp4
│ 22 修改登记实现.mp4
│ 23 取消订单实现 .mp4
│ 24 查询 .mp4
│ 25 文件保存-1.mp4
│ 26 文件保存-2 .mp4
│ 27 入住办理-1 .mp4
│ 28 入住办理-2 .mp4
│ 29 退房 .mp4
│ 3 数据结构头文件.mp4
│ 4 通用链表-1.mp4
│ 5 通用链表-2 .mp4
│ 6 管理员功能-1 .mp4
│ 7 管理员功能-2.mp4
│ 8 管理员功能-3 .mp4
│ 9 管理员功能测试.mp4
│
├─3 基本数据类型
│ ├─1 序言
│ │ 序言.mp4
│ │
│ ├─10 扩展4:字符输入和输出函数
│ │ getchar和putchar的语法结构 .mp4
│ │
│ ├─2 常量和变量
│ │ 1 C语言中的基本元素类型及常量.mp4
│ │ 2 示例:常量.mp4
│ │ 3 变量的概念和命名规则.mp4
│ │ 4 变量的声明、初始化和定义.mp4
│ │
│ ├─3 数据类型
│ │ 数据类型的概念和分类.mp4
│ │
│ ├─4 整型
│ │ 1 整型的概念.mp4
│ │ 2 整型的概念和分类.mp4
│ │ 3 示例:整型常量和变量.mp4
│ │
│ ├─5 字符型
│ │ 1 字符型的概念.mp4
│ │ 2 字符常量.mp4
│ │ 3 字符变量.mp4
│ │
│ ├─6 格式化输入输出函数
│ │ 1 输入输出的概念和printf函数的语法结构 .mp4
│ │ 2 示例--printf函数 .mp4
│ │ 3 scanf函数的语法结构.mp4
│ │ 4 示例1--scanf函数 .mp4
│ │ 5 示例2--scanf函数.mp4
│ │ 6 案例讲解--格式化输入输出函数 .mp4
│ │
│ ├─7 扩展1:只读变量和常量
│ │ 只读变量、常量的定义和区别.mp4
│ │
│ ├─8 扩展2:浮点型
│ │ 1 浮点型的概念、分类、浮点型常量和变量 .mp4
│ │ 2 示例--浮点型的存储方式 .mp4
│ │
│ └─9 扩展3:枚举类型
│ 1 枚举类型的声明和变量定义 .mp4
│ 2 示例--枚举类型 讲师:王正平.mp4
│
├─4 条件结构
│ ├─1 序言
│ │ 序言.mp4
│ │
│ ├─2 条件语句(上)
│ │ 1 if语句的语法结构-1 .mp4
│ │ 2 示例--if语句 .mp4
│ │ 3 if语句的语法结构-2 .mp4
│ │ 4 if语句的语法结构-3 .mp4
│ │ 5 案例讲解--条件语句(上) .mp4
│ │
│ ├─3 条件语句(下)
│ │ 1 switch语句的语法结构及和if语句的比较 .mp4
│ │ 2 案例讲解--条件语句(下) .mp4
│ │
│ └─4 条件运算符
│ 条件运算符的作用和语法结构 .mp4
│
├─5 循环控制
│ ├─1 序言
│ │ 序言.mp4
│ │
│ ├─2 while和do-while循环
│ │ 1 循环的优势及while和do-while循环的语法结构 .mp4
│ │ 2 示例--while和do-while循环、循环嵌套 .mp4
│ │ 3 案例讲解--while和do-while循环.mp4
│ │
│ ├─3 for循环
│ │ 1 for循环的语法结构-1 .mp4
│ │ 2 for循环的语法结构-2 .mp4
│ │ 3 案例讲解--for循环 .mp4
│ │
│ └─4 跳转语句
│ 1 跳转语句的概念和break语句的使用 .mp4
│ 2 continue语句的使用和各种循环的嵌套跳转.mp4
│ 3 案例讲解--跳转语句 .mp4
│
├─6 运算符和表达式
│ ├─1 序言
│ │ 序言.mp4
│ │
│ ├─2 运算符和表达式的介绍
│ │ 运算符和表达式的概念、运算符的分类和优先级 .mp4
│ │
│ ├─3 运算符(上)
│ │ 1 算术运算符.mp4
│ │ 2 关系和逻辑运算符 .mp4
│ │
│ ├─4 运算符(中)
│ │ 逗号运算符和其它运算符 .mp4
│ │
│ ├─5 类型转换
│ │ 1 类型转换1.mp4
│ │ 2 类型转换2.mp4
│ │
│ └─6 扩展:运算符(下)
│ 1 位操作运算符-1.mp4
│ 2 位操作运算符-2.mp4
│ 3 扩展:运算符(下).mp4
│
├─7 函数基础
│ ├─1 序言
│ │ 序言.mp4
│ │
│ ├─2 函数的基本使用
│ │ 1 函数的基本使用和分类.mp4
│ │ 2 函数定义和函数调用.mp4
│ │ 3 示例:函数调用.mp4
│ │ 4 函数调用(下).mp4
│ │ 5 案例讲解-函数的基本使用.mp4
│ │
│ ├─3 函数原型
│ │ 1 函数原型的概念和声明.mp4
│ │ 2 函数原型的作用-1.mp4
│ │ 3 函数原型的作用-2.mp4
│ │ 4 函数原型的作用.mp4
│ │ 5 函数原型使用的注意点.mp4
│ │ 6 案例讲解-函数原型.mp4
│ │
│ └─4 扩展:函数参数的求值顺序和二义性
│ 扩展:函数参数的求值顺序和二义性.mp4
│
├─8 数组
│ ├─1 序言
│ │ 序言.mp4
│ │
│ ├─2 一维数组
│ │ 1 数组的概念.mp4
│ │ 2 一维数组的定义和初始化.mp4
│ │ 3 一维数组的引用.mp4
│ │ 4 案例讲解-一维数组.mp4
│ │
│ ├─3 用数组实现冒泡排序算法(算法-排序)
│ │ 1 冒泡排序的原理.mp4
│ │ 2 冒泡排序的实现.mp4
│ │
│ ├─4 用数组实现选择排序算法(算法-排序)
│ │ 选择排序的原理和实现.mp4
│ │
│ ├─5 二维数组
│ │ 1 二维数组的定义、初始化和引用.mp4
│ │ 2 示例--二维数组的定义、初始化和遍历 .mp4
│ │ 3 案例讲解--二维数组.mp4
│ │
│ ├─6 扩展1:用数组实现栈(数据结构-栈的简单实现)
│ │ 1 数组结构--栈的原理.mp4
│ │ 2 数组结构--栈的简单实现-1 .mp4
│ │ 3 数组结构--栈的简单实现-2.mp4
│ │
│ └─7 扩展2:用数组实现队列
│ 数据结构--队列的原理和实现.mp4
│
└─9 指针基础
├─1 序言
│ 序言.mp4
│
├─2 指针的介绍
│ 1 指针的作用、指针和指针变量的概念.mp4
│ 2 指针的定义和初始化-1 .mp4
│ 3 指针的定义和初始化-2.mp4
│ 4 指针的定义和初始化-3 .mp4
│
├─3 段错误
│ 段错误的概念、成因、避免和解决 .mp4
│
├─4 指针运算
│ 1 取地址和指针运算符及指针赋运算.mp4
│ 2 数组名的概念和指针加减运算-1.mp4
│ 3 指针加减运算-2和指针比较运算.mp4
│
├─5 函数传参
│ 1 函数传参的方式和区别-1 .mp4
│ 2 函数传参的方式和区别-2 .mp4
│
├─6 指针与一维数组
│ 1 指向数组的指针和数组的遍历方式.mp4
│ 2 数组的传参方式.mp4
│
├─7 二级指针
│ 二级指针的概念和定义 .mp4
│
└─8 常量指针和指针常量
|
|