一、C/C++学习路线图—流程篇:
上图如觉不清楚,请狠狠点击图片滚动滚轮查看清晰版
二、C/C++学习路线图—视频篇:
1、第一阶段-C语言开发视频资源
C/C++视频第一阶段-C语言开发 |
本阶段C/C++课程共计7个知识点,1个免费视频涵盖 |
1、学习目标: 学完后目标: 1) 具备C/C++领域基础专业编程能力; 2) 独立完成项目案例; |
2、知识点: 1)C语言概述 计算机基础;第一个C语言程序;C的代码的含义与编译;集成开发环境(vs、qt) 2)编程基础 常量与变量;进制转换;运算符;条件控制语句;数组与字符串 3)函数 函数的基本概念;字符串操作的常用函数;自定义函数 4)指针 指针变量的定义;指针基本使用;const修饰的指针;一级指针与数组名的关系;指针法操作数组元素;指针作为函数的参数;数组作为函数的参数;指针做函数的返回值;指针处理字符串 5)内存管理 局部变量的作用域和生命周期;静态局部变量的作用域和生命周期;全局变量的作用域和生命周期;静态全局变量的作用域和生命周期;静态函数和非静态函数的区别;内存分区;堆区内存的分配(malloc)和释放(free) 6)复合类型 结构体的基本用法;结构体嵌套指针和数组;结构体作为函数参数;复合类型的声明与使用 7)文件操作 文件的分类(文本、二进制);文件的打开和关闭;文件操作函数;文件读写缓冲区的概念 |
3、该阶段免费配套视频 1)《13天基础视频教程》(此免费视频对应上述1,2,3,4知识点) |
2、第二阶段-C高级编程视频资源
C/C++视频篇第二阶段-C高级编程 |
本阶段C/C++课程共计7个知识点,共计1个免费配套视频涵盖 |
1、学习目标: 1) 掌握C语言中的字符串、一维数组、二维数组的用法; 2) 掌握一级指针,二级指针,三级指针的高级用法,理解N级指针概念,指针数组和数组指针; 3) 学会结构体、文件的使用; 4) C语言接口封装设计。 |
2、知识点: 1)内存分区、函数调用模型 数据类型、变量的含义;内存四区特点;函数的调用模型;内存操作函数;宏定义与预处理 2)指针高级 指针基本使用;指针的步长的概念;指针简介赋值;指针以及多级指针做函数参数的特性与使用;通过指针操作字符串;const类型修饰符;位的逻辑运算符;移位运算符;数组指针与指针数组;多维数组做函数参数;结构体嵌套一级指针;结构体嵌套二级指针;浅拷贝深拷贝 3)函数指针与回调函数 封装和设计的思想;函数指针定义的三种方式;回调函数 4)数据结构与链表 链表的基本概念;单链表的相关操作 5)递归函数 递归函数的概念;递归的使用 6)数据结构与算法 大O表示法基本概念;线性表顺序存储和链式存储概念;线性表的顺序存储(数组);线性表的链式存储(链表);队列的顺序与链式存储;栈的顺序与链式存储;二叉树基本操作;常用排序算法 7)接口的封装和设计 函数的封装设计;解耦合的设计理念;模块实现与业务分离的思想 |
3、该阶段免费配套视频 1)《C高级编程》(此免费视频对应上述1,2,3,7知识点) 2)《 数据结构》 (此免费视频对应上述4,5,6知识点) |
3、第三阶段-C++核心编程视频资源
C/C++视频篇第三阶段-C++核心编程 |
本阶段C/C++课程共计10个知识点,共计1个免费配套视频涵盖 |
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) STL STL容器、迭代器的原理;序列式容器vector、string、deque;堆栈容器stack、quenue;双向链表容器list;关联式容器set、multiset;对组pair;关联式容器map、multimap;STL算法详解 |
3、该阶段免费配套视频 1)《C++核心编程》(此免费视频对应上述1-9知识点) 2)《STL》 (此免费视频对应上述1-9知识点) |
4、第四阶段-桌面应用开发
C/C++视频篇第四阶段-桌面应用开发 |
本阶段C/C++课程共计3个知识点,共计1个免费配套视频涵盖 |
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应用程序;模态对话框和非模态对话框;常用控件 |
3、该阶段免费配套视频 1)《Qt界面编程》(此免费视频对应上述1,2知识点)QQ3414556270 2)《MFC》 (此免费视频对应上述3知识点) |
5、第五阶段-Linux 系统编程视频资源
C/C++视频篇第五阶段-Linux系统编程 |
本阶段C/C++课程共计6个知识点,1个免费视频涵盖 |
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;使用信号完成子进程的回收;发送信号时如何进行参数传递; |
3、免费视频资源配套: 1)《Linux系统编程》(此免费视频对应上述1-6知识点) |
6、第六阶段-Linux 网络编程视频资源
|
7、第七阶段-项目实战相关视频资源
C/C++视频篇第七阶段-项目实战相关 |
本阶段C/C++课程知识点会持续更新哦。。。 |
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)持续更新。。。。。。 |
3、免费视频资源配套: 1)《关系型数据库编程》(此免费视频对应上述1、2知识点)源 2)《MongoDB编程》 (此免费视频对应上述3知识点) 3)《Shell脚本编程》 (此免费视频对应上述5知识点) 4) 与知识点4、6、7、8相关视频,正在紧张打滚更新中 |
8、第八阶段-网络攻防视频资源
C/C++视频篇第八阶段——网络攻防相关 |
本阶段C/C++课程会持续更新哦。。。 |
1、学习目标: 1)掌握市场主流网络安全攻防技术; 2)掌握流量监测等核心安全研发能力。 |
2、知识点: 1)web安全、服务器安全、数据安全 网络安全威胁体系;XSS漏洞与过滤;WebShell防护;拒绝服务攻击;常见的web安全漏洞 2)DPI(深度包检测) 不少于30大类的网络应用的识别;支持HTTP、SMTP、POP3、IMAP等几十种周知协议的解析与还原。;加密应用识别:VPN识别:应支持PPTP、L2TP、OpenVPN、SSTP、IPSec、Cisco VPN的识别和上下线检测;即时通信识别:应支持微信、QQ、陌陌、WhatsAPP、Skype等识别;软件识别:应支持Goagent、SSH、Shadowsocks、VPN Gate、赛风3、BTSync、Fqrouter2、OpenDoor、Puffin、无界、纽约时报、Onavo、曲径、Operamini等的识别和上下线检测;通用加密应用识别:应支持HTTS、FTPS、POP3S、SMTPS、IMAPS、Gmail等的识别。;特种木马:应支持若干种特种木马的加密通道识别。 3)异常通信行为分析 对采集到的netflow原始流记录或录制的原始报文等组合应用多种网络通信行为分析技术,可发现未知攻击和未知木马;异常域名检测:通过分析域名请求、应答记录发现异常域名,留存域名访问记录元数据;异常通信行为分析:发现网络异常通信行为,如内部主机和外部主机的间歇性连接、服务器主动外联、工作主机非工作时间主动外联等。 4)加密流量还原 支持自由门、极速VPN、s等隐匿通道的流量破解还原能力,支持Talkbox应用的破解还原。 |
3、免费视频资源配套: 该阶段所有视频,正在打滚更新中,请随时关注。 |
三、C/C++学习路线图—工具篇:
1、工具篇-C/C++所用软件
工具篇-学 C/C++ 所用软件(学 C/C++ 必备软件全都有) |
||
资源名称 | 百度网盘一键下载 | 密码 |
基础班软件全部下载: |
https://pan.baidu.com/s/1Y0Qd1Y8GbQVoJ39uMfhC6A | mkas |
局域网通信神器飞秋 |
https://pan.baidu.com/s/1K53vsVk2zLSyYvwG8qpkbw | pgsg |
谷歌浏览器chrome |
https://pan.baidu.com/s/12n3CGnlcP_snmnnQ2Addsg | xkt9 |
火狐浏览器firefox |
https://pan.baidu.com/s/1A2gr3zz8Bz5YVHTGTpi1mA | z5y5 |
思维导图xmind |
https://pan.baidu.com/s/1Qql5naidvzVeCJa2Dvypkw | icbr |
重量级IDE visual studio 2015 |
https://pan.baidu.com/s/1xOI2FpnuKsizdIZMKTNpxQ | ep8n |
界面编程IDE Qt creator |
https://pan.baidu.com/s/1_AzPDxq-AfqJaaRJVyjamQ | bdmf |
虚拟软件 Vmware |
https://pan.baidu.com/s/1p1FvWYjfBMI2DJ1eO3zUNw | 7hx8 |
Linux发行版 CentOS |
https://pan.baidu.com/s/1rrvIaSj5f2NEmKN-Yii2xA | 5pdi |
文本编辑器合集下载 |
https://pan.baidu.com/s/103qApJihsgtxFXoDxuCEng | hiu0 |
notepad++ |
https://pan.baidu.com/s/13RZyob2pjCx1opzowT82tA | siqf |
EditPlus |
https://pan.baidu.com/s/1vHivYhWN-9OxSKFsWe_TbQ | 6d50 |
Sublime Text |
https://pan.baidu.com/s/1xqOhnyqlCCkuLD5rpo83vA | 3dmw |
2、工具篇-C/C++各种文档
工具篇-学 C/C++ 所用各种文档和推荐书籍 |
||
资源名称 | 百度网盘一键下载 | 密码 |
C语言相关文档和书籍 | https://pan.baidu.com/s/1hHjGMXfT4-8i5K1hXcXetA | gefz |
C语言函数速查表 | https://pan.baidu.com/s/1YNv782kgnMlIQ8XG4tnE1A | jize |
C语言程序设计_现代方法 第2版 | https://pan.baidu.com/s/1k4VA8DlAe26VoeL7tMJVaA | ipoa |
C专家编程 | https://pan.baidu.com/s/1qZUx0Oily17o0ZT5txjDag | v0rs |
c与指针 | https://pan.baidu.com/s/1eQ6PzE8_LqmW7_MWiMdY-g | 2vkh |
c陷阱与缺陷 | https://pan.baidu.com/s/1NlO_7VDc5ssN8G32_8FzYw | jm2e |
C语言参考手册第五版 | https://pan.baidu.com/s/1yrwsNLtJiM_BbzMfJFGVuw | fkc6 |
C语言运算符优先级详细列表 | https://pan.baidu.com/s/1M5subEUGUJK3MExZ3HWy1w | b6n0 |
C++相关文档和书籍 | https://pan.baidu.com/s/1JesCVW5JzwIjj-CPlGr0CQ | uh4q |
C++ Primer Plus 第6版 中文版 | https://pan.baidu.com/s/18ez3CeB1ioUpqJxIL32wlw | g4oz |
C++ Primer第五版习题集完整版 | https://pan.baidu.com/s/1GEGXPdzrD4-HCUji9UBg5w | 9y1s |
C++ Primer | https://pan.baidu.com/s/1hhwx7f5Z8CmTzr_pjhjhnw | cljb |
数据机构相关文档和书籍 | https://pan.baidu.com/s/16Z_vDG8kLIfjkDTXt7fK5w | 631k |
数据结构 C语言 严蔚敏 pdf | https://pan.baidu.com/s/1vkZmLgT6jW887eSNRMbsww | fpg0 |
算法导论(第三版) | https://pan.baidu.com/s/1hHg8JFYCY0rl3yXYkObJ2w | 9lha |
Linux相关文档和书籍 | https://pan.baidu.com/s/1PevsV4kwVu4M_bwIf8lAfw | axba |
UNIX环境高级编程(中文第三版) | https://pan.baidu.com/s/1PZWnT4FKMXrRow3D7wma4w | in7n |
Linux网络编程 | https://pan.baidu.com/s/1cfHO59Mv5KqPpxnMCeflcg | a15n |
鸟哥的Linux私房菜-基础学习篇 | https://pan.baidu.com/s/1uIZJuS36zZkydWZs2v6ATA | 2xj0 |
鸟哥的Linux私房菜-服务器架设篇 | https://pan.baidu.com/s/1DY96DsyLpmTXQPAVWy2bvQ | d9mm |
UNIX.shell范例精解(第4版) | https://pan.baidu.com/s/1o8LFlRM1vkXxkowdMc08fw | 1xco |
TCP-IP详解 | https://pan.baidu.com/s/1B0FqaVmfEqFT58zAgxzymg | hpnn |