简单地说,它们不是一种语言,语法有差别,编程时具体用到的类库或者函数库也不一样。

虽然它们不是一种语言,不过它们却也有所联系。广泛地说,C可以看作其他三种语言的源语言,因为其他三种语言几乎都是从C而来的,无论从数据类型还是控制语句看,其他三种语言都有从C得来的迹象。

其中C++则一般看作是对C语言的扩展。因为C语言没有面向对象的语法结构,而当时业界又迫切需要面向对象的编程特性,所以贝尔实验室的开发者就为C添加了面向对象的结构。现在C++已经不只是C的扩展了,它已经完全可以被看作一种新的编程语言。虽然C的特性以及库函数仍然被C++支持,不过C++拥有自己的独立的类库体系,功能相当强大。

Java语言是一种完全的面向对象语言,虽然它的底层(运行时库)是用C语言开发的,可是并不依赖于C。因为Java的运行是在运行时库的支持下进行的,所以运行效率比起可以更接近底层的C/C++来说效率会有所影响,不过Java的类库采用很好的设计理念设计,非常好用,也非常实用,已经成为业界的一种标准开发语言。它的跨平台的特性尤其让很多开发者欢迎,你只需要开发一次就能在所有安装了Java运行时库的系统上运行。Java发展了十几年了,可以应用领域非常之广泛,Web开发有JSP,J2EE,桌面领域现在有JavaFX。

C#是微软开发的一种编程语言,语法类似Java,几乎就是从Java的翻版。运行原理和Java也类似,也是通过运行时库的支持运行。不过支持的平台还很有限。JAVA几乎被所有平台支持,而C#目前只被Windows和Linux支持,Windows下的支持当然是由微软自己开发的,而Linux下的支持则有MONO支持。实际上,MONO也是把C#应用转化为JAVA应用而已,所以本质上,C#仍然只是被微软自己的操作系统支持。应用平台受到限制,是它最大的缺点。

C/C++的优点在于与底层比较接近,可以控制的粒度更加精细,是开发系统级应用的最佳选择。关于缺点,我想正是源于其优点,因为它们能控制的编程元素粒度精细,所以编程比较困难,烦琐,容易出错。

Java和C#都比较高级,可以看作高级语言的高级语言,优点是开发容易,但运行效率不如更为底层的C/C++。

具体选择使用的时候,可以根据实际的项目需要选择。运行效率要求高的,底层控制要求高的用C/C++,否则可以选择Java或C#;跨平台的要求高的可以用Java。

关于跨平台,C/C++也是很好的语言,因为所有平台都支持,不同的是,不同平台支持的实现不同,类库不同,要编写跨平台的程序,需要选择跨平台的类库,如标准类库,如果标准类库的支持不够也只需要附加编写一个跨平台的支持类库。

几种语言内容都很多,在这里就不详细列举了,要学好每一种都需要花费相当大的精力,祝你能有所成就!

◆◆

评论读取中....

请登录后再发表评论!

◆◆

修改失败,请稍后尝试

