传智播客旗下品牌:  黑马程序员  |  博学谷  |  传智专修学院

改变中国IT教育,我们正在行动     全国咨询热线:400-618-4000

C/C++学科课程体系



点击图片可放大查看

C/C++基础班

学习对象:


1、对C++感兴趣,但没有任何软件编程基础,想先从零基础入手的软件开发爱好者;


2、希望从另外一些简单的其他语言转型从事C++开发的求职人员。


培训周期:


培训时间:部分校区可能会根据实际情况有所调整,详情可询咨询老师   点击咨询


培训方式:全日制脱产,每周5天上课, 上两天课休息一天的上课方式(实际培训时间可能因法定节假日等因素发生变化)。


培训要求:电脑内存在4G以上,8G内存为最佳,尽量Win7、64位以上操作系统,intelCPU双核2.2以上,至少500G存储空间。


学习费用:


(点击此处查看2017传智播客各学科学费价格表)


视频下载:


关于C/C++基础视频教程,传智播客已经录制完成,并对外免费开放。建议参加此班的学员在开学之前,请下载视频并进行提前预习,以取得更好的学习效果。


点击此处进入视频下载页面



注:获取更多视频资料+源码+笔记 加QQ:1935369491

1.C语言基础

C/C++基础班课程大纲
所处阶段 主讲内容 技术要点 学习目标
第1阶段:
C语言基础
1.Unix/Linux实战 用户查询和切换命令;用户管理命令;文件权限管理命令;进程管理命令;系统管理命令(关机重启、网络连通性);vi编辑器;远程操作;webserver服务器搭建过程 可掌握的核心能力:
(1)通过C语培养编程思维和动手能力;
(2)通过C语言的学习培养面向过程编程思想,为以后的深入学习就业课程打下坚实基础。

可解决的现实问题:
(1)具备C/C++领域基础专业编程能力;
(2)实现电子词典项目案例。

市场价值:
具备学习编程思维,但尚不能达到任何企业用人标准。
2.Unix/Linux服务器配置 Unix/Linux操作系统;类Unix系统目录结构;查询命令;目录管理命令;文件管理命令;压缩解压命令
3.C语言概述 第一个C语言程序;C语言程序代码的含义;printf函数;gcc编译器对C代码进行编译;system函数;集成开发环境(vs、qt)
4.数据类型与运算符 常量与变量;进制;计算机内存数值存储方式;整型int;字符类型char;实型(浮点型)float、double;字符串格式化输出和输入
5.条件判断与循环语句 运算符;条件控制语句;循环控制语句(while、do-while);循环控制语句(for);条件、循环语句的嵌套使用;跳转语句
6.数组与字符串 一维数组;一维数组的案例;二维数组;字符数组;srand()函数和rand()函数产生随机数
7.函数 字符串输入输出函数;字符串长度获取函数;字符串拷贝、连接、比较函数;字符串格式化函数(sprintf、sscanf);字符串查询、切割函数;自定义函数
8.指针 指针变量的定义;指针基本使用;const修饰的指针;一级指针;指针和数组名的关系;指针法操作数组元素;指针作为函数的参数;数组作为函数的参数;指针做函数的返回值;指针处理字符串;字符指针做函数参数;项目开发常用字符串应用模型(两头堵、字符串翻转)
9.内存管理 局部变量的作用域和生命周期;静态局部变量的作用域和生命周期;全局变量的作用域和生命周期;静态全局变量的作用域和生命周期;静态函数和非静态函数的区别;内存分区;堆区内存的分配(malloc)和释放(free)
10.复合类型 结构体的基本用法;结构体嵌套指针和数组;结构体作为函数参数;union联合体类型;enum枚举类型;typedef声明类型
11.文件操作 文件的分类(文本、二进制);文件的打开和关闭;fgetc()函数和fputc()函数;feof()函数;fgets()函数和fputs()函数;文件相关案例一;fprintf()函数和fscanf()函数;fread()函数和fwrite()函数;fseek()函数和ftell()函数;文件相关案例二;文件读写缓冲区的概念
12.项目实战 创建Qt应用程序;IDE案例ui界面的设计;IDE案例打开文本文件功能;IDE案例另存为功能;IDE案例编译代码功能;IDE案例字符编码选择功能;一级指针做函数参数;二级指针做函数参数;快译通核心代码的含义;快译通分文件(多文件)编程;Qt版快译通

