【C++】c++入门

【C++】c++入门

    1.c++的诞生

    2.c++和c的关系

    3.c++的开发过程    

    4.c++的特点

      C++是一种面向对象的计算机程序设计语言,由美国的本贾尼·斯特劳斯特卢普博士在20世纪80年代初期发明并实现。C++C语言的继承,进一步扩充和完善了C语言,成为一种面向对象的程序设计语言。

      它是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象面向对象程序设计、泛型程序设计等多种程序设计风格。[1]

(一)c++的诞生

      计算机诞生初期,人们要使用计算机必须用机器语言或汇编语言编写程序。世界上第一种计算机高级语言诞生于1954年,它是FORTRAN语言。后来出现了多种计算机高级语言。

      BASIC语言是1964年在FORTRAN语言的基础上简化而成的, 它是为初学者设计的小型高级语言。

      C语言是1972年由美国贝尔实验室D.M.Ritchie研制成功的。它不是为初学者设计的,而是为计算机专业人员设计的。大多数系统软件和许多应用软件都是用C语言编写的。

      但是随着软件规模的增大,用C语言编写程序渐渐显得有些吃力了,于是c++诞生了。

      C++是由贝尔实验室的Bjarne博士及其同事于20世纪80年代初在C语言的基础上开发成功的 C++既可用于面向过程的结构化程序设计,又可用于面向对象的程序设计,是一种功能强大的混合型的程序设计语言。

(二)c++和c的关系

      从C++的名字可以看出它是C的超越和集中。C++是由C发展而来的,与C兼容。用C语言写的程序基本上可以不加修改地用于C++。C++保留了C语言原有的所有优点,增加了面向对象的机制。

      C++对C的“增强”,表现在六个方面:

(1)类型检查更为严格。

(2)增加了面向对象的机制。

(3)增加了泛型编程的机制(Template)。

(4)增加了异常处理。

(5)增加了运算符重载。

(6)增加了标准模板库(STL)。

      面向对象程序设计,是针对开发较大规模的程序而提出来的,目的是提高软件开发的效率。不要把面向对象和面向过程对立起来,面向对象和面向过程不是矛盾的,而是各有用途、互为补充的。

  

 (三)c++的开发过程

      C++程序的开发过程一般包含程序编写、编译、连接、执行等部分。

 1.用C++语言编写程序

      C++用高级语言编写的程序称为“源程序”(source program)。源程序后缀为.cpp。

2.对源程序进行编译

      为了使计算机能执行高级语言源程序,必须先用一种称为“编译器(complier)”的软件(也称编译程序或编译系统),把源程序翻译成二进制形式的“目标程序(object program)。目标程序一般以.obj或.o作为后缀。

       编译是以源程序文件为单位分别编译的,编译的作用是对源程序进行词法检查和语法检查。编译时对文件中的全部内容进行检查,编译结束后会显示出所有的编译出错信息。一般编译系统给出的出错信息分为两种,一种是错误(error);一种是警告(warning) 。

3.将目标文件连接

       用系统提供的“连接程序(linker)”将一个程序的所有目标程序和系统的库文件以及系统提供的其他信息连接起来,最终形成一个可执行的二进制文件,它的后缀是.exe,是可以直接执行的。

4.运行程序

    运行最终形成的可执行的二进制文件(.exe),得到运行结果。

(四)c++的特点

1.优点

    · C++设计成静态类型、和C同样高效且可移植的多用途程序设计语言。

    · C++设计成直接的和广泛的支持多种程序设计风格(程序化程序设计、资料抽象化、面向对象程序设计、泛型程序设计)。

    · C++设计成给程序设计者更多的选择,即使可能导致程序设计者选择错误。

    · C++设计尽可能与C兼容,借此提供一个从C到C++的平滑过渡。

    · C++避免平台限定或没有普遍用途的特性。

    · C++不使用会带来额外开销的特性。

    · C++设计无需复杂的程序设计环境。

       出于保证语言的简洁和运行高效等方面的考虑,C++的很多特性都是以库(如STL)或其他的形式提供的,而没有直接添加到语言本身里

2.缺点

       C++由于语言本身过度复杂,这甚至使人类难于理解其语义。更为糟糕的是C++的编译系统受到C++的复杂性的影响,非常难于编写,即使能够使用的编译器也存在了大量的问题,这些问题大多难于被发现。

       由于本身的复杂性,复杂的C++程序的正确性相当难于保证。也有人提出不支持多线程的原语等缺陷。不过有如此多的知名人士提出了如此多的缺陷,正说明C++被广泛使用和成功。

      c++语言由于过度的复杂性,以及与Unix的文化相抵触,在Unix/Linux领域受到很多著名人士(比如Linux之父Linus Torvalds与著名黑客Eric S. Raymond)的强烈批评与抵制。

 -------------------------------------------         END      -------------------------------------

猜你喜欢

转载自blog.csdn.net/u012679707/article/details/80178582