c语言和c 编程的区别吗,C语言和C有什么区别呀?相关推荐

  1. java程序设计 c语言_C语言和Java编程有什么区别?

    C语言和Java编程有什么区别?Java从根本上说是c之后的一种改进语言,纯面向对象的一种编程语言(当然比起Ruby还是差一点),有了C语言的基础固然对学习Java有帮助,因为在某种程度上Java和C ...

  2. python与c语言在语法上的区别-C语言和Python编程先学习哪个

    原标题:C语言和Python编程先学习哪个 初学者,Python和C语言先学哪个好? 就像是"先有鸡还是先有蛋一样",先学python还是先学C语言,这也是个世纪难题. 这种纠结并 ...

  3. go语言中fmt包中Print、Printf、Println输出相关函数的区别

    go语言中fmt包中Print.Printf.Println输出相关函数的区别 区别: Print系列函数将内容输出到系统的标准输出.其区别:Print函数式直接输出内容,Printf函数支持格式化输 ...

  4. C语言中字母a等于,C语言中’a’和"a"有什么区别?,c语言中“!a"是什么意思啊...

    导航:网站首页 > C语言中'a'和"a"有什么区别?,c语言中"!a"是什么意思啊 C语言中'a'和"a"有什么区别?,c语言中"!a"是什么意思啊 匿名网友: 1.本质区 ...

  5. c语言中exit函数可以返回嘛,C语言中的exit函数 以及他与return函数的区别

    1.   exit() 结束当前进程/当前程序/,在整个程序中,只要调用 exit ,就结束 exit(0)表示进程正常退出. 返回 0; exit(1)表示进程非正常退出. 返回 1. 2.    ...

  6. 一文搞懂List 、ListObject、List?的区别以及? extends T与? super T的区别

    前段时间看<Java编程思想>泛型时对 <? extends T>与<? super T>很懵逼,接着看到泛型与集合的更蒙蔽,随后又翻开<码出高效>时, ...

  7. 罗马音平假名中文可复制_韩语入门,认识韩语四十音,学唱韩语歌曲

    同是天涯爱豆粉,相逢一起学韩语!想一起学习关注我! 学习韩语首先需要了解韩语四十音,想学习韩语歌曲的伙伴只需要学会四十音既可以唱自己喜欢的韩语歌曲. 对那些从来没有接触过韩语的朋友来说,会觉得韩语很难 ...

  8. java post和put的区别,ES 中的 POST 和 PUT 的区别

    0.什么是Restful架构 比较难说清楚,这部分大雾状态,引ruanyf 理解RESTful架构 的几句总结吧: Fielding将他对互联网软件的架构原则,定名为REST,即Representat ...

  9. python的元组和列表什么区别_Python 中列表和元组有哪些区别?

    看过了所有的区别,然而所有的区别都基本毫无意义,tuple元组的设计基本是python语言中一个完全失败和错误的设计,然而我们所有人都只敢小说地说啊它们之间有区别,没有人敢说它们没有区别,是因为这是一 ...

  10. java接口比继承优秀的地方,实现和继承的区别 java 实现接口和继承有什么区别...

    Java中继承和实现的区别 理论上:类只能单继承,接口可以多继承(接口应该叫实现): 实践上:小编们说类的继承一般继承的是事物的属性,如:姓名,年龄,性别 等,而接口的继承(或者说实现)一般是继承事物 ...

最新文章

  1. Java并发设计模式--不可变模式(immutable)
  2. mongodb 安装、开启服务 和 php添加mongodb扩展
  3. [Xcode 实际操作]六、媒体与动画-(3)使用CoreImage框架设置图片的单色效果
  4. 沃舍尔算法_[数据结构拾遗]图的最短路径算法
  5. 远程登录linux_linux 检查远程登录IP,并发送告警
  6. laravel 项目迁移_在Laravel迁移
  7. RabbitMQ交换器Exchange介绍与实践
  8. iOS平台软件开发工具(一)-新建的工程使用CocoaPods工具集成第三方框架
  9. 常用js(javascript)函数
  10. IDC:2021年云上数据量超过传统数据中心,All in Cloud是趋势
  11. Python笔记(21)正则表达式
  12. 小学生自学奥数必备的这些书籍
  13. 软件设计模式与体系结构(入门基础知识)
  14. Struts2通配符错误问题
  15. 威富通对账单下载并且解析为对象列表展示
  16. 电商数据分析常见的指标汇总
  17. android 统计图表MPAndroidChart
  18. yuv 420 8 bit 转 10bit
  19. AcWing 187 导弹防御系统
  20. strpos php 中文,php substr中文乱码最有效到解决办法 还有strpos不能比较中文

热门文章

  1. 00038oracle,ORACLE错误一览表
  2. 语言怎么解决扭魔方_吧台高度没留够,怎么坐都变扭,直接加玻璃框没想到也能解决难题...
  3. python调用扫描仪_使用Python编写简单的端口扫描器的实例分享
  4. c语言单链表_突破C语言难点之单链表?一绘图即可
  5. Web前端基础---JavaScript函数事件及其绑定DOM模型BOM模型
  6. [考研]考研倒计时第8天
  7. [Day14]Eclipse高级、类与接口作为参数返回值
  8. git新建分支并且在切换分支开发
  9. jQuery 基础事件
  10. Nginx Parsing HTTP Package、header/post/files/args Sourcecode Analysis