点击这里给我发消息 点击这里给我发消息

C++概述

添加时间:2013-12-7
    相关阅读: 系统软件 开发软件 设计 软件 开发 程序 C#
 

一、 C++的起源
C++语言是在C语言的基础上扩充形成的一种语言,而C语言的历史可追溯到1967年的BCPL语言。该语言是由剑桥大学的Martin Richards为编写操作系统软件和编译程序开发了BCPL语言(Basic Combined Programming Language)。1970年,Ken Thompson在继承BCPL语言的许多优点的基础上开发了实用的B语言。1972年,贝尔实验室的Dennis Ritchie在B语言的基础上,作了进一步的充实和完善,开发出了C语言。

C语言具有许多优点,比如语言简洁灵活;运算符和数据类型丰富;具有结构化控制语句;程序执行效率高;同时具有高级语言和汇编语言的优点等。与其他高级语言相比,C语言具有可以直接访问物理地址的优点,与汇编语言相比又具有良好的可读性和可移植性。因此,C语言得到了极为广泛的应用。

随着C语言应用的推广,C语言存在的一些缺陷或不足也开始暴露出来,并受到大家的关注。比如C语言对数据类型检查的机制比较弱,缺少支持代码重用的结构;随着软件工程规模的扩大,难以适应开发特大型程序。同时,C语言毕竟是一种面向过程的编程语言,已经不能满足运用面向对象的方法开发软件的需要。

为克服C语言本身存在的缺点,同时为支持面向对象的程序设计,1980年贝尔实验室的Bjarne Stroustrup在C语言基础上创建、研制出来了一种通用的程序设计语言C++。

研制C++的一个重要目标是使C++首先是一个更好的C,所以C++根除了C中存在的问题。C++的另一个重要目标就是面向对象的程序设计,因此在C++中引入了类的机制。最初的C++被称为“带类的C”,1983年正式命名为C++(C Plus Plus)。以后经过不断完善,形成了目前的C++。

当前运用得较为广泛的C++有Microsoft公司的Visual C++(简称V C++)和Borland公司的Borland C++ (简称BC++)。

C++是通往现代面向对象程序设计的途径。对于开发高性能的软件,C++是一种卓越的程序设计语言,同时,在全世界范围内,它也是程序员的首选语言。简而言之,要想成为一名专业的程序员,你应该在C++上有所造诣。
      C++并不只是一种流行的程序设计语言,它还为其他几种程序设计语言以及许多现代计算机思想提供了理论基础。C#和Java这两种重要的语言都来源于C++,这是有一定理论依据的。C++的语法、风格以及设计思想在很多方面都影响着现代程序设计。

二、 C++的特点
前面已经讲到,C++语言是一种既可面向对象又可面向过程的混合型程序设计语言。它既适合于编写系统软件,也适合于编写应用软件。所以C++语言即全面兼容C语言,具有面向过程的特点,又支持面向对象的程序设计方法。具体归纳如下:

(1)C++是一个更好的C,它保持了C语言的优点,大多数的C程序代码略作修改或不作修改就可在C++的集成环境下调试和运行。这对于继承和开发当前已在广泛使用的软件是非常重要的,可以节省大量的人力和物力。

(2)C++是一种面向对象的程序设计语言。它使得程序的各个模块的独立性更强,程序的可读性和可移植性更强,程序代码的结构更加合理,程序的扩充性更强。这对于设计、编制和调试一些大型的软件尤为重要。

(3)C++集成环境不仅支持C++程序的编译和调试,而且也支持C程序的编译和调试。通常,C++集成环境约定:当源程序文件的扩展名为.c时,则为C程序;而当源程序文件的扩展名为.cpp时,则为C++程序。

(4)C++的语句非常简练,对语法限止比较宽松,因此C++语法非常灵活。其优点是给用户编程带来书写上的方便。其缺点是由于编译时对语法限制比较宽松,许多逻辑上的错误不容易发现,给用户编程增加了难度。

三、C++程序的构成元素
为了说明C++程序的基本结构先举三个例题,然后通过三个例题引出C++程序基本结构。

【例1-1-1】文本的原样输出。文件名为1-1-1.cpp。

//文本原样输出程序

#include<iostream.h>

#include<stdlib.h>

int main()

{

cout << "Welcome to C++!\n";

system("pause");                         // 程序暂停

}

程序运行显示:

Welcome to C++!

该程序中,main()表示主函数,每个C++程序必须有且只能有一个主函数,C++程序总是从主函数开始执行的。main()函数之前的int表示main()函数返回值为整形,这符合C++的最新标准。在花括号内的部分是函数体,函数体由语句组成,每个语句由分号结束。cout与符号“<<”结合使用可以输出常量、变量的值及字符串。‘\n’是换行符。

#include引用头文件<iostream.h>是为了能使用输入流cin和输出流cout。

system("pause");可让程序暂停,以便于观察程序的运行情况。为此须先引用头文件<stdlib.h>。

程序中以“//”开头的是注释,注释是对程序的说明,用来提高程序的可读性,可以放在程序的任何位置,对程序的编译和运行不起作用。

【例1-1-2】求两个整数的和。文件名为1-1-2.cpp

/*求两个整数的和程序*/

#include<iostream.h>

#include<stdlib.h>

int main()

{

int a,b,sum;                                  //说明变量a,b,sum为整型数

cout << "输入变量a和b:";         //显示提示信息

cin >> a >> b;                                //从键盘上输入变量a、b的值

sum = a + b;                                  //求和

cout << "Sum = " << sum << endl;   //输出结果

system("pause");                             //暂停输出结果

}

