周哥教IT.C/C++一站式学习

5人 购买 好评度 -
用手机看

扫一扫继续用手机看

  • 微信扫码

  • QQ扫码

下载手机APP
收藏
  • C/C++ 1期
更多班级

C/C++ 1期

支持随到随学,25年07月过期

¥5762.22

本班因教学质量问题暂时不能报名。 查看详情

课程因违反平台规定暂时不能报名。

立即购买

周哥教IT.超级课程包(2) ( 共14门 )

套餐价 :¥1999.00 原价 :¥4385.00 立即购买 查看详情

课程概述

目录

往期学员作业()

评论

老师介绍

  • 周扬荣

    周扬荣

    硕士毕业于中科院软件所,擅长C、C++和计算机安全,曾就职阿里、360、北大计算机研究所,麦洛科菲教学总监,《程序员求职成功路:技术、求职技巧与软实力培养》作者,创立了麦洛科菲高端IT培训,培训了大量成功就职于BAT的学员
简  介 本课程从C语言编程入门开始,逐渐深入,在详细介绍了指针、链表等C语言中重点和难点之后,再引入C++面向对象编程,以及C++11等现代C++标准,最后还详细介绍了Linux 平台C/C++开发。是零基础学习C/C++编程不可多得的一站式学习整体解决方案。
周哥简介 
周哥:男,真名周扬荣,毕业于中科院软件所。曾就职于阿里巴巴,奇虎360安全公司,SUN中国工程研究院,北大计算机研究所等,创办了“麦洛科菲”高端IT安全培训 。


课程内容介绍
这是一套直接面向企业需求和底层开发的高标准C/C++语言学习教程
C语言学习意义:
1.曾经就职于Amazon和Google的卓越程序员Steve Yegge在他的文章《几种编程语言的优缺点》以及《程序员的呐喊》中指出“你必须懂C”,因为C最懂冯诺依曼计算机,而冯诺依曼计算机是当今计算机的架构标准。
2.底层开发必备
绝大多数的底层软件,包括操作系统(如Windows, Linux, UNIX等),数据库软件(如MySQL),办公软件(如OpenOffice),杀毒软件(如360),网络通信协议(如TCP/IP),加解密库(比如OpenSSL),包括JAVA,Python,PHP等语言的实现,以及各种内核驱动等都是用C语言开发的。C语言作为编程语言之王,是当之无愧的 
3.安全攻防必备
4.高效率开发必备
JAVA JNI
Php C扩展
学会了难学的C语言,其它语言小菜一碟
5.《腾讯传》里指出:马化腾二年级开始把很多精力花在了C语言的学习上。马化腾日后说:“我们最终是靠C打天下的”


