2020新版C语言学习路线库,学习阶段介绍+视频教程以及资料

C/C++ 与网络攻防学科作为黑马程序员所有学科中最具实力的学科之一,一直以就业稳定,平均薪资高傲为人所知。而C/C++作为一种编程语言,有着悠久的历史,应用广泛,运行速度快,安全性高,学习C/C++能让一个程序员更加了解编程的根本,同时也能让一个程序员在这个行业里走的更远。鉴于很多想自学C/C++的小伙伴找到的资料过于零碎,故总结了这个学习路线图献给大家,希望大家都能够系统地、高效地学习C/C++,并在编程的路上看到更多的风景~

第一阶段 C语言开发

1、学习目标:

1) 具备C/C++领域基础专业编程能力;

2) 独立完成项目案例;

2、知识点:

1)C语言概述计算机基础;第一个C语言程序;C的代码的含义与编译;集成开发环境(vs、qt)

2)编程基础常量与变量;进制转换;运算符;条件控制语句;数组与字符串

3)函数函数的基本概念;字符串操作的常用函数;自定义函数

4)指针指针变量的定义;指针基本使用;const修饰的指针;一级指针与数组名的关系;指针法操作数组元素;指针作为函数的参数;数组作为函数的参数;指针做函数的返回值;指针处理字符串

5)内存管理局部变量的作用域和生命周期;静态局部变量的作用域和生命周期;全局变量的作用域和生命周期;静态全局变量的作用域和生命周期;静态函数和非静态函数的区别;内存分区;堆区内存的分配(malloc)和释放(free)6)复合类型结构体的基本用法;结构体嵌套指针和数组;结构体作为函数参数;复合类型的声明与使用7)文件操作文件的分类(文本、二进制);文件的打开和关闭;文件操作函数;文件读写缓冲区的概念

轻松掌握C语言视频教程(会打字就能学会)

完整视频:http://yun.itheima.com/course/369.html?2004zzpyk

配套资料:https://pan.baidu.com/s/1UF3Va4zIozuwSoo7uzfHJw 密码:ofh9

第二阶段-C高级编程

1、学习目标:

1) 掌握C语言中的字符串、一维数组、二维数组的用法;

2) 掌握一级指针,二级指针,三级指针的高级用法,理解N级指针概念,指针数组和数组指针;

3) 学会结构体、文件的使用;

4) C语言接口封装设计。

2、知识点:

1)内存分区

函数调用模型数据类型、变量的含义;内存四区特点;函数的调用模型;内存操作函数;宏定义与预处理

2)指针高级指针基本使用;

指针的步长的概念;指针简介赋值;指针以及多级指针做函数参数的特性与使用;通过指针操作字符串;const类型修饰符;位的逻辑运算符;移位运算符;数组指针与指针数组;多维数组做函数参数;结构体嵌套一级指针;结构体嵌套二级指针;浅拷贝深拷贝

3)函数指针与回调函数        

封装和设计的思想;函数指针定义的三种方式;回调函数

4)数据结构与链表

链表的基本概念;单链表的相关操作

5)递归函数

递归函数的概念;递归的使用

6)数据结构与算法

大O表示法基本概念;线性表顺序存储和链式存储概念;线性表的顺序存储(数组);线性表的链式存储(链表);队列的顺序与链式存储;栈的顺序与链式存储;二叉树基本操作;常用排序算法

7)接口的封装和设计

函数的封装设计;解耦合的设计理念;模块实现与业务分离的思想

C语言提高深入浅出
完整视频:http://yun.itheima.com/course/407.html?zzpyk
配套资料:https://pan.baidu.com/s/1jhJplSj4-ZPzSecz1elr4A 密码:ov17

C语言数据结构 培养架构师思维
完整视频:http://yun.itheima.com/course/428.html?zzpyk
配套资料:https://pan.baidu.com/s/1C4cm3tVmR0Wea9q6ut-xYQ 密码:4wi6

第三阶段-C++核心编程

1、学习目标:

1) 具备常用C++方向基本知识和常用技能。

2、知识点:

1)C++对C的扩展、引用C++语言的命名空间的使用;C++对C的扩展;C、C++中const不同之处;定义和使用引用类型变量

