C语言和java的区别是什么?

如题所述

C语言是经典的面向过程的编程语言,编程入门一般都学C语言以了解编程以及锻炼逻辑思维能力,在一些跟硬件比较紧密的编程中也经常用到。\x0d\x0a\x0d\x0aC++是在C语言的基础上加入了面向对象的概念,成为混合型面向对象语言,功能强大,但难度也大。\x0d\x0a\x0d\x0aJava是在C++的基础上进行改进的,摒弃了一些C++的不足之处,语法跟C++很像,它是运行在Java虚拟机上,所以可以跨平台,一处编译,到处执行。\x0d\x0a\x0d\x0a编程都是易学难精,哪个都好学,哪个又都不好学。都有很好的发展前景,就看是什么方向了。底层的C、桌面应用程序、游戏等等C++、嵌入式,网页,Java。
温馨提示:内容为网友见解,仅供参考
第1个回答  2016-05-06
相同的地方:
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_。
给你找的资料。
希望对你有所帮助。本回答被网友采纳

java和c有什么区别
1、设计思路不同:C语言是面向过程的语言,执行效率高;Java是面向对象的语言,执行效率比C语言低。2、效率不同:C语言执行效率高;Java执行效率比C语言低。3、通用性不同:C语言不能跨平台;java可以跨平台直接移植。4、语法不同:基本数据类型不同:c语言的基本类型的位数和操作系统和机器相关,而j...

c语言和JAVA语言有什么区别?
两者的区别:1、面向对象Java的面向对象的指向性很明显,而C则是一个正规的结构化语言。 Java中有一个字符串类String, 通过调用 String.length()就可以了解字符串的长度,但是在C语言中,则需要使用函数strlen(str)来得到字符串(字符数组)的长度。2、名称空间Java通过包(package)来实现名称空间,在...

java和c的异同(java与c语言的异同)
Java和c语言的区别C语言是经典的面向过程的编程语言,编程入门一般都学C语言以了解编程以及锻炼逻辑思维能力,在一些跟硬件比较紧密的编程中也经常用到。\\x0d\\x0a\\x0d\\x0aC++是在C语言的基础上加入了面向对象的概念,成为混合型面向对象语言,功能强大,但难度也大。\\x0d\\x0a\\x0d\\x0aJava是...

c语言与java语言有哪些区别?
C语言和Java语言是两种不同的编程语言,它们有以下几个方面的区别:1. 应用范围:C语言主要用于系统编程、操作系统、嵌入式系统等方面,而Java语言则广泛应用于Web开发、移动开发、大型企业级应用开发等方面。2. 语法:C语言是一种过程化语言,强调对计算机底层硬件的控制,其语法比较简单;Java语言则是一...

c和java的区别
c和java的区别:应用领域、语言特征、复杂程度不同。1、应用领域 java基本可以称得上是“全场景”的编程语言,不论是网站开发,还是安卓开发,还是游戏开发等等,这些领域都不在java话下。而c语言就比较有局限性了,它更多的应用在物联网的嵌入式开发,以及操作系统上。从这个角度来看,学习java后的就业...

c语言和java的区别
1. 语法差异:C语言和Java的语法结构存在本质区别。C语言具有较为底层的控制能力,而Java提供了更高级的抽象。2. 编译速度:在编译单个文件时,Java通常比C语言快,因为Java拥有更高效的编译器和即时编译(JIT)机制。3. 内存操作:C语言允许直接访问和操作内存,Java则通过内存管理器来处理内存,从而...

c语言和java的区别是什么?
1、设计思路不同:C语言是面向过程的语言,执行效率高;Java是面向对象的语言,执行效率比C语言低;2、通用性不同:C语言不能跨平台;java可以跨平台直接移植,只要有安装Java虚拟机(JVM)就可以了;3、语法不同:(1)、基本数据类型不同:c语言是int short long char float double 还有一些特殊类型...

java和c语言有什么区别
内存管理的不同:在C语言中,内存管理需要程序员手动进行,包括动态内存的分配和释放等。而Java提供了自动的内存管理,程序员无需关心内存的分配和释放,降低了内存泄漏的风险。语言特性的差异:C语言具有强大的底层操作能力,可以直接操作内存,进行复杂的指针操作等。而Java为了安全性和跨平台性,对底层...

C语言和JAVA有什么区别?
回答:相同的地方: 1、语法类似: 由于Java可以算是从C++发展而来的,因此Java与C语言的语法比较类似 2、编程的熟练程度就是对语言程序库的掌握程度: 从某种程度上来说,编程语言都是由语法和相应的程序库所构成,Java有自身的类库,C语言则有标准库。所谓的编程,就是使用与语法来调用和组合程序库中...

java语言与c语言有什么区别呢?
java和c语言两者的区别如下:1、C语言是面向过程的语言,执行效率高;Java是面向对象的语言,执行效率比C语言低;2、C语言的安全性不如Java,C语言没有Java的垃圾回收机制,申请的空间要手动释放。Java的通用性好,可以跨平台直接移植,只要有安装Java虚拟机(JVM)就可以了。3、在速度上,C语言编写的...

相似回答