C/C++就业班

学习对象:


1、已学习过C++基础班课程内容的相关人士;2、自学过C++书籍与视频资料,有一定的C++基础的相关人士


培训周期:


培训时间:部分校区可能会根据实际情况有所调整,详情可询咨询老师   点击咨询


培训方式:全日制脱产,每周5天上课, 上两天课休息一天的上课方式(实际培训时间可能因法定节假日等因素发生变化)。


培训要求:电脑内存在4G以上,8G内存为最佳,尽量Win7、64位以上操作系统,intelCPU双核2.2以上,至少500G存储空间。


学习费用:


C/C++学科学费价格一览(享受优惠价的条件是什么?)


2.C提高

C/C++就业班课程大纲
所处阶段 主讲内容 技术要点 学习目标
第2阶段:
C提高
1.数据类型、内存分区、函数调用模型 数据类型、变量的含义;全局、静态区;栈区的特点;堆区的特点;函数的调用模型;realoc、calloc 可掌握的核心能力:    
(1)掌握C语言中的字符串、一维数组、二维数组的用法;
(2)掌握一级指针,二级指针,三级指针的高级用法,和理解N级指针概念,指针数组和数组指针; 3、学会结构体、文件的使用。

可解决的现实问题:
(1)可以实现自己开发小程序,例如贪吃蛇一类的用C语言写的程序;
(2)可以读懂C语言程序代码。

市场价值:
可以掌握C语言深入技巧,灵活应用C语言接口封装设计的方法,但尚不能达到任何企业用人标准。  
2.一级指针的概念和使用 指针基本使用;指针的步长的概念;间接赋值是指针存在的最大意义;一级指针做函数参数;通过指针操作字符串;const类型修饰符
3.二级指针作为函数参数、位运算 二级指针的基本使用;二级指针做参数输出特性的使用;二级指针做参数输入特性的使用;多级指针作为函数参数;位的逻辑运算符;移位运算符
4.指针与数组、结构体的关系 数组指针;指针数组;多维数组做函数参数;结构体嵌套一级指针;结构体嵌套二级指针;结构体的浅拷贝深拷贝
5.函数指针 基本功能模块的封装和设计的思想;函数指针定义的三种方式;函数指针数组的定义和使用;函数指针做函数参数(回调函数)
6.链表的操作、宏定义 链表的基本概念;单向链表初始化操作;遍历链表的操作;插入节点操作;删除指定节点的操作;链表释放节点操作;预处理带参数和不参数宏
7.递归函数、案例 递归函数的使用;C提高案例

3.数据结构

所处阶段 主讲内容 技术要点 学习目标
第3阶段:
数据结构
1.数据结构概念、线性表 大O表示法基本概念;线性表顺序存储和链式存储概念;线性表的顺序存储(数组);线性表的链式存储(链表) 可掌握的核心能力:
在基础班C语言知识点之上,掌握C语言深入技巧,C语言接口封装设计

可解决的现实问题:
应用C语言接口封装设计的方法,进行企业项目开发。

市场价值:
掌握基本的数据结构类型,尚不能达到企业用人标准。
2.队列、栈 队列的顺序存储;队列的链式存储;栈的顺序存储;栈的链式存储;栈的应用案例;
3.二叉树、常用排序算法 二叉树基本操作(高度、拷贝、叶子节点数目);二叉树递归遍历(先序遍历、中序遍历、后序遍历);二叉树应用案例;常用排序算法

4.C++开发编程

所处阶段 主讲内容 技术要点 学习目标
第4阶段:
C++开发编程
1.C++对C的扩展、引用 C++语言的命名空间的使用;C++对C的扩展;C、C++中const不同之处;定义和使用引用类型变量 可掌握的核心能力:
具备常用C++方向基本知识和常用技能。

可解决的现实问题:
能够具备基本的开发能力,看懂简单代码,实现开发简单程序软件的功能。

