C、C++、java的区别

13 篇文章 0 订阅

博主面试的时候被问到这三个编程语言的区别,之前没有做过系统性的整理,回答问题的思路比较散乱,今天整理一下,

首先是C、C++的区别,

C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。

C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”。

  1. 动态内存开辟:C malloc/free ,C++ new/delete
  2. 输入输出关键字:C scanf/printf,C++ cin/cout;
  3. C++ 将字符串定义为一个string类
  4. 结构体struct:C++中的结构体相当于一个Class默认为私有,C语言默认为public;
  5. C++支持函数的重载,C不支持(函数重载即函数名和返回值相同,但函数的参数不同)
  6. C++支持运算符的重载,由关键字operator和要重载的运算符构成。

C++、java 的区别

  1. java语言不需要对内存进行的分配和回收,程序会自动处理,不需要考虑内存碎片问题。
  2. C++支持多重继承,它允许许多父类派生一个类,java不支持多重继承,但允许一个类继承多个接口
  3. java是完全的面向对象的编程语言,C++不是完全的面向对象语言的编程
  4. java不支持运算符的重载,运算符的重载是C++的一个突出特征。
  5. java不支持预处理,C/C++有预编译阶段(但java的import具有与C++预处理相似的功能)
  6. java不支持缺省函数的参数,C++支持
  7. C/C++不支持字符串变量,java可以使用 ‘+’对字符串进行连接;
  8. C/C++支持数据类型的隐式转换,java必须显式的进行强制类型转换

好了,今天就先整理到这里,以后有新的发现再进行补充。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值