第一章 预备知识
C语言和C++语言
⑴ C语言:20世纪70年代早期,贝尔实验室的Dennis Ritchie 致力于开发Unix操作系统,在旧语言的基础上开发了C语言。
其特点:中级语言,将低级语言的效率、硬件访问能力和高级语言的通用性、可移植性融合在一起。
⑵ C++语言:20世纪80年代,贝尔实验室Bjarne Stroustrup开发。“c++主要是为了我的朋友和我不必再使用汇编语言、C语言或其他现代高级语言来编程设计的。它的主要功能是可以更方便地写出好程序、让每个程序员更加快乐。”
与C的联系:在C的基础上加入了OOP特性和对C的通用编程的支持,但并没有对C的组件作很大的改动。因此,C++是C语言的超集,这就意味着任何有效的C语言都是有效的C++程序。
名称c++来自C语言中的递增操作符++,表明它是C的扩充版本。
C++语言三大特性(融合了三种编程传统)
1. 继承了C语言高效简洁可移植性的传统。(C语言为代表的过程性语言传统)
数据+算法=程序;
C语言是面向过程性的语言,强调的是编程的算法方面。
过程化编程,首先要确定计算机应采取的操作,然后使用编程语言来实现操作流程。
两种编程方法:
① 结构化编程;(for,while,if)
② 自顶向下设计;.(大型程序分解成小型程序,鼓励开发程序单元,即函数,表示各个任务模块)
2. C++面向对象的特性。(类为代表的面向对象语言传统)
面向对象语言,强调的是数据。
类,是一种规范,规定了可使用哪些数据表示对象以及对这些数据的执行哪些操作。
对象,是根据这种规范构造的特定数据结构。
OOP编程,首先设计类(数据和方法),然后设计使用这些类的对象的程序。
编程思想:
自下而上,从低级组织(类)到高级组织(程序)的处理工程,叫做自下向上编程。
信息隐藏,可以保护数据,使其免遭不适当的访问。
多态,为操作符和函数创建多个定义,根据上下文来确定具体定义。
继承,使用旧类并派生出新类。
OOP真正特点之一:可以方便地重用和修改现有的、经过仔细测试的代码。
3. C++的模板特性。(模板支持的通用编程传统)
通用编程强调的是编程的算法方面
通用,是指创建独立于类型的代码。
编程步骤
源代码 |
编译器 |
目标代码 |
链接程序 |
可执行代码 |
启动代码 |
库代码 |