市场价值:
熟练学习和掌握后,可满足企业开发的初级需求,根据市场反馈数据看,薪资普遍在 6000-8000元 /月。
2.函数的默认参数、函数重载、类和对象 C++语言的默认参数;C++语言的函数重载;类和对象的基本概念;类的封装和访问控制权限;类和对象进行简单编程
3.对象的构造和析构 类的构造函数;类的析构函数;explicit关键字作用;类的拷贝构造函数的使用;深拷贝和浅拷贝问题;多个对象的构造和析构函(初始化列表)
4.对象的动态分配和释放、成员变量和函数的存储、this指针、友元 类和对象的动态分配和释放内存;静态成员变量和函数的使用;C++编译器对成员变量和成员方法的处理机制;this的使用;友元函数;友元类
5.运算符重载、自定义String类 运算符重载概念;双目运算符重载;单目运算符重载;输入输出操作符重载;赋值操作符重载;数组下标运算符重载;函数调用符号操作符重载;自定义的智能指针类;实现一个自定义的String类
6.类的继承和派生、多态 继承中的访问控制;继承中的构造和析构;多继承;virtual继承的基本概念;多态的使用(多态成立条件、使用场景);区分成员函数的重写和重定义
7.虚函数 虚函数表指针,分步初始化;虚函数;纯虚函数;抽象类的使用;虚析构函数和纯虚析构函数;多态案例
8.函数模版、类模版 函数模板基本语法;函数模板和函数重载的调用规则;编译器对模板的编译过程;类模板的概念和基本语法;继承中的类模板;类模板中普通友元函数、友元函数模板的处理;类模板案例
9.C++类型转换、异常、输入和输出流 C++语言的类型转换;异常的抛出;异常的捕获;C++标准异常库;C++标准I/O流(cin、cout);C++的文件I/O类的使用
10.vector、string、deque STL容器、迭代器的原理;序列式容器vector、string、deque
11.stack、list、set、map 堆栈容器stack、quenue;双向链表容器list;关联式容器set、multiset;对组pair;关联式容器map、multimap
12.STL容器的常用算法 STL 算法详解,查找、排序、拷贝和替换、算数和生成、集合、遍历
13.C++综合小项目 通过项目实战,使大家了解如何开发的C++程序,从项目需求分析项目设计,到项目实现,对C程序开发流程有个整体的认识

5.QT界面编程

所处阶段 主讲内容 技术要点 学习目标
第5阶段:
QT界面编程
1.Qt 初识 Qt的一些基本概念;Qt应用程序框架;Qt信号和槽的应用;Qt窗口系统;创建Windows风格窗口;使用对话框 可掌握的核心能力:
具备常用QT和MFC界面开发的基本技巧和常用技能;

可解决的现实问题:
能够实现简单的前台界面开发;

市场价值:
熟练学习和掌握后,可满足企业开发的初级需求,根据市场反馈数据看,薪资普遍在9000-13000元 /月。
2.Qt常用的控件 常用对话框的使用;Qt界面设计器的使用;常用控件的使用;界面布局;自定义控件的使用;Qt事件处理
3.Qt绘图与文件操作 QPainter绘图;update函数;绘图设备(QPixmap、QBitmap、QImage、QPicture);文件操作
4.Qt界面编程案例 汽车销售管理系统ui设计;汽车销售管理系统车辆管理模块功能开发;汽车销售管理系统销售统计模块功能开发;汽车销售管理系统人员登陆模块功能开发;人员和车辆信息文件读写类的使用

6.MFC界面编程

所处阶段 主讲内容 技术要点 学习目标
第6阶段:
MFC界面编程
1.MFC 初识 Windows编程的一些基本概念;Windows编程模型;MFC应用程序框架;创建MFC应用程序;MFC函数Ex后缀和Afx前缀的作用 可掌握的核心能力:
具备基本的MFC开发的技巧和常用技能;

可解决的现实问题:
实现简单的MFC界面程序;

市场价值:
熟练学习和掌握后,可满足企业开发的初级需求,根据市场反馈数据看,薪资普遍在9000-13000元 /月。
2.MFC对话框与常用空间 创建基于对话框的MFC应用程序;模态对话框和非模态对话框;常用控件
3.MFC界面编程案例 销售管理系统ui设计;销售管理系统销售管理模块功能开发;销售管理系统库存管理模块功能开发;销售管理系统个人信息模块功能开发;销售管理系统人员登陆模块功能开发;人员和商品信息文件读写类的使用

