c c++ java的区别

三者有什么区别?求详细透彻的解答,谢谢

C++就是“带类的C”,最大区别就在于,C++是面向对象的,面C是面向过程的。定义一个类,也就是定义一类对象。可以用这个类去定义对象的实例。每类对象有自己的属性和方法,方法就像C中的函数的作用。只不过是针对某一特定的对象,而C中的函数可以在任何过程调用。
C是最古老的语言,至少有30年的历史了,一直到现在它仍然是运行效率最高的高级语言,随着面向对象思想的出现,与C兼容的C++出现了,并且和C一样,在各种觉平台上都有相应的编译器,之后,才出现了Java,它是一种纯面向对象的静态语言,语法与C类似,但抛弃了C++中令人诟病的复杂设计而大受欢迎。再后来,出现了C#语言,它是微软挂牛头卖狗肉的产品,打着C的名号抄袭Java,初衷是争夺Java的服务器端编程的市场,现在的ASP.net就是以C#为核心的一个开发体系。

总的来说C/C++在工业开发包括硬件驱动领域依然是龙头老大,C++也占据了桌面软件市场的主要份额,至于服务器端编程(也是就企业应用开发)Java的地位不可撼动
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-07-09
C语言

C语言的优点:

1.简洁紧凑、灵活方便

2.运算符丰富

3.数据结构丰富

4. C是结构式语言

5. C语法限制不太严格,程序设计自由度大

6. C语言允许直接访问物理地址,可以直接 对硬件进行操作

7. C语言程序生成代码质量高,程序执行效 率高

8. C语言适用范围大,可移植性好

9. C语言有一个突出的优点就是适合于多种 操作系统,如DOS、UNIX,也适用于多种机型

10.有效地将一个较复杂的程序系统设计任 务分解成许多易于控制和处理的子任务,便 于开发和维护

C语言的缺点:

1. C语言的缺点主要是表现在数据的封装性 上,这一点使得C在数据的安全性上做的有 很大缺陷,这也是C和C++的一大区别。

2. C语言的语法限制不太严格,对变量的类 型约束不严格,影响程序的安全性,对数组 下标越界不作检查等。从应用的角度,C语 言比其他高级语言较难掌握。

3.可重用性差

4.数据安全性差

5.难以开发大型软件和图形界面的应用软件

6.把数据和处理数据的过程分离为相互独立 的实体

7.当数据结构改变时,所有相关的处理过程 都要进行相应的修改

8.每一种相对于老问题的新方法都要带来额 外的开销

9.图形用户界面的应用程序,很难用过程来 描述和实现,开发和维护也都很困难

C++

C++优点:

1.可扩展性强

2.高效 简洁 快速

3.可移植性

4.面向对象的特性

5.强大而灵活的表达能力和不输于C的效率

6.支持硬件开发

7.程序模块间的关系更为简单,程序模块的 独立性、数据的安全性就有了良好的保障

8.通过继承与多态性,可以大大提高程序的 可重用性,使得软件的开发和维护都更为方便

C++缺点:

1.比较底层,易用性不是很好

2.多重继承和友元机制

3.标准库涵盖范围不足

4.开发周期长

5.非并行

6.掌握有难度

7.粒度封装不够

Java的优点:

1.简单性

2.面向对象性(面向对象的程度可以达到 95%)

3.健壮性

4.跨平台性

5.高性能(自动垃圾回收机制)

6.多线程

7.动态性

8.安全性

Java的缺点:

1.效率低(毋庸置疑)

2.跨平台是它最大的优点也是最大的缺点

3.复杂性(做一个项目需要很多的知识,涉 及面广)
第2个回答  2008-09-08
c是面向过程的。很灵活,功能强大,但是它适用于编写操作系统软件。比如在嵌入式系统中用c就很多。

c++是c的超集,也就是说c++包含c。c++对c进行了扩充和发展。为什么要有c++呢?是为了解决大型软体开发的需要。也就是说c++是为了解决大型应用软件开发而对c进行的扩充。主要是引进了面向对象的概念。在c的结构体的基础上,提出了类的概念。c++说简单点,就是多了个类。

java是面向对象的。java开始出来的时候是想应用到嵌入式领域,但是发展到后来就逐渐在其它领域发展迅猛。

其实这三者同属一家。c 和c++更是联系密切。
如果你在工程领域,比如单片机,嵌入式等。你学好c就已经非常满足你的需求了。
如果你做软件开发(主要是应用软件,纯软件的,比如你想要开发一个软件管理系统,你要参与设计一个类似word的大型应用软件,呵呵),那么你就要学c++了。毕竟现在如果不懂类的概念显得多么的落伍。至于java。上面的哥们说了,想快点入手没什么基础就学java 。
第3个回答  2008-09-08
c应用在嵌入式等技术中,可以说用好了能解决任何问题。
c++包含c所有在c中能用的程序c++都能用。是个超级,封装性和安全性要好于c
java用我们领导的话说不是计算机相关专业的,想快点入手没什么基础就学java
有句话就是c++学明白了java就很容易学会。但反之不行。
真正的程序员是用c++的!
如果嵌入式的话你还要会c!
可以说c++什么都行!
第4个回答  2008-09-08
C是面向过程的~~C++即面向过程~又面向对象~~JAVA是纯面向对象的~~

面向过程:程序=数据+算法;
面向对象:程序=对象+对象+对象......+对象;
相似回答