C++ Primer Plus 第一章 预备知识笔记
目录
一、C++编程方式
C++融合了三种不同的编程方式:C语言代表的过程性语言,类代表的面向对象编程,C++模板支持的泛型编程。
1、C语言代表的过程性语言
过程性语言是首先确定计算机应该采取的操作,然后通过编程语言进行实现,是基于给定的数据格式和语法设计满足问题的程序结构。为解决过程性语言结构混乱问题,C语言采用了两个编程原则:
1)结构化编程
将分支限制为一小组行为良好的结构(如for循环,if else语句)
2)自顶向下的设计
将大程序逐级分解为小程序模块
2、面向对象编程(OOP)
面向对象编程是针对给定的问题,分析问题的需求,基于C++中的类设计满足问题需要的数据格式。再运用类创建具体的对象,并用程序对这些对象进行操作以解决问题。
3、泛型编程
泛型编程主要思想是使得其所编写的泛型函数可以适用于各种数据类型。如设计一个可用于整数,小数,字符等数据类型的排序函数。
二、程序创建过程
其中源代码(xx.cpp文件【1】)是我们使用编辑器利用C++语言写的代码。源代码通过编译器编译后生成机器语言,即目标代码(xx.o文件)。由于我们的程序中会调用各种库,因此需要链接程序对我们使用到的启动代码和库代码进行链接;其中启动代码是使得目标代码运行的一些标准启动代码;库代码是我们调用的库中包含的代码。最终启动代码,目标代码,库代码组合起来生成的文件为可执行代码(xx.out文件)。
注【1】多数C++实现软件均会将xx.cpp识别为C++源代码,但在UNIX中则无法识别,不同实现软件支持C++的文件扩展名如下表:
三、C++实现工具
1、集成开发环境IDE
集成开发环境IDE提供开发程序的所有步骤,包括源代码编辑,编译,链接,调试等。如Microsoft Visual C++,Apple Xcode等,通常特定的IDE只能在特定的平台上使用。
2、文本编辑器+编译器
文本编辑器仅提供源代码编辑功能,如Visual Studio Code等,具有出色的跨平台能力。而编译器仅提供编译和链接功能,如用于Linux的GNU C++等,通常特定编译器仅能在特定平台上使用。联合文本编辑器和编译器可以实现完成程序开发过程。
3、常用菜单项
- Compile:编译,将当前打开的文件中的源代码编译目标代码
- Build或Make:建立或生成,将项目中所有被更改过的源代码编译成目标代码
- Build All:全部建立,将项目中全部的源代码重新编译成目标代码
- Link:链接,链接目标代码及库代码
- Run:运行可执行文件
- Debug:逐步运行可执行文件