一,C语言编程:
《C语言深学活用》课程共包含下面15个大的章节。每个章节都有很多细节需要深入讲解。其中粗体标识的章节又是其中的重点和难点,比如:变量,函数传参、调用约定,指针等。
1.Hello world-程序的编写,编译,运行,测试,调试
2. 整数,浮点数编码与存储,进制与转换
3.数据类型与 变量( 存储空间,作用域,生命周期
4.运算符,表达式,语句
5.字符串
6.数组
7. 函数
q 传参:传值,传指针,(传引用)
q 调用约定( cdecl,stdcall,fastcall
8. 指针
9.内存布局,分配与泄漏
10. 结构体,联合体,枚举
11. 位运算
12.宏
13.文件IO
14.软件调试
15.C语言与汇编

二,链表:
1.数据结构与算法定义,时间复杂度和空间复杂度计算
2.链表的定义
3.单向链表
  创建一个最简单向链表
  单向链表常见操作:创建,插入,删除,遍历,销毁
  单向循环链表
4.双向链表
  双向链表的创建
  双向链表的插入
  双向链表的删除
  双向链表的遍历和销毁

三,C++面向对象编程:
1,C++学习序言
2,面向对象与面向过程(OOP VS POP)
3,C++与C语言区别
4,面向对象之封装
5,面向对象之继承
6,构造函数2个问题
7,面向对象之多态
8,面向对象之重载
9,面向对象实现多线程自动锁
10,单实例设计模式与多线程安全
11,C++课后作业:实现String类
12,STL模板库概述
13,vector容器
14,list容器
15,deque容器
16,set/multiset关联容器
17,map/multimap关联容器
18,适配器:stack,queue,priority_queue
19,STL算法与各种容器比较

四,现代C++精讲
《现代C++精讲》视频课程(目前已知的唯一一个讲现代C++课程的视频),面试里常问的什么智能指针,右值引用,移动语义,深拷贝浅拷贝,STL模板库,类型推导等等都直接干趴下。在本课中,我们将结合实际的例子,详细介绍现代C++的重要特性,并力求浅显易懂。本课提纲如下:
1,序言
    从一次失败的面试经历说起
    从C++98到现代C++
    课程适用对象
2,泛型编程入门
    泛型编程之模板函数
    泛型编程之模板类
    typename与class的区别
3,C++11重要内容提纲
4,右值引用
    什么是左值(lvalue)和右值(rvalue)?
    什么是左值引用?
    什么是右值引用?
    通用引用(universal references)
    引用折叠规则
    完美转发, std::forward
5,移动语义
    浅拷贝带来的问题
    传统拷贝构造函数
    移动构造函数
    std::move
    std::forward和std::move区别
    拷贝赋值函数与移动赋值函数
    noexcept
    vector与移动语义
6,类型推导
    auto类型推断
    auto的作用
    auto注意事项
    decltype推导
    auto结合decltype返回值占位
    decltype与auto区别
7,智能指针
    C++内存管理与垃圾回收
    智能指针概念
    实现一个简单的智能指针:SmartPtr
    早期智能指针的不足
    unique_ptr
    智能指针-shared_ptr:基本使用
    shared_ptr注意事项
    shared_ptr循环引用例子
    shared_ptr多线程安全问题
    weak_ptr
    weakptr应用场景(1)-缓存
    weakptr应用场景(2):避免循环引用和野指针
    weakptr应用场景(3):观察者列表
    树型结构用什么指针?
    weak_ptr解决循环引用问题
    weak_ptr解决多线程安全问题
    智能指针比较分析
    make_shared和new的区别
8,C++11对类定义的改进
    新标准对类的改进主要内容
    =default,=delete
    使用delete而不是private来禁用函数
    委托构造函数(Delegating constructors)
    constexpr构造函数(1):理解constexpr
    constexpr构造函数(2)
    POD( Plain Old Data )-plain
    POD( Plain Old Data )-old
    POD-Plain Old Data
    explicit构造函数
    final关键字
    override关键字
    继承构造函数
9,STL容器改进
    STL容器提纲
    forward_list
    std::array
    cbegin,cend
    swap
    提高容器插入效率:emplace/emplace_back
    shrink_to_fit
    unordered_map概述
    unordered_map存放内建型别数据
    unordered_map存放自定义数据
    unordered_map rehash
    unordered_map与map比较
    vector列表初始化
10,Lambda闭包
11,std::function类模板
    可调用实体&仿函数
    std::function类模版
    std::bind(1)
    std::bind(2)-绑定仿函数
    std::bind(3)-类函数和成员
12,空指针:nullptr
13,列表初始化(1)
14,列表初始化(2)-阻止类型收窄
15,for语句的新写法
16,枚举类或强类型枚举
17,类型别名声明:using与typedef
18,多线程支持
19,C++14标准提纲
20,Lambda参数支持auto
21,C++14constexpr函数
22,C++14类型推导:decltype(auto)
23,二进制常量
24,C++17标准(1)
25,C++17标准(2)
26,C++20展望
27,C++就业-企业需求与求职建议

五,Linux C/C++开发
1,Linux学习序言
2,Linux系统概述
3,Linux系统命令学习
4,VIM学习
5,Linux编写Hello world
6,Makefile文件编写
7,Gdb调试C/C++程序
8,程序崩溃与Core文件分析
9,Linux IDE开发工具简介
10,动态库与静态库开发与调用
11,Linux pthread_create创建一个线程
12,Linux多线程互斥与同步机制
13,Linux进程通信机制
    13.1,共享内存mmap
    13.2,共享内存posix
    13.3,管道
    13.4,信号量
14,Linux网络编程
    14.1,tcp/udp基础编程
    14.2,服务端select模型
    14.3,服务端epoll模型
15,Linux开源库开发
    15.1,json解析
    15.2,libconfig配置文件解析
    15.3,memcached nosql数据库调用
    15.4,mysql数据库调用
    15.5,redis nosql数据库调用

C学习只是开始,只是一个点,学完C请继续构建自己的基础知识体系:

一,基础知识体系:
数据结构
汇编语言
面向对象思想:C++或者Java
网络协议与编程
多线程同步互斥,进程通信
数据库(SQL编程,C语言调用数据库接口)
界面开发(MFC,QT,gtk, Android界面等)
其它编程语言比如python,go等

二,立足平台,选择自己感兴趣的专业方向:
专业包括:内核和安全(麦洛克菲内核安全高级班)、大数据、甚至人工智能等
系统的构建自己的知识体系,而不是局限在某个点上。比如你前几年一直写VB/JavaScript/Delphi/SQL...现在项目组突然不再采用这些语言了,怎么办?
你至少要构建自己的技术壁垒和平台。学习C就应该构建底层技术或安全相关平台;学习Java,就应该构建你自己的JavaEE平台;Objective-C对应IOS/OS X开发平台;C#对应.Net平台,SQL对应数据库平台。如果用JavaScript,那你对应的是整个前端平台。
立足平台,你会站得很稳。立足一个点,你可能摔得很惨

学员评价

课程勘误
C语言部分:
第1课:“Hello world=》程序基础概念入门讲解=》了解:PE格式(PE文件的结构)”中
PE加载基地址默认值应该为:0x400000,而不是0x4000000(后面多了一个0),但其实无论是0x400000还是0x4000000都可以,在VC工具里,程序加载的基地址ImageBase可以在项目属性的链接器(linxer)的高级选项里通过/BASE:"0x400000"来指定。而且更高版本的操作系统比如Windows里,已经引入了地址随机化,因此,加载的基地址会动态随机变化而不再是一个固定值,提高了系统的安全性。

第2课:整数进制转换里面有个错误,10进制100 0x01100100 应该是 0x64,不是0x68,大概在35分钟左右那里。

第10课:一维数组定义与实例:
const int x = 10;
int a[x];
这个实际上是不支持的。const类型的变量并没有明确规定是编译阶段常量还是运行期间常量,有可能会推迟到运行期间初始化。
如果在新的C++11标准下,可以修改为:
constexpr int x = 10;
int a[x];
这样就支持了。constexpr是C++ 11引入的新关键字,明确定义了上面的x是编译阶段常量。

第13课“二级指针”一节:37分50秒这个位置,ptr2=*ptr1,这个时候*ptr1是p1,所以ptr2的值就p1的值,p1指向i,所以ptr2也应该是指向i的(即ptr2里存放的是i的地址)。所以,画箭头的时候,画错了,ptr1这个时候指向的不是p1,指向的是i。也就是ptr1和p1相等(里面存放的是i的地址),都是指向i的

第17课第二节“宏的二义性”里,#indefine写错了,应该为#define

C++部分:
视频1小时02分开始,在实现setName函数时,需要提前释放m_Name的内存。即正确版本为:
    void setName(char *name)
    {
        if(m_name)
            delete []m_name;
        if(name==NULL)
        {
            m_name=new char[1];
            *m_name='\0';
        }
        else
        {
            m_name=new char[strlen(name)+1];
            strcpy_s(m_name,strlen(name)+1,name);
        }
    }
 
第10节 单实例设计模式与多线程安全
CLock *A::m_lock = new CLock();没有释放
修改:在类A中添加一个public静态方法:
    static void destroyA() {
        if(m_pA)
            delete m_pA;
        if(m_lock)
            delete m_lock;
    }
然后在main函数最后调用:
    A::destroyA();


勘误提示:如您在学习过程中发现任何“错误”,请通过email:10950150@qq.com告知我们错误所在的课程名称和错误所在视频的时间起始位置。错误一经我们确认,我们将会在该门课程的“课程概述”里提供“错误更正”信息,并对您表示衷心的感谢。 

资料下载报名后支持下载

周哥教IT.C语言深学活用习题答案1.pdf 周哥教IT.C语言深学活用习题答案2.pdf 周哥教IT.C语言深学活用习题答案3.pdf 周哥教IT.C语言深学活用习题答案4.pdf 周哥教IT.C语言深学活用习题答案5.pdf 周哥教IT.C语言深学活用习题答案6.pdf 周哥教IT.C语言深学活用习题答案7.pdf 周哥教IT.C语言深学活用习题答案8.pdf 周哥教IT.C语言深学活用习题答案9.pdf 周哥教IT.C语言深学活用习题答案10.pdf 周哥教IT.C语言深学活用习题答案11.pdf 周哥教IT.C语言深学活用习题答案12.pdf 周哥教IT.C语言深学活用习题答案13.pdf 周哥教IT.C语言深学活用习题答案14.pdf 周哥教IT.C语言深学活用习题答案15.pdf 周哥教IT.C语言深学活用习题答案1.pdf 周哥教IT.C语言深学活用习题答案2.pdf 周哥教IT.C语言深学活用习题答案3.pdf 周哥教IT.C语言深学活用习题答案4.pdf 周哥教IT.C语言深学活用习题答案5.pdf 周哥教IT.C语言深学活用习题答案6.pdf 周哥教IT.C语言深学活用习题答案7.pdf 周哥教IT.C语言深学活用习题答案8.pdf 周哥教IT.C语言深学活用习题答案9.pdf 周哥教IT.C语言深学活用习题答案10.pdf 周哥教IT.C语言深学活用习题答案11.pdf 周哥教IT.C语言深学活用习题答案12.pdf 周哥教IT.C语言深学活用习题答案13.pdf 周哥教IT.C语言深学活用习题答案14.pdf 周哥教IT.C语言深学活用习题答案15.pdf 周哥教IT.C语言深学活用习题答案1.pdf 周哥教IT.C语言深学活用习题答案2.pdf 周哥教IT.C语言深学活用习题答案3.pdf 周哥教IT.C语言深学活用习题答案4.pdf 周哥教IT.C语言深学活用习题答案5.pdf 周哥教IT.C语言深学活用习题答案6.pdf 周哥教IT.C语言深学活用习题答案7.pdf 周哥教IT.C语言深学活用习题答案8.pdf 周哥教IT.C语言深学活用习题答案9.pdf 周哥教IT.C语言深学活用习题答案10.pdf 周哥教IT.C语言深学活用习题答案11.pdf 周哥教IT.C语言深学活用习题答案12.pdf 周哥教IT.C语言深学活用习题答案13.pdf 周哥教IT.C语言深学活用习题答案14.pdf 周哥教IT.C语言深学活用习题答案15.pdf 周哥教IT.C语言深学活用习题答案1.pdf 周哥教IT.C语言深学活用习题答案2.pdf 周哥教IT.C语言深学活用习题答案3.pdf 周哥教IT.C语言深学活用习题答案4.pdf 周哥教IT.C语言深学活用习题答案5.pdf 周哥教IT.C语言深学活用习题答案6.pdf 周哥教IT.C语言深学活用习题答案7.pdf 周哥教IT.C语言深学活用习题答案8.pdf 周哥教IT.C语言深学活用习题答案9.pdf 周哥教IT.C语言深学活用习题答案10.pdf 周哥教IT.C语言深学活用习题答案11.pdf 周哥教IT.C语言深学活用习题答案12.pdf 周哥教IT.C语言深学活用习题答案13.pdf 周哥教IT.C语言深学活用习题答案14.pdf 周哥教IT.C语言深学活用习题答案15.pdf 周哥教IT.C语言深学活用习题答案1.pdf 周哥教IT.C语言深学活用习题答案2.pdf 周哥教IT.C语言深学活用习题答案3.pdf 周哥教IT.C语言深学活用习题答案4.pdf 周哥教IT.C语言深学活用习题答案5.pdf 周哥教IT.C语言深学活用习题答案6.pdf 周哥教IT.C语言深学活用习题答案7.pdf 周哥教IT.C语言深学活用习题答案8.pdf 周哥教IT.C语言深学活用习题答案9.pdf 周哥教IT.C语言深学活用习题答案10.pdf 周哥教IT.C语言深学活用习题答案11.pdf 周哥教IT.C语言深学活用习题答案12.pdf 周哥教IT.C语言深学活用习题答案13.pdf 周哥教IT.C语言深学活用习题答案14.pdf 周哥教IT.C语言深学活用习题答案15.pdf 周哥教IT.C语言深学活用习题答案1.pdf 周哥教IT.C语言深学活用习题答案2.pdf 周哥教IT.C语言深学活用习题答案3.pdf 周哥教IT.C语言深学活用习题答案4.pdf 周哥教IT.C语言深学活用习题答案5.pdf 周哥教IT.C语言深学活用习题答案6.pdf 周哥教IT.C语言深学活用习题答案7.pdf 周哥教IT.C语言深学活用习题答案8.pdf 周哥教IT.C语言深学活用习题答案9.pdf 周哥教IT.C语言深学活用习题答案10.pdf 周哥教IT.C语言深学活用习题答案11.pdf 周哥教IT.C语言深学活用习题答案12.pdf 周哥教IT.C语言深学活用习题答案13.pdf 周哥教IT.C语言深学活用习题答案14.pdf 周哥教IT.C语言深学活用习题答案15.pdf 周哥教IT.C语言深学活用习题答案1.pdf 周哥教IT.C语言深学活用习题答案2.pdf 周哥教IT.C语言深学活用习题答案3.pdf 周哥教IT.C语言深学活用习题答案4.pdf 周哥教IT.C语言深学活用习题答案5.pdf 周哥教IT.C语言深学活用习题答案6.pdf 周哥教IT.C语言深学活用习题答案7.pdf 周哥教IT.C语言深学活用习题答案8.pdf 周哥教IT.C语言深学活用习题答案9.pdf 周哥教IT.C语言深学活用习题答案10.pdf 周哥教IT.C语言深学活用习题答案11.pdf 周哥教IT.C语言深学活用习题答案12.pdf 周哥教IT.C语言深学活用习题答案13.pdf 周哥教IT.C语言深学活用习题答案14.pdf 周哥教IT.C语言深学活用习题答案15.pdf 周哥教IT.C语言深学活用习题答案1.pdf 周哥教IT.C语言深学活用习题答案2.pdf 周哥教IT.C语言深学活用习题答案3.pdf 周哥教IT.C语言深学活用习题答案4.pdf 周哥教IT.C语言深学活用习题答案5.pdf 周哥教IT.C语言深学活用习题答案6.pdf 周哥教IT.C语言深学活用习题答案7.pdf 周哥教IT.C语言深学活用习题答案8.pdf 周哥教IT.C语言深学活用习题答案9.pdf 周哥教IT.C语言深学活用习题答案10.pdf 周哥教IT.C语言深学活用习题答案11.pdf 周哥教IT.C语言深学活用习题答案12.pdf 周哥教IT.C语言深学活用习题答案13.pdf 周哥教IT.C语言深学活用习题答案14.pdf 周哥教IT.C语言深学活用习题答案15.pdf 周哥教IT.C语言深学活用习题答案1.pdf 周哥教IT.C语言深学活用习题答案2.pdf 周哥教IT.C语言深学活用习题答案3.pdf 周哥教IT.C语言深学活用习题答案4.pdf 周哥教IT.C语言深学活用习题答案5.pdf 周哥教IT.C语言深学活用习题答案6.pdf 周哥教IT.C语言深学活用习题答案7.pdf 周哥教IT.C语言深学活用习题答案8.pdf 周哥教IT.C语言深学活用习题答案9.pdf 周哥教IT.C语言深学活用习题答案10.pdf 周哥教IT.C语言深学活用习题答案11.pdf 周哥教IT.C语言深学活用习题答案12.pdf 周哥教IT.C语言深学活用习题答案13.pdf 周哥教IT.C语言深学活用习题答案14.pdf 周哥教IT.C语言深学活用习题答案15.pdf 周哥教IT.C语言深学活用习题答案1.pdf 周哥教IT.C语言深学活用习题答案2.pdf 周哥教IT.C语言深学活用习题答案3.pdf 周哥教IT.C语言深学活用习题答案4.pdf 周哥教IT.C语言深学活用习题答案5.pdf 周哥教IT.C语言深学活用习题答案6.pdf 周哥教IT.C语言深学活用习题答案7.pdf 周哥教IT.C语言深学活用习题答案8.pdf 周哥教IT.C语言深学活用习题答案9.pdf 周哥教IT.C语言深学活用习题答案10.pdf 周哥教IT.C语言深学活用习题答案11.pdf 周哥教IT.C语言深学活用习题答案12.pdf 周哥教IT.C语言深学活用习题答案13.pdf 周哥教IT.C语言深学活用习题答案14.pdf 周哥教IT.C语言深学活用习题答案15.pdf “周哥教IT”一站式IT学习解决方案,一套在手,学习无忧.pdf 周哥教IT.C语言深学活用习题答案1.pdf 周哥教IT.C语言深学活用习题答案2.pdf 周哥教IT.C语言深学活用习题答案3.pdf 周哥教IT.C语言深学活用习题答案4.pdf 周哥教IT.C语言深学活用习题答案5.pdf 周哥教IT.C语言深学活用习题答案6.pdf 周哥教IT.C语言深学活用习题答案7.pdf 周哥教IT.C语言深学活用习题答案8.pdf 周哥教IT.C语言深学活用习题答案9.pdf 周哥教IT.C语言深学活用习题答案10.pdf 周哥教IT.C语言深学活用习题答案11.pdf 周哥教IT.C语言深学活用习题答案12.pdf 周哥教IT.C语言深学活用习题答案13.pdf 周哥教IT.C语言深学活用习题答案14.pdf 周哥教IT.C语言深学活用习题答案15.pdf
更多

* 课程提供者:周哥教IT