c++程序设计 陈圣国 第1章.pptVIP

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1.1 C语言与C++的关系 1.2 C++语言的开发环境 * 第 1 章 C与C++ 1.1 C语言与C++的关系 1.2 C++语言的开发环境 返回主目录 1.1.1 C++发展历史简介 随着面向对象程序设计思想的日益普及,很多支持面向对象程序设计方法语言也相继出现了,C++就是这样一种语言。C++是Bjarne Stroustrup于1980年在ATT的贝尔实验室开发的一种语言,它是C语言的超集和扩展,是在C语言的基础上扩充了面向对象的语言成分而形成的。最初这种扩展后的语言称为带类(class)的C语言,1983年才被正式称为C++语言。 Bjarne Stroustrup在设计和实现C++语言时,既保留了C语言的有效性、灵活性、便于移植等全部精华和特点,又添加了面向对象编程的支持,具有强大的编程功能,编写出的程序具有结构清晰、易于扩充等优良特性,适合于各种应用软件、系统软件的程序设计。 C++语言由C语言扩展而来,同时它又对C语言的发展产生了一定的影响,ANSI C语言在标准化过程中吸收了C++语言中某些语言成分。 1.1.2 C++与C语言 C++语言是C语言的超集,与C语言具有良好的兼容性,使用C语言编写的程序几乎可以不加修改直接在C++语言编译环境下进行编译。 C++语言对C语言在结构化方面做了一定程度的扩展。例如: 1.函数原型 C语言中,在使用一个函数之前可以不对其加以说明,编译器缺省认为其返回值为整型数据。但在C++编译环境中,任何一个函数在使用前,必须有函数的原型说明,声明函数的返回值类型及参数的类型。如下面这段在C语言教材中广泛使用的程序: main( ) { printf(Hello,World!\n); } 在C++编译器中编译时必须在前面加上: #include stdio.h 以将函数printf的原型声明包含进来。使用函数原型,可以避免程序在调用其它函数时,错误引用其返回值或传递错误的实参给被调用的函数,发生这样的错误可以由编译器在编译时发现;如果使用C语言的函数声明习惯,则不能在编译阶段检查出此类错误。现代C语言标准已经引进了函数原型说明,但不作为一种强制标准。 2.函数重载 C++语言可实现函数重载,即多个函数在同一作用域可以用相同的函数名,编译器在编译时可以根据实参的类型来选择应该调用的函数。例如,在C语言的数学函数库中,求绝对值的函数有abs、fabs等,分别用于不同类型的参数;而在C++中,对相同功能但参数类型不同的函数可以使用相同的函数名,在调用时无需记忆多个函数名,而由编译器根据参数类型选择。有关函数重载的具体内容可参看后面相关章节的介绍。 3.缺省参数 在C++语言中,函数参数允许使用缺省值。当函数调用时,若给出的参数个数少于函数表中参数的总数时,则所缺参数自动取函数参数表中设置的缺省值。 下面是一个参数缺省的例子: void f(int x, int y=10) { …//此处省略函数体内容 } 该程序定义了一个函数f( ),它有两个整形参数,第二个参数缺省值为10。如调用语句:f(2);就相当于f(2,10)。函数可以有多个缺省参数,但应注意只能从右往左缺省,例如: int f1(int x, int y=0, int z=0); //正确 int f2(int x, int y=0, int z); //错误 4.注释 C++语言保留了C语言中以/*开始,*/结束的注释,这种方式适用于多行的注释,同时C++语言中还提供行注释符//,该注释在它的行结束处结束,适用于短注释。 5.枚举名与结构名 C++中枚举可以命名,一个枚举名就是一个类型名字,因此不必在枚举类型名前加标识符enum;同样,定义的结构就是一个用户定义的数据类型,在结构名前也不必加标识符struct。例如下面定义一个结构类型: 6.作用域标识符 在C++语言中增加了作用域标识符(或称为名字解析运算符)::,用以解决局部变量名与全局变量的同名重复问题。在局部变量的作用域内可用作用域标识符::对被其隐藏的同名全局变量进行访问。下面是一个简单的例子: truct student{ char name[10]; i

您可能关注的文档

文档评论(0)

118压缩包课件库 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档