7.linux系统编程

所处阶段 主讲内容 技术要点 学习目标
第7阶段:
linux系统编程
1.Linux常用命令 Linux下的目录结构和常见目录的作用、相对路径和绝对路径、常用文件和目录操作相关的命令;修改用户权限、用户和用户组相关的命令;find命令相关参数进行文件查找;grep命令根据文件内容进行文件的查找;压缩工具完成文件或目录的压缩解压缩;Ubuntu下的软件安装和卸载 可掌握的核心能力:
具备常用后台服务器开发方向基本知识和常用技能,并具备基本的开发能力;

可解决的现实问题:
能够实现包括服务器后台、前端界面、服务器数据库的开发。

市场价值:
熟练学习和掌握后,可满足企业开发的初中级需求,根据市场反馈数据看,薪资普遍在 8000-11000元 /月。
2.vim常用命令 vim命令模式下相关命令;命令模式切换到编辑模式的相关命令;vim末行模式下相关命令;找到vim的配置文件并且参考资料进行配置;gcc的工作流程和掌握常见参数;Linux下的静态库的制作和使用;Linux下的共享库的制作和使用
3.makefile、gdb调试 使用规则编写简单的makefile文件;makefile中的变量;makefile中的函数;gdb相关调试命令;pcb和文件描述符,虚拟地址空间;Linux系统IO函数;阻塞和非阻塞的概念
4.目录相关操作函数 stat/lstat函数;文件属性相关函数;链接相关的函数;目录操作相关函数;目录遍历相关函数;dup、dup2函数;fcntl函数
5.进程 进程相关的概念;fork/getpid/getppid函数;ps/kill命令;execl/execlp函数;什么是孤儿进程和僵尸进程;wait函数;waitpid函数
6.进程间通信 pipe进行父子进程间通信、兄弟进程间通信;fifo进行无血缘关系的进程间通信;mmap函数;mmap创建匿名映射区;mmap进行有血缘关系的进程间通信、无血缘关系的进程间通信
7.信号 信号中的基本概念;使用信号相关的函数;信号内核实现原理;参考文档使用信号集操作相关函数;信号捕捉函数signal、sigaction;使用信号完成子进程的回收;发送信号时如何进行参数传递
8.守护进程 守护进程的特点;进程组和会话概念和相关函数;守护进程的创建;多个线程的创建;线程的退出和资源回收、取消(杀死线程);线程属性设置线程分离
9.信号 互斥量;死锁以及解决方案;读写锁;条件变量;条件变量实现生产消费者模型;信号量实现生产消费者模型;线程同步解决哲学家就餐问题
10.网络协议概述 OSI七层模型结构;TCP/IP 4层模型结构;B/S、C/S优缺点对比;常见网络协议格式;套接字;网络字节序;IP地址转换函数;编写TCP的C/S网络程序
11.TCP/IP、高并发服务器 三次握手建立连接过程;四次握手断开连接过程;滑动窗口概念;错误处理函数封装;多进程并发服务器;多线程并发服务器
12.TCP/IP、select TCP状态转换图;2MSL概念;端口复用方法;半关闭;多路IO转接模型;select函数;fd_set相关操作函数;select多路IO转接模型
13.poll和epoll poll操作函数;epoll多路IO模型;epollET/LT触发模式;epoll反应堆模型设计思想;线程池模型的设计思想
14.UDP UDP通信;UDP C/S 服务器模型;UDP 广播机制;UDP 组播机制;本地套接字
15.Linux小项目 通过项目实战,使大家熟悉Linux知识的应用,已经如何开发服务器程序,从项目需求分析项目设计,到项目实现,对程序开发有个整体的认识
16.libevnet简介 libevnet库设计核心思想epoll反应堆模型;libevnet库event_base;libevnet库中的循环;libevnet库中的事件Event;使用BufferEvent、evBuffer;结合帮助手册扩展学习libevnet库;git代码管理工具的基础使用
17.开发常用小技术 xml文件的语法格式;借助xml对应C库函数,生成xml文件;已知xml文件,解析xml数据;xml库接口封装设计;自定义库函数接口的使用;json数据存储的语法格式;借助cJSON函数,生成json文件 ;已知json文件,解析出数据;json库接口封装设计;自定义库函数接口的使用

