前言 本文将介绍 C++ 的相关历史背景 、编译环境 、IDE 以及介绍 C++ 的学习路线 。
主要介绍有关于信息学奥赛 所需要的知识点,面向对象所需的类与对象知识不在本文讨论。
在阅读过程中有任何问题都可以发布到评论区,有价值的问题将会放到文章末尾Q&A之中!
第一段 C++ 代码 1 2 3 4 5 6 7 8 9 #include <iostream> using namespace std;int main () { cout << "Hello, world!" << endl; return 0 ; }
C++ 的发展经历 C++( C Plus Plus )是一种高级语言,它是由 Bjarne Stroustrup 于 1979 年在贝尔实验室开始设计开发的。C++ 进一步扩充和完善了 C 语言,是一种面向对象 的程序设计语言。
同时,在信息学奥林匹克竞赛 【以下简称信奥赛 】中,C++ 是唯一可以使用 的语言。
C++ 的标准库 标准的 C++ 由三个重要部分 组成:
核心语言,提供了所有构件块,包括变量、数据类型和常量 ,等等。
C++ 标准库,提供了大量的函数 ,用于操作文件、字符串等。
标准模板库(STL) ,提供了大量的方法,用于操作数据结构等。
IDE(集成开发环境) CodeBlocks Code::Blocks 是一个免费开源的C/C++IDE,最早的版本发布于2005年,一个开源的跨平台集成开发环境(IDE),主要用于 C、C++ 和 Fortran 等编程语言的开发。也可以说是专门为C/C++搭建的IDE,它拥有其他IDE的基本功能,更多功能通过下载插件来获得,与其他IDE相比相对简单,对于新手也比较友好。
下载链接
使用方法
点击左上角新建文件图标 选择 Empty File 新建一个空白文件。
保存文件时要注意后缀名改为cpp ,即文件保存为 xxx.cpp
。
DEV C++ 这是一款免费的,功能齐全的集成IDE,主要适用于刷题,推荐初学者使用。 占用内存小,轻量级IDE,在C语言初阶学习和刷题 时是很好用的工具,但不适用于后期的调试和项目开发(没有其他IDE那么明显直观),前期学习C语言/C++必备神器!
下载链接
使用方法 Visual Studio Code(VS Code) Visual Studio Code(VS Code)是由Microsoft创建的开源,跨平台源代码编辑器。由微软开发,针对 Web 开发人员和前端工程师而设计。这是一款功能强大, 可编译多语言 的IDE,不仅仅是C/C++,Python,Java等编程语言都可以进行编译运行,并且目前不仅支持Windows,还支持于Mac和Linux。VS Code自身足够轻巧强大,并且有一个看满足绝大部分功能的完全免费版本 ,以及有附加功能和支持的企业版本。此外,VS Code中可下载大量实用插件 ,它可能是市面上最好的免费IDE。
下载链接
使用方法 C++ 学习路线 C++ 基础语法 C++ 的基础语法知识主要包括数据类型、数据结构、判断逻辑结构、循环逻辑结构、函数、指针 等等。
基本数据类型与数据结构 C++ 的数据类型与数据结构 主要包括变量、输入输出、运算 等基本结构。
判断逻辑结构 C++ 的判断逻辑结构 主要包括 if 判断 的基本使用方法。
循环逻辑结构 C++ 的循环逻辑结构 相关的知识点主要包括while 循环、 do-while 循环 与for 循环 的基本使用方法。
数组 C++ 的数组 相关的知识点主要包括一维数组、多维数组 与数组的基本函数 等知识点。
函数 C++ 的函数 相关的知识点主要包括无参函数、有参函数 与函数的递归与调用 等知识点。
指针 C++ 的指针 相关的知识点主要包括指针的定义、引用 与地址 相关的知识点。
C++ 算法与数据结构
C++ 的算法 主要包括排序、贪心、二分、搜索与图论、数论、动态规划与一系列基础算法 。
基础数据结构 C++ 的数据结构 主要包括链表、栈、队列、KMP、堆、Trie树、并查集,HASH表与STL的基础用法 等等。
C++ 的 STL 主要包括是C++内置的标准模板库 、集成了大部分的数据结构的基础操作 。
基础算法 C++ 的基础算法 主要包括的排序、二分、贪心、高精度、前缀与差分 等等基础算法。
搜索与图论 C++ 的搜索与图论算法 主要包括的DFS、BFS、最短路与最小生成树 算法。
数论 C++ 的数论算法 主要包括的质数、约数、容斥原理与博弈论 等等基础数学算法。
动态规划【DP】 C++ 的动态规划算法 主要包括的背包问题、线性DP、区间DP、树形DP与记忆化搜索 等等基础DP算法。