C++自学精简实践教程 目录(必读)

一、介绍

1.1 教程特点

  • 一篇文章从入门到就业
  • 有图有真相,有测试用例,有作业;
  • 提供框架代码,作业只需要代码填空
  • 规范开发习惯,培养设计能力
  • 为后续课程《C++数据结构与算法》打下坚实基础
  • 持续更新! 已经修改了上千次,未来还会修改几千次
  • 教程来自于工作多年实际工作经验和百所欧美大学课程辅导
  • 参考国内外课程(辅导的学生所在的学校):美国-密西根大学;美国-伦斯勒理工大学;美国-华盛顿大学;美国-休斯敦大学;美国-亚利桑那州立大学;美国-东北大学;英国-伦敦大学学院;澳大利亚-阿德莱德大学;澳大利亚-蒙纳士大学;澳大利亚-伍伦贡大学;澳大利亚-新南威尔士大学;加拿大-哥伦比亚大学;加拿大-滑铁卢大学;加拿大-里贾纳大学;中国-复旦大学;中国上海科技大学;中国-清华大学;中国-中国人民大学;中国台湾-元智大学;中国-同济大学;中国-南开大学;
  • 目前最快记录:2 天刷完。

1.1.1 C++ 11 知识点

auto + range for + lambda + long long + nullptr 

ifstream f(string) + enum class function

1.2 为何精简

《C++自学精简实践教程》哪些内容被精简掉了

1.3 参考资料

1.4 进阶教程

  1. 《C++数据结构与算法实现》
  2. 《Qt 入门实战教程》
  3. 《C++多线程并发编程入门》
  4.  《Qt视频播放器实现(目录)》

二、集成开发环境

2.1 Visual Studio 2022 安装(V)

2.2 VS2022 CMake C++ Hello World(V)

2.3 Hello World逐条语句讲解(V)

2.4 Visual Studio 快速打开项目目录文件夹(V)

《C++精简实践教程》

1 基础部分

难度系数(1):*

​​​

1.1 变量和基本类型

1.1.1 变量和基本类型(V)

1.1.2 引用类型 reference type(V)

1.1.3 赋值语句 assignment statement(变量与常量const)(V)

1.2 标准输入输出 I/O

1.2.1 输出变量(cout与endl换行显示)​

1.2.2 输入变量(cin 及字符串类型string)

1.2.3 名称空间namespace

1.2.4 getline 读取一行内容

1.2.5 cin 扔给 getline 一个回车,程序炸了

1.2.6 输出格式化 format control

1.3 表达式

1.3.1 算术表达式 expression

1.3.2 整除/ 与 求余% 运算

1.4 关系和逻辑运算符

1.4.1 关系运算符和逻辑运算符

1.5 for循环语句 

1.5.1 for循环语句

1.5.2 练习 说一万次我爱你(让计算机去做舔狗)(A)

1.5.3 练习 数列前n项和(计算机暴力计算)(A)

1.5.4 练习 打印九九乘法表(双重循环)(A)

1.5.5 练习 计算圆周率π(隐式类型转换)(高端大气上档次)(A)

1.6 if语句

1.6.1 if语句(条件表达式)

1.6.2 练习 求一个数的绝对值

1.7 函数

1.7.1 函数定义function definition与调用call

1.7.2 栈变量的作用域

1.7.3 向函数传递参数(传值、传引用、传const引用)

1.7.4 练习 求两个数的最大值max

1.7.5 练习 交换两个变量的值 swap(A)

开发小助手:Visual Studio 2022 显示函数参数类型

1.7.6 模板函数 template function

1.7.7 练习 输出正整数N各个位上的数字(A)

1.7.8 练习 求最大公约数(A)

1.7.9 递归函数 recursive function :输出正整数N各个位上的数字

1.7.10 练习 数列前n项和(递归函数)

1.7.11练习 判断一个数是否为素数(A)

Visual Studio 2022 调试Debug

10分钟学会Visual Studio调试C++程序(CMake版)(完整版,推荐!)

1.8 动态内存

难度系数(4):* * * *

到这里难度开始突然增加。建议你遇到不清楚的,一定要多问我。这是加速学习的唯一捷径!

1.8.1 堆heap栈stack与指针变量pointer(地址变量)

1.8.2 解引用 dereference operator

1.8.3易混淆的符号&

1.8.4向函数传递参数(传地址)

1.8.5堆数组 heap array

1.8.6 练习 本科生平均学分绩点GPA计算 堆数组的应用(自顶向下设计+断点调试) (A)(V)

1.8.7 练习 冒泡排序 Bubble Sort(提取函数)(自顶向下设计+断点调试) (A)(V)