2)函数重载类的的默认参数;C++的函数重载;类和对象的基本概念;类的封装和访问控制权限;类和对象进行简单编程

3)类和对象类的构造函数;类的析构函数;explicit关键字作用;类的拷贝构造函数的使用;深拷贝和浅拷贝问题;多个对象的构造和析构函(初始化列表)

4)对象的动态分配和释放类和对象的动态分配和释放内存;静态成员变量和函数的使用;C++编译器对成员变量和成员方法的处理机制;this的使用;友元函数;友元类

5) 运算符重载运算符重载概念;常用运算符重载;自定义的智能指针类;实现一个自定义的String类

6) 类的继承和派生、多态继承中的访问控制;继承中的构造和析构;多继承;virtual继承的基本概念;多态的使用(多态成立条件、使用场景);区分成员函数的重写和重定义;虚函数表指针,分步初始化;虚函数;纯虚函数;抽象类的使用;虚析构函数和纯虚析构函数

7) 面向抽象类编程与设计模式设计模式原则;常用的设计模式

8)函数模板、类模板函数模板基本语法;函数模板和函数重载的调用规则;编译器对模板的编译过程;类模板的概念和基本语法;继承中的类模板;类模板中普通友元函数、友元函数模板的处理

9) 异常、I/O流C++类型转换;C++标准异常库;异常的抛出与捕获;C++标准I/O流(cin、cout);C++的文件I/O类的使用

10) STLSTL容器、迭代器的原理;序列式容器vector、string、deque;堆栈容器stack、quenue;双向链表容器list;关联式容器set、multiset;对组pair;关联式容器map、multimap;STL算法详解

C++核心编程 打造你的核心编程技能
完整视频:http://yun.itheima.com/course/427.html?zzpyk
配套资料:https://pan.baidu.com/s/1F_tvZX3h6MrlCl3U6RUJtA 密码:cka8

C++ STL 高级教程 | 深入浅出版
完整视频:http://yun.itheima.com/course/434.html?zzpyk
配套资料:https://pan.baidu.com/s/1sli_-2F9IENir1ZeLjXRMQ 密码:cj6j

第四阶段-桌面应用开发

1、学习目标:

1) 具备常用QT界面开发的基本技巧和常用技能;

2) 具备常用MFC界面开发的基本技巧和常用技能;

2、知识点:

1)Qt常用的控件Qt的基本概念;Qt应用程序框架;Qt信号和槽的应用;Qt窗口系统;常用对话框的使用;Qt界面设计;Qt事件处理

2)Qt绘图与文件操作QPainter绘图;update函数;绘图设备(QPixmap、QBitmap、QImage、QPicture);文件操作

3)MFC对话框与常用空间Windows编程的基本概念;Windows编程模型;MFC应用程序框架;创建MFC应用程序;MFC函数Ex后缀和Afx前缀的作用;创建基于对话框的MFC应用程序;模态对话框和非模态对话框;常用控件

QT从入门到实战完整版
完整视频:http://yun.itheima.com/course/539.html?zzpyk
配套资料:https://pan.baidu.com/s/196eBhivKbjDfZgZEDZ5SAQ 提取码:ammj

步步打造-frameQT自定义界面
完整视频:http://yun.itheima.com/course/433.html?zzpyk
配套资料:https://pan.baidu.com/s/1QpFmOEV6QgfJoMd3KsD0Pg 提取码:y4a8

MFC进阶教程深入浅出版
完整视频:http://yun.itheima.com/course/431.html?zzpyk
配套资料:https://pan.baidu.com/s/1HgL5A033X-ZcA9zetr1cHA 密码:y0hj

第五阶段-Linux系统编程

1、学习目标:

1) 熟悉Linux开发环境

2) 熟练使用Linux系统接口

3) 掌握进程间通信

2、知识点:

1)Linux命令Linux下的目录结构;工作日程应用命令;Ubuntu下的软件安装和卸载;

2)Linux开发与调试工具vim命令模式下操作;vim末行模式下操作;vim的配置;gcc的工作流程和掌握常见参数;Linux下的静态库与共享库(windows动态库)的制作和使用;Makefile;gdb调试;pcb和文件描述符,虚拟地址空间;

