第一章:C++入门
1.1 C++的历史和特点
C++是一种通用的编程语言,它起源于20世纪80年代初期,由丹尼斯·里奇在C语言的基础上发展而来。C++最早是作为C语言的一种扩展,添加了面向对象编程(OOP)的特性,注意区分C语言(面向过程),提供了一种更高级别的抽象和代码复用方式。
C++在语法和语义上与C语言兼容,并且引入了许多新的概念和功能。它支持面向对象编程、泛型编程和过程化编程。C++的特点包括:
1. 高效性:C++通过直接操作内存和提供底层控制,允许开发者编写高性能的代码。
2. 面向对象编程:C++支持封装、继承和多态等面向对象的概念,使得代码的组织和扩展更加灵活和可靠。
3. 泛型编程:C++引入了模板(templates)的概念,允许开发者编写通用的算法和数据结构,提高代码的复用性和灵活性。
4. 库支持:C++拥有丰富的标准库和第三方库,提供了许多常用的功能和工具,方便开发者进行快速开发。
5. 可移植性:C++的编译器可以在多个平台上运行,使得开发者可以轻松地将代码移植到不同的操作系统和硬件上。
总之,C++是一种功能强大的编程语言,适用于各种应用场景,从系统级编程到图形界面开发,都能发挥重要的作用。它的历史和特点使得它成为一个广泛应用的语言,并在软件开发领域有着重要的地位。
1.2 C++的编译和运行
C++的编译过程通常是从源代码文件到目标代码文件的转换。具体来说,常见的编译过程包括以下几个步骤:
1. 源代码文件(.cpp):C++程序员使用文本编辑器编写源代码,将其保存为以.cpp为扩展名的文件。
2. 预处理阶段(Preprocessing):编译器的预处理器将源代码文件中的预处理指令,如#include和#define等,进行处理。预处理器会展开宏定义,包含其他头文件,并执行其他需要在编译之前完成的任务。处理后的文件仍然是源代码文件,通常具有.i或者.ii的扩展名。
3. 编译阶段(Compilation):编译器将预处理阶段产生的文件进行词法分析、语法分析和语义分析,并将其转换为中间代码(比如汇编代码或者机器无关的中间代码)。这些中间代码文件通常具有.s或者.o的扩展名,表示它们是汇编代码或者目标代码。
4. 汇编阶段(Assembly):如果编译器生成的是汇编代码,那么汇编器将会把汇编代码转换为与特定平台相关的机器代码,生成目标代码文件。目标代码文件通常具有.obj或者.o的扩展名。
5. 链接阶段(Linking):链接器(或者链接器和装载器的组合)将目标代码与系统库和其他目标代码进行合并,生成最终的可执行文件。这个可执行文件可以在操作系统上运行。
1.3 C++的基本语法和规范
如果之前你学习过c语言的,那c++的语法基本上和c语言语法相差不大。
C++的基本语法和规范如下:
1. 注释:C++支持单行注释(以//开头)和多行注释(以/*开头,以*/结尾)。注释用于给代码添加说明,不会被编译器处理。
2. 标识符:标识符是用于给变量、函数、类等命名的名称。标识符可以由字母、数字和下划线组成,但必须以字母或下划线开头。标识符区分大小写。
3. 数据类型:C++提供了多种基本数据类型,如整型(int、short、long)、浮点型(float、double)、字符型(char)、布尔型(bool)等。还可以通过关键字struct、class定义自定义的复合数据类型。
4. 变量声明和定义:在使用变量之前,需要先声明和定义它们。声明变量指定变量的类型和名称,定义变量同时分配存储空间。
5. 常量和字面值:常量是不可被修改的值,可以使用关键字const进行声明和定义。字面值是直接出现在代码中的数值、字符或字符串。
6. 运算符:C++支持各种运算符,包括算术运算符(+、-、*、/等)、关系运算符(<、>、<=、>=等)、逻辑运算符(&&、||、!等)等。
7. 控制结构:C++提供了多种控制结构,如条件语句(if-else、switch)、循环语句(for、while、do-while)等,用于根据条件执行不同的代码块。
8. 函数:函数是一段执行特定任务的代码块,可以通过函数名和参数调用它们。函数可以有返回值和参数。
9. 类和对象:C++支持面向对象编程,可以定义类和对象。类是一种抽象的数据类型,对象是类的实例。类可以包含成员变量和成员函数。
10. 文件输入输出:C++提供了iostream库用于文件的输入和输出操作。可以使用iostream中的对象(如cin、cout)来进行标准输入和输出,也可以使用fstream库来进行文件的读写操作。
除了以上规范之外,C++还有更多的语法和规范,如指针、引用、命名空间、异常处理等。熟悉C++的标准语法和规范有助于编写结构化、清晰和可维护的代码。为了遵循良好的编程实践,还应注意代码的可读性、命名规范、注释规范等方面。
1.4 开发环境的搭建
这里的环境搭建,我找几个csdn的链接吧,毕竟这玩意没啥难的。
这里只贴一个qt的环境,其实就是下载个安装包的事。
1. 所有Qt版本下载地址:
http://download.qt.io/archive/qt/
2. Qt Creator编译器下载地址:
http://download.qt.io/archive/qtcreator/
3. Qt VSadd开发插件下载地址:
http://download.qt.io/archive/vsaddin/
1.5 环境搭建 vs2019(用22,或者17都行,也有人使用vscode学c++) 或者 QtCreator(主推)