C语言与C++的关系

C语言与C++的关系

ID:43187500

大小:131.50 KB

页数:24页

时间:2019-10-02

C语言与C++的关系_第1页
C语言与C++的关系_第2页
C语言与C++的关系_第3页
C语言与C++的关系_第4页
C语言与C++的关系_第5页
资源描述:

《C语言与C++的关系》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第1章C与C++1.1C语言与C++的关系1.2C++语言的开发环境返回主目录1.1C语言与C++的关系1.1.1C++发展历史简介随着面向对象程序设计思想的日益普及,很多支持面向对象程序设计方法语言也相继出现了,C++就是这样一种语言。C++是BjarneStroustrup于1980年在AT&T的贝尔实验室开发的一种语言,它是C语言的超集和扩展,是在C语言的基础上扩充了面向对象的语言成分而形成的。最初这种扩展后的语言称为带类(class)的C语言,1983年才被正式称为C++语言。BjarneStroustrup在设计和实现C++语言时,既保留了C语言的有效性、灵活性、便于移植等全

2、部精华和特点,又添加了面向对象编程的支持,具有强大的编程功能,编写出的程序具有结构清晰、易于扩充等优良特性,适合于各种应用软件、系统软件的程序设计。C++语言由C语言扩展而来,同时它又对C语言的发展产生了一定的影响,ANSIC语言在标准化过程中吸收了C++语言中某些语言成分。1.1.2C++与C语言C++语言是C语言的超集,与C语言具有良好的兼容性,使用C语言编写的程序几乎可以不加修改直接在C++语言编译环境下进行编译。C++语言对C语言在结构化方面做了一定程度的扩展。例如:1.函数原型C语言中,在使用一个函数之前可以不对其加以说明,编译器缺省认为其返回值为整型数据。但在C++编译环境

3、中,任何一个函数在使用前,必须有函数的原型说明,声明函数的返回值类型及参数的类型。如下面这段在C语言教材中广泛使用的程序:main(){printf("Hello,World!");}在C++编译器中编译时必须在前面加上:#include以将函数printf的原型声明包含进来。使用函数原型,可以避免程序在调用其它函数时,错误引用其返回值或传递错误的实参给被调用的函数,发生这样的错误可以由编译器在编译时发现;如果使用C语言的函数声明习惯,则不能在编译阶段检查出此类错误。现代C语言标准已经引进了函数原型说明,但不作为一种强制标准。2.函数重载C++语言可实现函数重载,

4、即多个函数在同一作用域可以用相同的函数名,编译器在编译时可以根据实参的类型来选择应该调用的函数。例如,在C语言的数学函数库中,求绝对值的函数有abs、fabs等,分别用于不同类型的参数;而在C++中,对相同功能但参数类型不同的函数可以使用相同的函数名,在调用时无需记忆多个函数名,而由编译器根据参数类型选择。有关函数重载的具体内容可参看后面相关章节的介绍。3.缺省参数在C++语言中,函数参数允许使用缺省值。当函数调用时,若给出的参数个数少于函数表中参数的总数时,则所缺参数自动取函数参数表中设置的缺省值。下面是一个参数缺省的例子:voidf(intx,inty=10){…//此处省略函数体

5、内容}该程序定义了一个函数f(),它有两个整形参数,第二个参数缺省值为10。如调用语句:f(2);就相当于f(2,10)。函数可以有多个缺省参数,但应注意只能从右往左缺省,例如:intf1(intx,inty=0,intz=0);//正确intf2(intx,inty=0,intz);//错误4.注释C++语言保留了C语言中以/*开始,*/结束的注释,这种方式适用于多行的注释,同时C++语言中还提供行注释符//,该注释在它的行结束处结束,适用于短注释。5.枚举名与结构名C++中枚举可以命名,一个枚举名就是一个类型名字,因此不必在枚举类型名前加标识符enum;同样,定义的结构就是一个用户

6、定义的数据类型,在结构名前也不必加标识符struct。例如下面定义一个结构类型:6.作用域标识符在C++语言中增加了作用域标识符(或称为名字解析运算符)::,用以解决局部变量名与全局变量的同名重复问题。在局部变量的作用域内可用作用域标识符::对被其隐藏的同名全局变量进行访问。下面是一个简单的例子:tructstudent{charname[10];intnumber;intpage;};则在定义该结构类型变量时可以使用如下方式:students1,s2;7.程序块中的变量声明将几个语句用大括号{、}组合起来就构成了一个程序块。在C语言中,变量的声明只允许出现在程序块的开始,而在C++语

7、言中变量声明可以出现在任何位置。如下面的程序片断:intx=0;voidtest(intx){x=5;//此处引用局部变量::x=9;//此处引用全局变量}for(inti=0;i<10;i++){sum+=i;}在for语句的第一个表达式中定义变量i作循环变量。8.常量C++语言中增加了常量类型,或称为只读变量。常量用标识符const声明,它的值在作用域内保持不变,ANSIC标准现在已引进了const修饰符。例如:constintmaxSiz

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。