c++和c语言之间有什么区别

C语言

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

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

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

C++的出现

  C++这个词在中国大陆的程序员圈子中通常被读做“C加加”,而西方的程序

员通常读做“C plus plus”,“CPP”。 它是一种使用非常广泛的计算机编程语言。C++是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、泛型程序设计等多种程序设计风格。

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

这里需要注意两点

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

C和C++的编程思想不一样

2.C++是在C语言的基础上发展来的,但是并不是C++比C语言高级,两者的编程思想不一样,应用的领域也不一样。在各自的领域,谁也不能替代谁。

C语言与C++的区别有很多:

  C与C++的最大区别:在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。

1,全新的程序程序思维,C语言是面向过程的,而C++是面向对象的。

2,C语言有标准的函数库,它们松散的,只是把功能相同的函数放在一个头文件中;而C++对于大多数的函数都是有集成的很紧密,特别是C语言中没有的C++中的API是对Window系统的大多数API有机的组合,是一个集体。但你也可能单独调用API。

3,特别是C++中的图形处理,它和语言的图形有很大的区别。C语言中的图形处理函数基本上是不能用在中C++中的。C语言标准中不包括图形处理。

4,C和C++中都有结构的概念,但是在C语言中结构只有成员变量,而没成员方法,而在C++中结构中,它可以有自己的成员变量和成员函数。但是在C语言中结构的成员是公共的,什么想访问它的都可以访问;而在VC++中它没有加限定符的为私有的。

5,C语言可以写很多方面的程序,但是C++可以写得更多更好,C++可以写基于DOSr程序,写DLL,写控件,写系统。

6,C语言对程序的文件的组织是松散的,几乎是全要程序处理;而c++对文件的组织是以工程,各文件分类明确。

7,C++中的IDE很智能,和VB一样,有的功能可能比VB还强。

8,C++对可以自动生成你想要的程序结构使你可以省了很多时间。有很多可用的工具如加入MFC中的类的时候,加入变量的时候等等。

9,C++中的附加工具也有很多,可以进行系统的分析,可以查看API;可以查看控件。

10,调试功能强大,并且方法多样C语言是面向过程的,而C++是面向对象的。

几点学习建议:

  1.基本概念很重要。无论学C,还是学C++,基本概念都是第一位的,也是比较困难的,但只有把握了基本概念才能把握整体脉络,才能居高临下。

2.C是C++的子集,它的基本概念和设计方法相对比较容易理解,初学者可从它入手。

3.如果要学好C++,建议初学者最好别在如VC,BCB平台下写程序,那种自动化的代码生成,花花绿绿的界面,会让你手足无措。最好先找一片空地(unix,dos),从头做起,写几个大点的程序,数个回合,再到VC,BCB下看看,你会轻松得很。在我看来,学好C/C++是成为VC,BCB高手的必由之路。

4.不要妄想速成,必须得一个byte,一个bit的去抠,尽量搞清楚每一个问题。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券