这三个是不同的语言,但之间又有许多联系
C语言是一种面向过程的计算机程序设计语言,最初为unix而生。它既有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛。
C++这个词在中国大陆的程序员圈子中通常被读做“C加加”,而西方的程序员通常读做“C plus plus”,“CPP”。 它是一种使用非常广泛的计算机编程语言。C++是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、制作图标等等泛型程序设计等多种程序设计风格。
注意,这里就出现了C与C++的一个不同点:C是面向过程的计算机语言,而C++则是面向对象的计算机语言。C++是由C发展而来的,它比C要复杂很多,更适于进行工程开发。美国AT&T贝尔实验室的本贾尼·斯特劳斯特卢普(Bjarne Stroustrup)博士在20世纪80年代初期发明并实现了C++(最初这种语言被称作“C with Classes”)。一开始C++是作为C语言的增强版出现的,从给C语言增加类开始,不断的增加新特性。
C++语言发展大概可以分为三个阶段:
第一阶段从80年代到1995年。这一阶段C++语言基本上是传统类型上的面向对象语言,并且凭借着接近C语言的效率,在工业界使用的开发语言中占据了相当大份额;
第二阶段从1995年到2000年,这一阶段由于标准模板库(STL)和后来的Boost等程序库的出现,泛型程序设计在C++中占据了越来越多的比重性。当然,同时由于Java、C#等语言的出现和硬件价格的大规模下降,C++受到了一定的冲击;
第三阶段从2000年至今,由于以Loki、MPL等程序库为代表的产生式编程和模板元编程的出现,C++出现了发展历史上又一个新的高峰,这些新技术的出现以及和原有技术的融合,使C++已经成为当今主流程序设计语言中最复杂的一员。
C++设计成静态类型、和C同样高效且可移植的多用途程序设计语言。
C++设计成直接的和广泛的支援多种程序设计风格(程序化程序设计、资料抽象化、面向对象程序设计、泛型程序设计)。
C++设计成给程序设计者更多的选择,即使可能导致程序设计者选择错误。
C++设计成尽可能与C兼容,籍此提供一个从C到C++的平滑过渡。
C++避免平台限定或没有普遍用途的特性。
C++不使用会带来额外开销的特性。
C++设计成无需复杂的程序设计环境。
===============以上是C与C++的联系与区别===================
再来说说C#
C#(C Sharp)是微软(Microsoft)为.NET Framework量身订做的程序语言,C#拥有C/C++的强大功能以及Visual Basic简易使用的特性,是第一个组件导向(Component-oriented)的程序语言,和C++与Java一样亦为对象导向(object-oriented)程序语言。
但是C#与纯粹的C与C++的区别就很多了,尽管它也包含一个C字,但它实际上是另外一种计算机语言
微软C#语言定义主要是从C和C++继承而来的,而且语言中的许多元素也反映了这一点。C#在设计者从C++继承的可选选项方面比JAVA要广泛一些(比如说struts),它还增加了自己新的特点(比方说源代码版本定义).但它还太不成熟,不可能挤垮JAVA。C#还需要进化成一种开发者能够接受和采用的语言。而微软当前为它的这种新语言大造声势也是值得注意的。目前大家的反应是:“这是对JAVA的反击”。
C#更像JAVA一些,虽然微软在这个问题上保持沉默。这也是意料中的事情,我觉得,因为JAVA近来很成功而使用JAVA的公司都报告说它们在生产效率上比C++获得了提高。
JAVA所带来的巨大影响和大家对它的广泛接受已经由工作于这种语言和平台之上的程序员数量明显的说明了(估计世界范围内共有两百五十万程序员使用JAVA)。由这种语言写成的应用程序的数量是令人惊讶的并已经渗透了每一个级别的计算,包括无线计算和移动电话(比如日本发明的JAVA电话)。C#能够在用户领域获得这样的礼遇吗?我们必须等待并观望,就象已经由SSI公司的CEO和主席KALPATHI S. SURESH指出来的那样:"我发现所有这些都是渐进的。如果C#不存在,我们总能回到JAVA或C和C++。这些都不完全是新技术,它们在更大的意义上来说只是大公司制造的市场噱头。我们必须给他们时间安顿下来看看这些是不是真的对IT工业有什么影响。"
C# (C SHARP)是微软对这一问题的解决方案。C#是一种最新的、面向对象的编程语言。它使得程序员可以快速地编写各种基于MICROSOFT .NET平台的应用程序,MICROSOFT .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。
正是由于C#面向对象的卓越设计,使它成为构建各类组件的理想之选——无论是高级的商业对象还是系统级的应用程序。使用简单的C#语言结构,这些组件可以方便的转化为XML网络服务,从而使它们可以由任何语言在任何操作系统上通过INTERNET进行调用。
最重要的是,C#使得C++程序员可以高效的开发程序,而绝不损失C/C++原有的强大的功能。因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。
所以说C#是C/C++语言的继承与发展,功能十分强大
C可以看作其他三种语言的源语言,因为其他三种语言几乎都是从C而来的,无论从数据类型还是控制语句看,其他三种语言都有从C得来的迹象。
其中C++则一般看作是对C语言的扩展。因为C语言没有面向对象的语法结构,而当时业界又迫切需要面向对象的编程特性,所以贝尔实验室的开发者就为C添加了面向对象的结构。现在C++已经不只是C的扩展了,它已经完全可以被看作一种新的编程语言。虽然C的特性以及库函数仍然被C++支持,不过C++拥有自己的独立的类库体系,功能相当强大。
C#是微软开发的一种编程语言,语法类似Java,几乎就是从Java的翻版。运行原理和Java也类似,也是通过运行时库的支持运行。不过支持的平台还很有限。JAVA几乎被所有平台支持,而C#目前只被Windows和Linux支持,Windows下的支持当然是由微软自己开发的,而Linux下的支持则有MONO支持。实际上,MONO也是把C#应用转化为JAVA应用而已,所以本质上,C#仍然只是被微软自己的操作系统支持。应用平台受到限制,是它最大缺点
C 、 C++ 、 C# 是三门不同的语言,你要是问他们的区别就太多了。你应该问他们有什么相同之处。那么,相同之处只有语法同源。
C 最早的C系语言,面向过程开发。被称为中级语言。他介于汇编和高级语言之间。对底层控制力强。目前基本上都用于底层软件的开发,或者单片机上的应用。
C++ 是C的全新扩充(不只是在原有结构上的扩展)。他是面向对象开始阶段的产物。可以说是面向对象的语言,但是他又是兼容一些C语言的写法。比如函数库之类,这些都是面向过程的。目前应用在一些效率要求较高的场合,也可以就用于C语言的应用范围。
C# 是真正纯面向对象的语言,是微软主导开发的。可以用于web开发,也可以用于windows程序开发。不再支持任何面向过程的写法,所有的东西(除了标识符)都是对象。
是的
语言基本结构是一样的。
C是基础,完全面向过程设计的语言体系
C++是C的衍生,具有一定的面向对象,但仍然还有面向过程的部分
C#是C++、java结合体。比较完整全面的面向对象设计思维语言
分别是三种不同的程序设计语言。相同之处在于都可以进行各种程序的编译。不同是他们有的是面向对象有的是面向过程。
是
C是命令式语言
C++面向对象,但为了兼容C,有很多C的缺点,如动态内存的管理、提供C的库函数等
C#完全面向对象