当前位置:时代中文网 > 文学 > C与C++语言入门到精通 > 章节目录 > 第二章 C与C++的区别

第二章 C与C++的区别

书名:C与C++语言入门到精通 作者:永恒 更新时间:2017-08-05 20:14 字数:2037

    很多新手认为C和C++语言是同一类语言,其实不是的,它们两者是有区别的,同时又有联系的。

    主要分为以下两点:

    1、主要区别:c语句是面向结构的语言,c++是面向对象的语言,C++从根本上已经发生质飞跃,并对c进行丰富的扩展。

    2、联系: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++不可以,一个不带参数的C函数原型必须把void写出来。而C++可以使用空参数列表。

    C++中new和delete是对内存分配的运算符,取代了C中的malloc和free。

    标准C++中的字符串类取代了C标准C函数库头文件中的字符数组处理函数(C中没有字符串类型)。

    C++中用来做控制态输入输出的iostream类库替代了标准C中的stdio函数库。

    C++中的try/catch/throw异常处理机制取代了标准C中的setjmp()和longjmp()函数。

    C语言是一种古老而又经久不衰的计算机程序设计语言,大约诞生于上个世纪60年代。由于它的设计有很多优点,多年以来深受广大程序设计人员的喜爱,并逐渐 淘汰了很多其它程序设计语言。我们平时使用的大多数软件都是用C语言开发的。

    很多后来出现的一些语言也沿用了很多它的东西。C语言的编程方式是一种称为面 向过程的开发方式。也就是说,解决问题的时候,程序员需要思考计算机应该如何一步一步完成这个问题,然后将相应过程转化为代码。

    当软件变得越来越复杂,代码越来越长的时候,一个人的脑力有限,用面向过程的方法很难开发,往往写着后面的,就忘了前面写 了什么了。而且复杂软件往往需要很多人协同开发,更加大了开发难度。一种称为面向对象的软件开发方法应运而生。面向对象的思想用几句话很难说清楚。

    国内的计算机教材在讲到这里的时候往往也都说不清楚什么叫面向对象。这个词语也许只能意会不能言传吧。需要开发过一些相关软件才能领会。这里还是不具体说了吧。 C语言不是面向对象的,而程序员又离不开C语言,因此有人在C语言的基础上添加了面向对象的功能,就是C++.同时,C++修改了C语言中一些不方便的规 定,使C语言用起来更方便了。

    这里需要注意两点:

    1.谭浩强那本著名的<>后面用了几张篇幅简要介绍了C++,但是他讲的C++只是上面提到的修改C语言不方便的规定,涉及到面向对象的内容一点没有。

    2.C++是在C语言的基础上发展来的,但是并不是C++比C语言高级,两者的编程思想不一样,应用的领域也不一样。在各自的领域,谁也不能替代谁。而且,windows操作系统出现以后,开发windows平台的图形界面程序成为一大难题。用C语言虽然能开发,但是程序员要花费很大的精力处理图形界面。

    同时,windows平台图形界面的程序又都有很多相似点。为了解放程序员,让他们把精力主要放在程序功能上,而不是放在图形界面上,microsoft公 司推出了visual系列软件开发环境,包括为C++程序员提供的Visual C++.程序员能用C++语言在其上开发图形界面的软件。微软随Visual C++提供了很多用于显示Windows界面的库函数。可以说Visual C++就是C++加上windows图形界面。

    那是不是想学C++和C语言的话,只要去学Visual C++就行了呢?大错特错!市面上任何一本Visual C++教材都是假设用户已经掌握了C++语言,重点在讲和Windows程序设计相关的东西,而且往往都要讲MFC.没有C++基础,根本无法理解MFC 的任何东西。

    很多人急功近利,觉得花费半年甚至一年时间学习C++.连个图形界面的程序都开发不出来,太不划算。这种想法也是错误的。世界上的软件只有一部分具有图形 界面,运行在Windows平台,需要用Visual C++开发。学好了C++,即使不学Visual C++,也是大有作为的。

    还有很多人,要学C++或者C语言,先整个Visual C++装上。其实这是一种误区。Visual C++操作复杂,而且帮助开发者做了很多事情。对于初学者来说,操作复杂的话要花很多时间用在掌握Visual C++的用法上。帮开发者做的那些事情,往往是初学者需要了解的,自己亲手做一下,对学习更有好处。

    再说了,大家装的往往都是非法版本,这种事情不是人家不追究就万事大吉了。自己良心有愧啊。大家学软件还不是为了挣钱,可是自己却不尊重前辈的劳动成果,真是无耻啊。

    本人建议C语言和C++的初学者,上机练习最好用自己喜欢的代码编辑器写好后用GCC编译,对以后的深入学习大有好处。还是那句话,理论加实践才是最好的老师。

    总的来说C++更复杂,功能相对更强大,某些方面也更随意。

    C语言可以说是一种入门语言,只要精通了一种语言,则一通百通。显而易见,C++是不适合用来入门的。若要学编程,从C语言入手,是个不错的选择。

    高校的课程也是这么安排的。

    上面提到的编程代码我们在这里只是为了说明例子,不需要掌握,只是了解一下C与C++的不同之处。

( ←快捷键 上一章 回目录 下一章 快捷键→ )

网站首页 | 站点公告 | 最新福利 | 大神专区 | 完本专区

服务邮箱:3476288848@qq.com 客服QQ:3391237369

Copyright © 2016 时代中文网 All rights reserved. 鄂ICP备16014634号

湖北今古时代文化传媒有限公司 联系地址:湖北武汉市武昌区东湖路楚天181产业园8号楼

请所有作者发布作品时务必遵守国家互联网信息管理办法规定,我们拒绝任何色情小说,一经发现,即作删除!

本站所收录作品、社区话题、书库评论及本站所做之广告均属其个人行为,与本站立场无关