3)系统I/O操作Linux系统IO函数;阻塞和非阻塞的概念; stat/lstat函数;文件属性相关函数;链接相关概念及函数;目录操作相关概念及函数;dup、dup2函数;fcntl函数

4)进程与IPC通信进程相关的概念;进程操作相关函数;孤儿进程;僵尸进程;进程回收;进程间通信

5)线程与并发同步互斥量;死锁以及解决方案;读写锁;条件变量;条件变量实现生产消费者模型;信号量实现生产消费者模型;线程同步解决哲学家就餐问题;

6)信号信号中的基本概念;使用信号相关的函数;信号内核实现原理;信号捕捉函数signal、sigaction;使用信号完成子进程的回收;发送信号时如何进行参数传递;

学好linux? 从零基础系统编程开始
完整视频:http://yun.itheima.com/course/430.html?zzpyk
配套资料:https://pan.baidu.com/s/17E_5UIK_naKCbSIy7IHVfg 密码:3l77

第六阶段-Linux网络编程

1、学习目标:

1) 熟悉网络相关的基础知识

2) TCP/IP协议栈3) 高并发服务器开发

2、知识点:

1)网络协议与网络编程OSI七层模型结构;TCP/IP 4层模型结构;B/S、C/S优缺点对比;常见网络协议格式;套接字;网络字节序;IP地址转换函数;编写TCP的C/S网络程序;UDP通信机制与模型;本地套接字;三次握手建立连接过程;四次握手断开连接过程;滑动窗口概念;错误处理函数封装;TCP状态转换;2MSL概念;端口复用方法;半关闭;

2)高并发服务器开发(poll、select和epoll)多路IO转接模型;select函数;fd_set相关操作函数;select多路IO转接模型poll操作函数;epoll多路IO模型;线程池模型的设计思想;多进程并发服务器;多线程并发服务器;libevent库;epoll反应堆模型;使用BufferEvent、evBuffer;多线程并发服务器;

linux典藏系列之 网络编程
完整视频:http://yun.itheima.com/course/429.html?zzpyk
配套资料:https://pan.baidu.com/s/1pNonADaGLktICkpeqTUCCQ 密码:yfyy

第七阶段-项目实战相关

1、学习目标:

1) 掌握项目中常用数据库的操作;

2) 掌握shell脚本编程;

3) 掌握项目中常用的框架;

4) 掌握项目中常用的工具链;

2、知识点:

1)Oracle数据库编程简单查询;oracle的常用函数;多表查询;集合操作;DDL操作管理表;DML管理数据;其它数据库对象;PL/SQL编程;存储过程与存储函数;触发器;工具查询;解决Top-N问题;

2)MySQL数据库编程MySQL表的约束;MySQL中出现的中文乱码问题;MySQL函数库连接数据库;MySQL API访问数据库;使用基础类API实现MySQL客户端工具;预处理类API访问MySQL数据库;使用api修改MySQL事务特性;

3)MongoDB数据库编程MongoDB的安装;MongoDB的相关概念;MongoDB的基本操作指令;对MongoDB进行数据操作、索引操作;MongoDB的副本集;使用MongoDB C++ API;需求分析的一般过程;需求案例的实现原理和设计过程;案例程序框架搭建和部署;

4)Redis缓存数据库编程

5)Shell脚本编程

6)git-代码版本控制工具

7)Nginx(web框架)的搭建与使用

8)fastDFS(分布式文件系统)的配置与使用

9)持续更新。。。。。。

C++关系型数据库编程 | 4天从入门到精通
完整视频:http://yun.itheima.com/course/435.html?zzpyk

配套资料:https://pan.baidu.com/s/1O3UARlzP6yz0wNZK2WIO2g 提取码:sfw2

MongoDB从配置到编程
完整视频:http://yun.itheima.com/course/432.html?zzpyk

配套资料:https://pan.baidu.com/s/13rHVy53uCNZuAumik2ojrQ 密码:8d5k

技术干货-Linux Shell 精通
完整视频:http://yun.itheima.com/course/448.html?2004zzpqq

配套资料:https://pan.baidu.com/s/1Ss0JXNkjT6WuPw5rzc-KGQ 提取码:ziha

猜你喜欢

转载自www.cnblogs.com/xiao-wanzi/p/12737862.html