零基础学C++(升级版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.1 C++概述

视频讲解

视频讲解:资源包\Video\01\1.1C++概述.mp4

学习一门语言,首先要对这门语言有一定的了解,要知道这门语言能做什么,要怎样才能学好。本节将对C++语言的历史背景进行简单的介绍,使读者对C++语言有一个简单而直接的印象。

1.1.1 C++的发展历程

在介绍C++的发展历程之前,先对程序语言进行大概的了解。

1.机器语言

机器语言是低级语言,也被称为二进制代码语言。如图1.1所示,计算机使用由0和1组成的二进制数构成的一串指令来表达计算机操作的语言。

机器语言的特点是,计算机可以直接识别,不需要进行任何翻译。

图1.1 机器语言

2.汇编语言

汇编语言是面向机器的程序设计语言。为了减轻使用机器语言编程的痛苦,用英文字母或符号串来替代机器语言的二进制码,把不易理解和使用的机器语言变成了汇编语言。这样一来,使用汇编语言编写的程序就比使用机器语言编写的程序便于阅读和理解。如图1.2所示,使用汇编语言编写代码控制硬件独立按键电路。

图1.2 使用汇编语言编写代码控制硬件独立按键电路

3.高级语言

如图1.2所示,汇编语言依赖硬件体系,并且该语言中的助记符数量比较多,所以其运用起来仍然不够方便。为了使程序语言更贴近人类的自然语言,同时不依赖计算机硬件,于是产生了高级语言。这种语言的语法形式类似于英文,并且因为其远离对硬件的直接操作,所以易于被普通人所理解与使用。其中影响较大、使用普遍的高级语言有Fortran、ALGOL、Basic、COBOL、LISP、Pascal、PRO LOG、C、C++、Visual C(VC)、Visual Basic(VB)、Delphi、Java等。例如,图1.3所示分别为C、C++、Java三种高级语言的程序。

图1.3 C、C++、Java三种高级语言的程序

本书所讲述的C++语言就是从C语言发展而来的。Stroustrup经过钻研,在C语言中加入了类的概念,C++最初的名字是C with Class。1983年12月,Rick Mascitti建议将其改名为CPlusPlus,即C++。最开始提出类概念的语言是Simula,它具有很高的灵活性,但无法处理比较大型的程序。此后在Simula语言的基础上发展起来的Smalltalk语言才是真正的面向对象语言,但Smalltalk-80不支持多继承。

C++从Simula继承了类的概念,从ALGOL 68继承了运算符重载、引用,以及在任何地方声明变量的能力,从BCPL获得了//注释,从Ada得到了模板、命名空间,从Ada、Clu和ML取来了异常。

1.1.2 C++中的杰出人物

1.1.3 C++的特点

C++是在C语言的基础上发展而来的一种面向对象编程语言,主要用来进行系统程序设计。C++具有如下特点:

1.面向对象

C++是一种面向对象的程序设计语言,具有抽象和实际相结合的特点,各对象之间使用消息进行通信,对象通过继承方法提高了代码的复用性。

2.高效性

C++语言继承了C语言的特性,可以直接访问地址,进行位运算,从而能对硬件进行操作。C++语句具有编写简单方便、便于理解的优点,还具有低级语言的与硬件结合紧密的优点。

3.移植性好

C++语句具有很好的移植性,使用C++语言编写的程序基本不用修改太多就可以被应用于不同型号的计算机。C++标准可在多种操作系统下使用。

4.运算符丰富

C++语言的运算符十分丰富,共有30多个,有算术、关系、逻辑、位、赋值、指针、条件、逗号、下标、类型转换等多种类型。

5.数据结构多样

C++语言的数据结构多样,有整型、实型、字符型、枚举类型等基本类型,也有数组、结构体、共用体等构造类型以及指针类型,还为用户提供了自定义数据类型,能够实现复杂的数据结构。它还可以定义类实现面向对象编程,通过类和指针的结合可以实现高效的程序。