C语言和C++的区别

如题所述

第1个回答  2016-08-29
相同的地方:
1、语法类似:
由于Java可以算是从C++发展而来的,因此Java与C语言的语法比较类似
2、编程的熟练程度就是对语言程序库的掌握程度:
从某种程度上来说,编程语言都是由语法和相应的程序库所构成,Java有自身的类库,C语言则有标准库。所谓的编程,就是使用与语法来调用和组合程序库中的函数。
不同的地方:
1、内存管理
在Java中,基本不用考虑内存的问题,如果想用一个对象,new一个就可以,这个过程的背后则是JRE为对象分类的一定内存,当JRE发现你不再使用这个对象的时候,他就会自动回收内存,也就是说你只管借东西,不用管归还,因为与有人当你的跟班,在你不使用的时候就把东西归还了,不过这个过程还是有的,只不过是JRE作的而已。
但是C则不同,如果你想用,你可以用malloc之类的方法申请内存,当你使用完了,因为没有跟班的,你需要自己把这块内存归还回去,也就是调用free方法来完成这个任务。由于需要显式的归还内存,因此当一个函数需要将一块内存返回给调用者的时候,问题就比较复杂了,不如面向对象和具有内存回收功能的Java那么直观了。对于这个问题,在C语言中,有几种解决方案:
(1) 在调用者中先分配好内存,作为参数传入到被调用的函数中
(2) 在被调用的函数中分配,使用完后在调用者中释放
(3) 在被调用函数中使用static变量,可以将该变量返回
2、面向对象
Java的面向对象的特点很明显,而C则是一个地道的结构化语言。 Java中有一个字符串类String, 通过调用 String.length()就可以知道字符串的长度,但是在C语言中,则需要调用函数strlen(str)来得到字符串(字符数组)的长度。由于C不是面向对象的语言,也就没有this的概念,因此当使用一个与某个“东西”相关的函数时,就需要不厌其烦的将代表这个“东西”的变量作为参数传递进去。
3、名称空间
Java通过包(package)来实现名称空间,在C语言中,所有的函数都处于同一名称空间,也就是没有名称空间,因此就会很多程序提供的api接口函数都有一个前缀,例如MYSQL的mysql_init(), mysql_real_connect(), mysql_real_query()等函数名称前面的mysql_。
给你找的资料。
希望对你有所帮助。。
第2个回答  2015-10-23
VisualBasic是一种可视化的面向对象的编程语言,以其编程简单、快捷等特点,深受广大WINDOWS程序员的青睐。优点:利用VB开发界面友好、操作方便的软件只需很短的时间。
缺点:VB运行速度较慢
C++是在C语言的基础上开发的一种面向对象编程语言,应用广泛。C++支持多种编程范式,面向对象编程、泛型编程和过程化编程。
C++效率更高,更底层,是一种编译型语言,当然学起来更难一些。
VB效率低一些,用起来简单,是一种解释型语言,适用于简单项目的开发。
第3个回答  2013-05-24
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++中它没有加限定符的为私有的。
4,C语言可以写很多方面的程序,但是C++可以写得更多更好,C++可以写基于DOSr程序,写DLL,写控件,写系统。
5,C语言对程序的文件的组织是松散的,几乎是全要程序处理;而c++对文件的组织是以工程,各文件分类明确。
6,C++中的IDE很智能,和VB一样,有的功能可能比VB还强。
7,C++对可以自动生成你想要的程序结构使你可以省了很多时间。有很多可用的工具如加入MFC中的类的时候,加入变量的时候等等。
8,C++中的附加工具也有很多,可以进行系统的分析,可以查看API;可以查看控件。
9,调试功能强大,并且方法多样

*C语言是面向过程的,而C++是面向对象的*

数学只能练了
第4个回答  推荐于2017-12-15
C语言是C++语言的一个子集。
C++语言包含了C语言的全部词法和语法的内容,同时它增加了面向对象程序设计语言所必备的内容。
C为面向过程的语言,C++为面向对象的语言。
C++语言源程序中比C语言多一种数据类型-----类,也就是多一种变量-----对象。本回答被提问者和网友采纳
第5个回答  2012-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函数原型必须把void写出来。而C++可以使用空参数列表。
C++中new和delete是对内存分配的运算符,取代了C中的malloc和free。
标准C++中的字符串类取代了C标准C函数库<cstring>头文件中的字符数组处理函数。
C++中用来做控制态输入输出的iostream类库替代了标准C中的stdio函数库。
C++中的try/catch/throw异常处理机制取代了标准C中的setjmp()和longjmp()函数。
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++ 中它没有加限定符的为私有的。
4,C 语言可以写很多方面的程序,但是 C++ 可以写得更多更好,C++ 可以写基于DOSr程序,写 DLL,写控件,写系统。
5,C 语言对程序的文件的组织是松散的,几乎是全要程序处理;而 C++ 对文件的组织是以工程,各文件分类明确。
6,C++ 中的 IDE 很智能,和 VB 一样,有的功能可能比VB还强。
7,C++ 对可以自动生成你想要的程序结构使你可以省了很多时间。有很多可用的工具如加入 MFC 中的类的时候,加入变量的时候等等。
8,C++ 中的附加工具也有很多,可以进行系统的分析,可以查看 API;可以查看控件。
9,调试功能强大,并且方法多样。
相似回答