所在的位置: C++ >> C++介绍 >> C,C,C三者区别

C,C,C三者区别

北京中西青春痘医院 http://m.39.net/baidianfeng/a_8743276.html

C

我们从C语言开始讲起,因为它是三者中最老的、使用范围最广的语言。DennisRitchie在年创造了C语言并在年公布。Ritchie设计C的初衷是用于开发新版本的Unix。

在那之前,Unix使用的是汇编语言(assemblylanguage),它是计算机可读取的最低级的编程。C语言的诞生彻底改变(revolutionize)了编程和操作系统。其余的,正如他们所说,是一段历史了。(译者注:就是夸C语言很屌就是了。)

译者注:语言的低级或者高级,并不是说语言的厉害程度。低级指的是更加接近于底层,计算机执行起来更快但是不利于人类理解,高级则相反。

C也是一门低级的编程语言,它的效率和汇编接近。它提供了基本级(base-level)的访问内存方式,对运行时支持的要求非常小。

尽管它已经诞生了40多年,但是它依然得到广泛的使用(译者注:看TIOBE就知道了,年12月排名第二,仅次于Java)。开发人员仍然使用它在操作系统、内核级软件开发、硬件驱动和需要与旧代码一同工作的应用程序上。

许多老牌的学校会建议C语言作为首选语言,因为许多后来的语言借鉴了C。由于C的年龄原因,使用C也可能带来一些安全性的提升。因为使用C的用户比较少,因此它比较不容易成为黑客的目标。

C++

C++是作为C的扩展来开发的。它是由丹麦的哲学博士(Ph.D.)BjarneStroustrup开发的。他的目标是增强C语言并在不牺牲速度和效率的前提下为其增加面向对象(object-oriented)的能力。

C++被认为是一种中级的语言,因为它基于低级的C语言所创建并拥有一些高级的能力。

自从年其发布以来,它已成为了另一个高产的编程语言。在开发操作系统时它会和C一同协作,但是在一些high-profile服务器和PC软件上也能看到它的身影。

译者注:high-profile,可以理解为高调的意思,例如游戏PC领域的雷蛇、外星人系列。

如果你的C语言功底扎实,那么你理解C++也是易如反掌;不过,如果你想立刻体验面向对象编程的话,也可以将C++作为你的第一门编程语言。(译者注:不是应该第一时间先找个对象吗?)

C#

C#是一门高级的面向对象的编程语言,同样也是作为C的扩展所创建的。它是在年,由微软的一个团队的领头人AndersHejlsberg开发的。它是基于.NET框架的,但是它的核心依然是C语言。

C#将代码编译成字节码(byte-code)而不是机器码(的二进制)。这意味着它会在一台虚拟计算机上运行,这台虚拟机实时(onthefly)将字节码翻译成机器码。它在C语言的基础上添加了垃圾回收(garbagecollection)、未初始化的变量检查(uninitializedvariablechecking)、边界检查(boundchecking)和类型检查(typechecking)这些特性。

译者注:翻译到这里的时候我就想到了Java以及JVM。

C#常见于内部或者企业应用而不是商业软件。可以在.NET框架中的客户端和服务器端开发中找到。

虽然C#是三门语言中技术上最复杂的,但是它的语法相对于C和C++来说更不容易出错,因此相对来说它的学习会更快点。

C,C++,C#三者区别

首先,三者是继承关系是C-C++-C#;

C++完全向C兼容,C程序几乎不用修改即可在C++的编译器上运行.C++也称为带类的C,在C的基础上增加了许多面向对象的概念.

虽然C++是C的扩展,但并不意味着C功能不如C++,因为最牛的操作系统是用C写的.

C#是微软开发的,继承了C和C++的许多东西,但和两者基本上已完全不一样了.已成为一种全新的语言。

其实,这3种都是编程语言,语法基本上是一样的,不过具体的内容差别还是挺大的。

C语言是一种结构化编程语言。由于C语言实现了对硬件的编程操作,因此C语言集高级语言和低级语言的功能于一体。既可用于系统软件的开发,也适合于应用软件的开发。此外,C语言还具有效率高,可移植性强等特点。因此广泛地移植到了各类各型计算机上。

C++是在C的基础上改进后的一种编程语言,增添了许多新的功能,难度也比C大,和C一样侧重于计算机底层操作,也就是系统软件的开发。C#是在C++的基础上再一次改进后的编程语言,侧重于网络和数据库编程。

最后,c是面向过程的,C#是一种完全面向对象的语言,而C++是面向对象的,但不是完全面向对象的语言;




转载请注明:http://www.aierlanlan.com/rzfs/1108.html