2 标准库基础

难度系数(2):* *

这一部分难度一般,会用就行。你应该不会遇到太多问题。因为和其他语言也没区别。

​​

标准库又叫标准模板库STL(Standard Template Library),是C++语言的一部分。

主要由三部分组成,分别是容器,迭代器,算法。

2.1 数组

2.1.1 数组 vector

2.1.2 练习 for循环求数组元素的最大值(A)

2.1.2 变长字符串string

2.2 迭代器

2.2.1 auto 关键字 C++11

2.2.2 迭代器 iterator

2.2.2.1 逆序迭代器 reverse_iterator 

2.2.3 范围for循环 C++11

2.2.4 标准库 STL 容器使用值语义

2.3 容器

2.3.1 链表list这个链接是官方示例教程,可以点开每一个子链接看里面的示例代码。示例代码都是最标准最典型的用法。我们应该学会从阅读官方代码中汲取营养,这个习惯应该尽早养成。

2.3.2 关联容器(字典)map

2.3.3 集合set

2.3.4 标准库所有容器

2.4 lambda 表达式

2.4.1 lambda 表达式

2.5 算法

2.5.1 快速排序 sort

2.5.2 标准库所有算法

2.5.3 使用容器的迭代器删除容器的元素 remove erase

3 面向对象

难度系数(3):* * *

类与对象是两个新概念,你可能觉得有点奇怪。

但他们是面向对象编程语言最有威力的设施,几乎没有之一。

​​

3.1 类与对象

3.1.1 自定义类型 struct/class(类、对象与成员变量)

3.1.2 类的成员函数 member function 与类成员的访问控制(public private)

3.1.3 成员函数的声明 declaration 与定义 definition 分开

3.1.4 对象之间赋值 object assignment(对应成员逐个赋值)

3.1.5 struct与class(唯一的区别是访问控制)

3.1.6 练习 基于GPA排名计算本专业保研名单 (自顶向下设计+断点调试) (A)(V)

3.1.7 类的const成员函数

3.1.8 堆对象数组

3.1.9 指针成员操作符 member operator

4 复制控制(深拷贝)

难度系数(5):* * * * *

这里要求你同时掌握堆内存管理和面向对象。难度陡然增加。复制控制是C++的灵魂。C在这里产生了大量Bug,动态内存管理直接让Java产生的垃圾回收机制。

在C++里,你要用完全不同的方式独自处理他们。

遇到问题一定记得第一时间问我。你可以认为我24小时都在等待你的问题。

​​​

4.1 构造函数与析构函数(constructor distructor)

4.2 构造函数与成员变量初始化

4.3 拷贝构造函数(copy constructor)(浅拷贝)

4.4 非平凡的类与复制控制 (深拷贝 deep control)

4.5 类的静态成员变量 static member

4.6 继承 inherit

4.7 多态 polymorphic 与虚函数 virtual function

5 输入输出I/O

难度系数(3):* * *

你之前肯定没有用代码操作过你本机电脑上的文件,这是一个操作性很强的章节。

有可能你创建了一个文件,也写入了内容,但你可能都不知道它在你电脑的哪个文件夹里。是的,你会遇到的。

还是那句话,遇到任何问题不要怀疑自己,直接来找我。

​​​​

​​5.1 文本文件读写

5.1.1 输出变量的值到文件 write file

5.1.2 从文件读取变量的值 read file

5.1.3 从文件里一次读取一行 getline

5.1.4 练习 读取文本文件中的神秘数据 (A)

5.2 字符流输出输出

5.2.1 从字符串流 stringstream 中读取变量的值

6 操作符重载

6.1 输出操作符重载 operator overloading 与友元函数 friend

6.2 输入操作符重载 input operator overload

6.3 练习1 读取文件中的学生信息并显示 (自顶向下设计+断点调试) (A)(V)

6.4 项目 单词搜索与出现频率统计

6.5 小于操作符重载与对象排序

6.6  函数调用操作符重载 function 加减乘除四则运算计算器

7 C++小项目

7.1 项目1 学生通讯录管理:文本文件增删改查(C++版本)(自顶向下设计+断点调试) (A)

7.2 项目2 学生通讯录管理:文本文件增删改查(C 版本)(自顶向下设计+断点调试) (A)(V)

7.3 项目3 贪吃蛇(控制台版)(A)

7.4 类的静态成员变量

7.5 错误处理漫谈

四、其他

1 相关C++学习网站和参考书下载

2 留学生辅导成绩反馈

3 看看985高校的《数据结构》教材能差到什么程度

4 C++ 知名开源库 整理

欢迎点赞、收藏、转发!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

C++程序员Carea

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值