c++和C语言有什么区别?易学吗?

如题所述

C++在历史上曾经是C的扩展,不过现在两个都各自有发展,所以现在的C++与现在的C没有谁是谁的扩展的关系。
现在有人说C和C++是大熊猫和小熊猫的关系,也就是说只是名字相近——这多少有欠公允。不过C和C++的确是有巨大区别的,C语言简单有效,但处理大问题就很麻烦像把左轮手枪;而C++则简直是一辆坦克,功能齐备,但更肥大——无非都是兵器而已。至于说学习上C是C++的基础,倒是一大误区,枪械和火炮长得可能有点像,甚至也有点渊源,但终究全不是一回事。

先学C,后学C++有好处也有坏处,应该说至今仍有争论。
我的看法是,如果是做应用软件一类的编程,就不应该先学C,而且应该在初学时少接触C的旧式编程风格,而是把大部分精力放在C++的标准库(包括基于STL的编程,这方面国内一般的教材最欠缺),以及基于对象和面向对象的编程上。这是因为C++的这些应用从编程方式到代码风格都与C语言大相径庭,初学养成C式的编程习惯就很改掉,反而限制对类和泛型编程的理解。
如果是想接触比较底层的东西,以后做软件库开发、系统编程之类,那么学C语言,尤其是一些像宏、指针、内存管理等知识就很有好处(这些东西在前一种应用中却都要尽量避免)。但先学C的好处并不明显,因为直接学C++同样可以学到这些东西,只要改变一点学习侧重就可以了。
上面是从应用方向角度说的。至于学习的困难程度,直接学C++并不难,而且在一些方面更简单一些;只不过C++的内容比C多罢了。C++的创始人Stroustrup就大力提倡不要学C,并列举了先学C的种种坏处。因此我的意见也是不学C,直接学C++。

现在国内讲C++的书一般是先讲与C相似的一块,后讲C++独有的内容,没有融合在一起,看似C成了“基础”。其实这种讲法主要是由于国内编教材的教师多是学C语言(甚至机器码、汇编)出身的,可能到很晚才接触C++,因而有思维定势。其实看国外许多教材,一入门就强调类的概念,入门不多久就大量用到STL,过程式的语法与这些一块讲,同样也很直观(对象的概念实际上比函数的概念直观得多),可以学得通。
温馨提示:内容为网友见解,仅供参考
第1个回答  2023-04-26
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。作为一种过程语言,初学者通常更容易掌握。它是一种更简单的语言,具有更少的选项,因此,它是编程的坚实基础。许多程序员从c语言转向Java或c++。通过先学习c语言,程序员可以适应这种语言的过程性,然后通过c++学习面向对象编程。c++比c要复杂得多,对于初学者来说是难以应付的。 对于已经习惯面向对象编程和过程编程的高级程序员来说,在c之前学习c++是一个可以理解的选择。在当今的编程世界中,c++被越来越多地使用,而且它通常被认为是更健壮的语言,尽管c更适合某些应用程序。对特定领域感兴趣的程序员,比如上面提到的视频游戏行业,可能不会使用c语言,事实上,可能永远都不需要使用它。 所以具体选择哪一个取决于你自己的情况。
第2个回答  2008-12-16
C语言 和C++总的来说区别不大,但是完全可以互相脱离,如果花上一个月的时间完全可以搞定其中的任何一门.他们最大的区别就是C是面向过程的,而C++是面向对象的.C可以描述C+但是C++有时却无法描述C因为C是最基础的
第3个回答  2023-04-01
c语言是面向过程的。面向过程是着重于其中程序设计的算法、语言的运用,如设计不同功能的函数。C++是面向对象的。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。c语言的特点:1、代码具有较好的可移植性C语言是面向过程的编程语言,用户只需要关注所被解决问题的本身,而不需要花费过多的精力去了解相关硬件,且针对不同的硬件环境,在用C语言实现相同功能时的代码基本一致,不需或仅需进行少量改动便可完成移植,这就意味着,对于一台计算机编写的C程序可以在另一台计算机上轻松地运行,从而极大的减少了程序移植的工作强度。2、可生成高质量、目标代码执行效率高的程序与其他高级语言相比,C语言可以生成高质量和高效率的目标代码,故通常应用于对代码质量和执行效率要求较高的嵌入式系统程序的编写。
第4个回答  2023-05-31
c语言和c++的区别:1、全新的程序思维,C语言是面向过程的,而C++是面向对象的。2、C++在写程序方面比C语言写得更好更多,C++可以写基于DOSr程序,写DLL,写控件,写系统。3、C语言有标准的函数库,它们是松散的,只是把功能相同的函数放在一个头文件中;而C++的大多数函数都是集成的,很紧密。特别是C语言中没有的C++中的API。4、C++中的图形处理和C语言的图形处理有很大的区别。C语言中的图形处理函数基本上是不能用在中C++中的。C语言标准中不包括图形处理。
5、C语言和C++中都有结构的概念,但是在C语言中结构只有成员变量,而没成员方法,而在C++中结构中,它可以有自己的成员变量和成员函数。但是在C语言中结构的成员是公共的,不管什么人想访问都可以;而在VC++中它没有加限定符是为私有的。6、C语言对程序的文件的组织是松散的,几乎是全要程序处理;而C++对文件的组织是工整的,文件分类十分明确。
相似回答