程序运行显示:

输入变量a和b:3  5

Sum = 8

该程序中的语句:int a,b,sum; 用来说明变量a、b、sum为int(整型)变量。程序中的语句:sum=a+b;是一个赋值语句,表示将a和b的值相加,其结果送给变量sum。在“/*”和“*/”之间的部分也表示注释。“endl”是换行符。

【例1-1-3】输入两个整数a和b,用自定义函数add()求两数和。程序名为1-1-3.cpp

#include<iostream.h>

#include<stdlib.h>

int add(int x, int y)

{

int z;

z=x+y;

return z;        

}

 int main()

{

int a,b,sum;

cout << "输入变量a和b:";

cin >> a >> b;

sum = add (a,b);

cout << "Sum =  "<< sum << endl;

system("pause");

}

程序输出结果与前例相同。

该程序由两个函数组成:主函数main()和被调用函数add()。函数add()的作用是求x和y的和,并赋给z,最后通过return z语句返回给主函数。主函数用两个变量a和b来存储输入的两个值,调用add()函数将变量a、b的值传送给形参x、y,再求两数和,并返回给sum输出结果。

通过【例1-1-3】,可以归纳出C++程序基本结构如下。

(1)C++程序由函数组成

C++程序由包括main()在内的一个或多个函数组成,函数是构成C++程序的基本单位。其中名为main()的函数称为主函数,可以将它放在程序的任何位置。但是,不论主函数放在程序的什么位置,一个C++程序总是从主函数开始执行,由主函数来调用其他函数。所以,任何一个可运行的C++程序必须有一个且只能有一个主函数。被调用的其他函数可以是系统提供的库函数,也可以是用户自定义的函数。例如,【例1-1-3】的C++程序就是由主函数main()和用户自定义函数add()组成的。

(2)C++函数由函数说明与函数体两部分组成

①函数说明

函数说明由函数类型、函数名、函数参数(形参)及其类型组成。例如:

int add(int x, int y)

表示自定义了一个名为add的函数,函数值的类型为int(整型),该函数有两个形式参数x、y,其类型均为int(整型)。

无返回值的函数是void类型(无值类型)。main()函数是一个特殊的函数,可看作是由操作系统调用的一个函数,其返回值是int类型。函数参数可以没有,但函数名后面的括号不能省略。

②函数体

函数说明下面花括号括起来的部分称为函数体。例如:

{

int z;    //变量定义

z = x + y;    //执行语句

return z;

}

如果一个函数内有多对花括号,则最外层的一对花括号为函数体的范围。通常函数体由变量定义和执行语句两部分组成。在某些情况下可以没有变量定义,甚至可以既无变量定义又无执行语句(即空函数)。例如:

void dump(void)

{

}

(3)C++中每一个语句必须以分号结束。

例如:

int z;

z= x + y;

(4)C++程序的书写格式

C++程序的书写格式比较自由,一行内可以写多个语句(语句之间用“;”隔开),一个语句也可以分成几行来写。例如,

int add (int x, int y)

{int z; z = x + y; return z;}    //可将三条语句写在一行内,但这样书写不规范。

为了便于程序的阅读、修改和相互交流。程序的书写必须符合以下基本规则。

①同层次语句必须从同一列开始书写,同层次的开花括号必须与对应的闭括号在同一列上;

②属于内一层次的语句,必须缩进几个字符,通常缩进两个、四个或八个字符的位置;

③任一函数的定义均从第一列开始书写。

(5)C++的输入输出

C++语言没有专门的输入/输出语句,输入/输出操作是通过输入/输出流cin和cout来实现的。C++默认的标准输入设备是键盘。C++默认标准输出设备是显示器。

(6)C++严格区分字母的大小写

例如:int a, A;表示定义两个不同的变量a、A。

(7)C++注释

在C++程序的任何位置都可以插入注释信息,以增强程序可读性。注释分行注释和块注释两种。

行注释用两个连续的“/”字符开始,它表示从此开始到本行结束为注释内容。例如:

// 说明变量a,b,sum为整型数

块注释用“/*”和“*/”把注释内容括起来,其中可以包含一个或多个语句。例如:

/*求两个整数的和程序*/

(8)编译预处理命令

以“#”开头的行称为编译预处理命令。例如:#include<iostream.h>表示本程序包含有头文件iostream.h。

以上所述的有关函数、输入/输出流等概念将在以后的章节中详细介绍。C++程序基本结构可用图1-1表示。

 


图1-1 -C++ 程序基本结构

四、C++程序的开发步骤
    C++语言是一种编译性的语言,设计好一个C++源程序后,需要经过编译、连接,生成可执行的程序文件,然后执行并调试程序。C++程序的开发步骤如下:

(1)分析问题。根据实际问题,分析需求,确定解决方法,并用适当的工具描述它(包括选用适当的数学模型)。通常我们首先可用自然语言或流程图的方式描述解决问题的算法和逻辑。

(2)编辑程序。根据上一步描述的算法编写C++源程序,并利用一个编辑器将源程序输入到计算机中的某一个文件中。文件的扩展名为.cpp。

(3)编译程序。编译源程序,产生目标程序。文件的扩展名为.obj。

(4)连接程序。将一个或多个目标程序与库函数进行连接后,产生一个可执行文件。文件的扩展名为.exe。

(5)运行调试程序。运行可执行文件,分析运行结果。若有错误进行调试修改。

 开发步骤如图1-2表示:


图1-2  C++程序开发步骤


 

咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册