编程相关问题?

2025-03-19 16:42:27
推荐回答(2个)
回答1:

1. c是面向过程的语言。c++和Java都是面向对象的。在c中没有类或者对象的概念。

2. java运行在虚拟机上,号称与平台无关。也就是你开发的java程序无论是unix,linux还是windows都可以正常运行。但是实际上这是一个良好的愿望,实际跨平台时还会有各种各样的问题。c和c++都是直接编译成可执行文件,是否能跨平台主要看你用到的编译器特性是否有多平台支持。
3. 因为c和c++是直接编译成可执行文件,所以运行效率要比java高。至于c和c++哪个更快,两种语言的拥趸已经吵了很多年。
4. java因为是运行在虚拟机上,不需要考虑内存管理和垃圾回收机制。也是就你可以声明一个对象而不用考虑释放他,虚拟机帮你做这事情。而c和c++语言本身没有多少内存管理的概念,写c和c++程序如果用到指针就一定要考虑内存申请和释放。内存泄漏是c和c++最头疼的问题。
5. 代码重用:java中有一个根类object,所有的类都是其子类,通过这种方式将容器和算法分离,实现一种操作作用于多种对象,提高代码重用。c++中没有总根对象,但是c++提供了另一个更强大的功能“模板”,同样高效地实现了一种操作作用于多种对象,提供了高效的代码重用方法。
6. 数据结构:java内建了丰富的数据结构:列表,集合等等(很久没用java了,有些记不太清)。而c++则用“模板”同样提供了各种数据结构(容器)。
7. c语言在一些比较低层,和硬件打交道的地方用得比较多。另外很多开源软件由于unix/linux开发习惯也大多采用c来开发。Java是现在最流行的开发语言,c++比起java稍稍不那么流行一些,但是功能很强大。如能深入掌握,可以写出兼顾效率和美观的优秀代码。
时间足够的话,先学C再学Java,学完C再学Java会更容易;时间不够直接上 Java。

回答2:

这些问题你是考试要问的问题还是你自己想知道,如果只是你自己想知道,你不需要知道有什么不同,只需要知道C++和C只适于用某些特定领域(比如C是在用硬件嵌入式、C++主要用于商业软件开发),这两个都不适合现在主流的开发环境,java则跨越了web、后台服务和安卓手机端开发。不同语言之间虽然思想相通,但是如果真的要用,无论你是否懂C,学JAVA都一样要重学,只是进度稍快点。