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

发布于:2023-06-30 11:43:50

一、介绍

1.1 教程特点

一篇文章保证你从入门到就业!有图有真相,有视频,有作业,有测试用例,作业只需要代码填空,无需大段大段从头写!多纬度全方位立体式教程。规范开发习惯,培养设计能力。提供框架代码,测试用例。为后续课程《C++数据结构与算法》打下坚实基础持续更新! 你就是教程的共同作者免费在线答疑 我在这里等你,点我查看参考:美国-密西根大学;美国-伦斯勒理工大学;美国-华盛顿大学;美国-休斯敦大学;美国-亚利桑那州立大学;美国-东北大学;英国-伦敦大学学院;澳大利亚-阿德莱德大学;澳大利亚-蒙纳士大学;澳大利亚-伍伦贡大学;澳大利亚-新南威尔士大学;加拿大-哥伦比亚大学;加拿大-滑铁卢大学;加拿大-里贾纳大学;**-复旦大学;**上海科技大学;**-清华大学;**-**人民大学;**台湾-元智大学;**-同济大学;**-南开大学;反面教材:北京理工DS以上参考学校均为作者辅导过的学校

1.2 教程内容

《C++精简教程》《数据结构与算法》《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++精简教程》

参考书:《C++ Primer (第5版)》,注意不是《C++ Primer Plus》

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 名称空间 name space std

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 关系运算符和逻辑运算符 bool

1.5 for循环语句

1.5.1 for循环语句

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

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

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

练习4 计算圆周率π(隐式类型转换)(高端大气上档次)(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 求两个数的最大值max

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

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

1.7.4 模板函数 template function

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

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

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

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

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

Visual Studio 2022 调试Debug

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

1.8 动态内存

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

1.8.2 解引用 dereference operator

1.8.3 易混淆的符号&

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

1.8.5 堆数组 heap array

练习1 本科生平均学分绩点GPA计算 (自顶向下设计+断点调试) (A)(V)

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

2 标准库STL基础

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

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

2.1 数组

2.1.1 数组 vector

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

2.1.2 字符串 string

2.2 迭代器

2.2.1 auto 关键字 (C++11)

2.2.2 迭代器 iterator

2.2.3 范围for循环(遍历数组的三种方式) (C++11)

2.2.4 C++标准库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 删除容器的元素 remove erase

2.5.2 快速排序(std::sort)

2.5.3 标准库所有算法

3 面向对象

3.1类与对象

3.1.1 类 struct/class 与 对象 object(A)

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

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

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

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

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

3.1.6 类的const成员函数

3.1.7 堆对象数组

3.1.8 指针成员操作符 member operator

4 复制控制(深拷贝)

4.1 构造函数constructor

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

4.2 构造函数成员初始化列表(member initializer lists)(待实现)

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

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

4.5 类的静态成员变量 static member

Visual Studio 2022 调试Debug

3分钟掌握C++调试神器-调用堆栈 (V)

4.6 继承 inherit

4.7 多态 polymorphic 与虚函数 virtual function

5 输入输出I/O

5.1 文本文件读写

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

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

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

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

5.2 字符串流stringstream

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

6 操作符重载

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

6.2 输入操作符重载 input operator overload

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

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

7 C++小项目

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

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

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

第二部分 《数据结构与算法》

参考书:《C++数据结构与算法(第4版)》 Adam Drozdek 著 《Data Structure and Algorithm in C++, 4th Edition》

1 空间复杂度与时间复杂度

1.1 时间复杂度和空间复杂度的最小单位

2 动态数组 Vector

2.1 动态数组 vector 下标操作符重载 (A)

2.2 Vector<T> 动态数组 模板语法

2.3 Vector 动态数组(迭代器)(A)

2.4 Vector<T> 动态数组(随机访问迭代器)(A)

2.5 String 动态字符串 (A)

3 链表 List

3.1 单向链表( signal linked list)

3.2 模板双向排序链表 (自顶向下设计+断点调试) (A)

4 栈

4.1 链式栈StackT

4.2 基于链表list封装栈StackT

练习1 基于栈的表达式Express求值计算器

5 队列

5.1 基于链表的队列

6 哈希表

6.1 哈希表HashMap(基于vector和list)(A)

5 二叉树

5.1 二叉查找时(binary search tree)

5.2 平衡二叉树AVLTree的实现与应用(难度5/10)

6 排序

6.1 冒泡排序(Bubble Sort)(A)

6.2 插入排序(Insertion Sort)(A)

6.3 选择排序(Selection Sort)(A)

6.4 快速排序(Quit Sort)(A)

6.5 各种排序算法性能对比

第三部分 《Qt 入门》

0 教程特点

0.1 面向企业开发,你在这里学到的任何一步操作,都会直接在企业里用到。

0.2 注重实现的设计思路训练,抽象分析问题的能力。

1 Qt 安装

1.1 Visual Studio 2022 安装

1.2 Windows Qt 5.12.10下载与安装

1.3 Visual Studio 2022 创建第一个Qt窗口

2 键盘事件

2.1 Qt按Escape键退出程序

3 鼠标事件

3.1 Qt实时显示鼠标坐标

4 按钮

4.1 Qt点击按钮显示点击次数

5 Qt官方案例

项目1 潜艇来袭(sub-attacq Qt官方案例-2维动画游戏)

第四部分 《认识多线程》

3 C++并发编程入门 目录

1 初识线程

1.1 只有一个线程的程序

1.2 创建一个线程并执行

1.3 创建2个线程并执行

1.4 创建10个线程并执行

2 初识并发

2.1 两个线程乱序执行:乱箭穿心

2.2 多线程同步:解决乱箭穿心

3 并发的优势

3.1 使用多线程std::thread发挥多核计算优势(题目)

3.2 使用多线程std::thread发挥多核计算优势(解答)

十一、其他教程

2 C++中级程序员教程 全目录 v2

4 比较好的在线教程 https://www.geeksforgeeks.org/c-plus-plus/

记得点赞、收藏!

Carea
19 次咨询
4.9
16647 次赞同
去咨询

订阅课程答案可以获得课程内容永久免费答疑服务(微信聊天,语音电话,远程桌面)

留学生辅导成绩反馈


免责声明:本站所有内容及图片均采集来源于网络,并无商业使用,如若侵权请联系删除。

上一篇:阿斯巴甜致癌?等待权威机构发布!

下一篇:一个人怎么自学好c ?

资讯 观察行业视觉,用专业的角度,讲出你们的心声。
MORE

I NEED TO BUILD WEBSITE

我需要建站

*请认真填写需求信息,我们会在24小时内与您取得联系。