C++——结合了汇编语言和高级语言优点的产物
产生的背景:
1970年,美国贝尔实验室的Ken Thompson将BCPL进行了修改,并为它起了一个有趣的名字“B语言”。意思是将BCPL语言煮干,提炼出它的精华。并且他用B语言写了第一个UNIX操作系统。 而在1973年,B语言也给人“煮”了一下,美国贝尔实验室的D.M.RITCHIE在B语言的基础上最终设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,这就是C语言。 为了使UNIX操作系统推广,1977年Dennis M.Ritchie 发表了不依赖于具体机器系统的C语言编译文本《可移植的C语言编译程序》。即是著名的ANSI C。而C++就是以ANSI C为基础进行开发的。
产生的过程:
1970年,AT&T的Bell实验室的D.Ritchie和K.Thompson共同发明了C语言。研制C语言的初衷是用它编写UNIX系统程序,因此,它实际上是UNIX的“副产品”。20世纪70年代中期,Bjarne Stroustrup在剑桥大学计算机中心工作。他使用过Simula和ALGOL,接触过C。他对Simula的类体系感受颇深,对ALGOL的结构也很有研究,深知运行效率的意义。既要编程简单、正确可靠,又要运行高效、可移植,是Bjarne Stroustrup的初衷。以C为背景,以Simula思想为基础,正好符合他的设想。1979年,Bjame Sgoustrup到了Bell实验室,开始从事将C改良为带类的C(C with classes)的工作。1983年该语言被正式命名为C++。
C++特点:
C++语言既保留了C语言的有效性、灵活性、便于移植等全部精华和特点,又添加了面向对象编程的支持,具有强大的编程功能,可方便地构造出模拟现实问题的实体和操作;编写出的程序具有结构清晰、易于扩充等优良特性,适合于各种应用软件、系统软件的程序设计。用C++编写的程序可读性好,生成的代码质量高,运行效率仅比汇编语言慢10%~20%。
C++的影响:
首先c++是c语言的升级版本,c++最大的特点就是 面向对象编程,在解决问题的时候更加容易。能把复杂的问题进行抽象、封装继承多态,是c++的三大特性。总体来讲给人们带来的影响就是可以使得复杂问题简单化,不用再面向过程编程了!
C++代码实例:
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;
char s[110];
char s1[110];
char s2[110];
int a[4][4];
int b[4][4];
bool ok()
{
for (int i = 1; i <= 3; i++)
for (int j = 1; j <= 3; j++)
if (a[i][j] != b[i][j]) return false;
return true;
}
int main()
{
while (scanf ("%s", s) != EOF)
{
for (int i = 0; i < 6; i++)
{
s1[i] = s[i];
s2[i] = s[i + 6];
}
memset (a , -1 , sizeof (a) );
memset (b , -1 , sizeof (b) );
int t1, t2;
for (int i = 0; i < 3; i++)
{
if (s1[i] == 'r') t1 = 1;
if (s1[i] == 'g') t1 = 2;
if (s1[i] == 'b') t1 = 3;
if (s1[5 - i] == 'r') t2 = 1;
if (s1[5 - i] == 'g') t2 = 2;
if (s1[5 - i] == 'b') t2 = 3;
a[t1][t2]++;
a[t2][t1]++;
}
for (int i = 0; i < 3; i++)
{
if (s2[i] == 'r') t1 = 1;
if (s2[i] == 'g') t1 = 2;
if (s2[i] == 'b') t1 = 3;
if (s2[5 - i] == 'r') t2 = 1;
if (s2[5 - i] == 'g') t2 = 2;
if (s2[5 - i] == 'b') t2 = 3;
b[t1][t2] ++;
b[t2][t1] ++;
}
if (ok() )
printf ("TRUE\n");
else
printf ("FALSE\n");
}
return 0;
}