• 周老师:13647472554

新闻动态

C/C++学习路线图
作者:领航者教育 / 2019-07-11 / 浏览次数:

第一阶段-C语言开发

1、学习目标:

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

2) 独立完成项目案例;

2、知识点:

1)C语言概述

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

2)编程基础

常量与变量;进制转换;运算符;条件控制语句;数组与字符串

3)函数

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

4)指针

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

5)内存管理

局部变量的作用域和生命周期;静态局部变量的作用域和生命周期;全局变量的作用域和生命周期;静态全局变量的作用域和生命周期;静态函数和非静态函数的区别;内存分区;堆区内存的分配(malloc)和释放(free)

6)复合类型

结构体的基本用法;结构体嵌套指针和数组;结构体作为函数参数;复合类型的声明与使用

7)文件操作

文件的分类(文本、二进制);文件的打开和关闭;文件操作函数;文件读写缓冲区的概念
第二阶段-C高级编程

1、学习目标:

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

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

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

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

 

2、知识点:

1)内存分区、函数调用模型

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

2)指针高级

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

3)函数指针与回调函数

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

4)数据结构与链表

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

5)递归函数

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

6)数据结构与算法

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

7)接口的封装和设计

 

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

第三阶段-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) STL

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

第四阶段-桌面应用开发

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应用程序;模态对话框和非模态对话框;常用控件
第五阶段-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网络编程

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;多线程并发服务器;
第七阶段-项目实战相关

 

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)持续更新……
第八阶段——网络攻防相关

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、shadowsocks等隐匿通道的流量破解还原能力,支持Talkbox应用的破解还原。

 

 

1、学习目标:

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

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

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

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

 

2、知识点:

1)内存分区、函数调用模型

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

2)指针高级

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

3)函数指针与回调函数

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

4)数据结构与链表

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

5)递归函数

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

6)数据结构与算法

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

7)接口的封装和设计

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

全部课程
热门资讯
快速导航

全部课程: Java全栈开发 | 大数据开发 | 云计算 | RHCE认证 | Linux运维工程师 | Python全栈开发

Copyright @ 2011-2019 衡阳市领航者教育培训学校有限公司.版权所有 | 备案号:湘ICP备19012681号

公司地址:湖南省衡阳市石鼓区船山大道5号百花大厦8-9层 | 网站地图

咨询QQ:547110589 | 手机:13647472554 | 电话:0734-8381101

官方微信公众号: