C语言及C的区别.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C++几乎完全兼容了C,但增加的特性差不多比整个C语言还多。 C是一种简单的语言。它真正提供的只有有宏、指针、结构、数组和函数;而C++还有私有和保护型成员、函数重载、缺省参数、构造和析构函数、自定义操作符、内联函数、引用、友元、模板、异常、名字空间,等等。用C++比用C具有更宽广的空间,因为设计时有更多的选择可以考虑。 ?此外,C++从安全性上远比C好,因为类型检查更严格。 C只是C++的一个子集,C++是C语言发展的一个优秀的旁支。 C是面向过程的语言。C++ ? 是在C基础发展起来的面向对象的语言,他几乎集成了所有的C的东西。(当然也剔除了很多C的缺陷,这个就要在长期学习中慢慢体会了)。 C语言是结构化和模块化的面向过程的语言,C++语言是混合型面向对象的程序设计语言。C++语言是C语言的超集,也就是说学会了C++,你其实已经把C语言学会了。至于说有什么区别,应该说是编程思想的区别吧,C是基于过程的,强调的是程序的功能,以函数(功能)为中心。C++是面向对象的,强调程序的分层、分类,以抽象为基础,进行对象的定义与展示,即程序设计。具体说来话长。建议你学习C++的时候,学会用面向对象的方式思考和编程。现在在开发大项目的时候,都是应用面向对象的分析和设计的技术。 C和C++的区别有什么?其他的东西都不需要多说,就象类,继承,引用等,大家都知道。这里讲的是调用编译的区别.大家看WIN32 SDK的头文件,总是可以看到 : ifdef __cplusplus extern C endif ifdef __cplusplus endif 这个就是直接能够体现实际编程时区别的地方。在WIN系列下,所有的WIN32 SDK提供的LIB都是以C的形式存在的。当然,C和C++同样都支持C,STDCALL,FASTCALL调用。为什么系统提供C编译器编译的LIB而不是C++编译的LIB呢?这里其实就是C和C++编译器不同的地方。 所有的函数名称只有在汇编编译器下才最清楚。因为经汇编编译器编译的函数不经过任何修饰。 C 的编译器编译出来的函数名称如果在汇编编译器看来一个C调用将在函数名前家下划线(_)。而一个STDCALL的函数将是_FUNC@NUMBER的形式,如FUNC(void)经过编译器后成为_FUNC@0。一个FASTCALL调用的函数被编译成@FUNC@0。顺便提一下,在WIN32的编译器里不再需要PASCALL调用,VC6已经取消了对PASCALL的支持. 光看C的编译还不够,看一下C++编译器是怎么干的。在缺省情况下,一个C++的函数经过C++编译器后编译出的函数名包括函数名,所属的类,参数类型,调用约定,返回类型。而且更要命的是这么多的信息,只有函数名和类名在编译后还依稀可见,其他就是一长串的ABCD字母,根本就是无法辨认其意义的。我们在VC手册里可以看到一个例子: void __stdcall b::c(float); ----------- ?c@b@@QAGXM@Z 一个函数被编译得连名字也不知道怎么样了.这么一来.如果SDK提供的是C++编译器提供了LIB.那么可以说就无法编译任何一个完整的WIN程序.更加不用说什么混合语言编程. 现在,VC编译器提供了个extern语句,当出现extern C语句,括号里的函数将以C方式经过编译器.从而使提供库程序方便那么点。 C语言与C++的区别有很多: 1,全新的程序程序思维,C语言是面向过程的,而C++是面向对象的。 2,C语言有标准的函数库,它们松散的,只是把功能相同的函数放在一个头文件中;而C++对于大多数的函数都是有集成的很紧密,特别是C语言中没有的C++中的API是对Window系统的大多数API有机的组合,是一个集体。但你也可能单独调用API。 3,特别是C++中的图形处理,它和C语言的图形有很大的区别。C语言中的图形处理函数基本上是不能用在C++中的。C语言标准中不包括图形处理。 4,C和C++中都有结构的概念,但是在C语言中结构只有成员变量,而没成员方法,而在C++中结构中,它可以有自己的成员变量和成员函数。但是在C语言中结构的成员是公共的,什么想访问它的都可以访问;而在VC++中它没有加限定符的为私有的。 4,C语言可以写很多方面的程序,但是C++可以写得更多更好,C++可以写基于DOS的程序,写DLL,写控件,写系统。 5,C语言对程序的文件的组织是松散的,几乎是全要程序处理;而c++对文件的组织是以工程,各文件分类明确。 6,C++中的IDE很智能,和VB一样,有的功能可能比VB还强。 7,C++对可以自动生成你想要的程序结构使你可以省很多时间。有很多可用工具如加入MFC中的类的时候,加入变量的时候等等。

文档评论(0)

wuyoujun92 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档