8.数据库编程

所处阶段 主讲内容 技术要点 学习目标
第8阶段:
数据库编程
1.SQL语句 Oracle数据库基本概念;sqlplus工具访问Oracle数据库;select语句查询数据;sql语句过滤;sql语句排序表数据;相关单行函数;多行函数(组函数);group by与having进行分组数据与分组过滤 可掌握的核心能力:
掌握常用数据库类型的操作技巧和简单开发。

可解决的现实问题:
熟练应用项目中使用的数据库知识,能做简单的数据库开发。

市场价值:
熟练学习和掌握后,可满足企业开发的初中级需求,根据市场反馈数据看,薪资普遍在 8000-11000元 /月。
2.多表查询、事务 多表查询检索表数据;编写外连接sql检索数据;子查询获取表数据;解决Top-N问题;进行集合运算;处理表数据;事务的概念;第三方工具登陆oracle数据库
3.oracle 创建和管理表(oracle);oracle表的约束;数据库的对象视图和索引(oracle);Oracle基于用户的解决方案实施;安装启动mysql数据库;对mysql数据库进行CURD操作、对表进行CURD操作、增删改操作;查询语句获取mysql表数据
4.mysql mysql表的约束;mysql中出现的中文乱码问题;mysql函数库连接数据库;mysql API访问数据库;使用基础类API实现mysql客户端工具;预处理类API访问mysql数据库;使用api修改mysql事务特性
5.mongodb操作 mongodb的安装;mongodb的相关概念;mongodb的基本操作指令;对mongodb进行数据操作、索引操作;mongodb的副本集
6.mongodb-c++API的使用 使用mongodb-c++API;需求分析的一般过程;需求案例的实现原理和设计过程;案例程序框架搭建和部署;使用mysql-API操作mysql数据库、mongodb数据库

课程特色

课程契合市场需求:


随着移动互联网、物联网、云计算、大数据的飞速发展,各种智能设备遍地开花,各种app应用遍地开花,在应用客户数达到百万千万级别和数据处理达到海量以后,对支撑其后端的服务器编程是一个巨大的挑战,服务器端编程以技术难含金量高而著称,C/C++更是扮演了服务器端的性能王者的角色,大型互联网服务器端C/C++能占到项目代码的40%以上,服务器端开发工程师市场上更是一人难求,对于具备多年工作经验的C\C++工程师更是各大IT企业急招和抢招的目标。C/C++在近40年的发展历程中,一直以来都被猎头作为竞相角逐的弄潮儿。而我们的课程正是针对这种技术潮流而开发,后端基于Linux系统的C/C++服务器编程和python服务器编程,云计算、大数据处理,结合前端Android、iOS系统的C/C++应用开发与UI开发,Windows系统下的C/C++开发。


教师团队强大:


由在华为等大型公司工作多年的资深软件工程师组成的师资团队,更能准确把握市场需求,也同时精通哪些知识是最重要和必须的,这样能使你的学习达到事半功倍的效果,能让你少绕远路,直达目的。

知识精简全面:课程内容涵盖了C/C++的所有知识点并结合实战开发的注意事项。在逐项介绍各个知识点的同时,更是深度剖析知识点的原理思想,让学员站在更高的层面来理解知识点。除了传授学员基本的编程方法,更加注重学员编程思想的养成。


侧重实战:


一线开发人员组成的教师队伍,注定你会比其他人有更多的接触实际开发的知识,这样可以使你的开发经验比别人要多得多,也就是说你面试和以后的工作中都会拥有一个巨大的经验财富,你会更自信的对待每一个问题。


大型企业项目实战:


真实企业级大项目开发实战是本套课程的主要特点和终极目标。在教学中将企业真实、实用和前沿的项目开发技能传授给学员,并让学员在一行一行的代码中实现完成,整个教学过程不但让学员充满了成就感,更重要的是直接提高了学员的开发经验,为学员实现高薪就业起到了至关重要的作用。


我要报名

C/C++学科课程体系

C/C++基础班

1.C语言基础

C/C++就业班

2.C提高

3.数据结构

4.C++开发编程

5.QT界面编程

6.MFC界面编程

7.linux系统编程

8.数据库编程

课程特色

我要报名