C#和C语言以及C++的区别

如题所述

C语言:
目前最著名、最有影响、应用最广泛的windows、linux和UNIX三个操作系统都是用C语言编写的。0S是计算机系统(由软硬件两个子系统构成)的核心和灵魂,它是软件中最庞大最复杂的系统软件。既然如此庞大复杂的0S都可以用c语言编写,从狭义而言,还有什么系统软件和应用软件不能用c语言编写呢?由此可以肯定的说,c语言是一门十分优秀而又重要的语言。
c语言程序设计是过程性程序设计语言,它的发展贯穿了计算机发展的历程,它蕴含了程序设计的基本思想,囊括了程序设计的基本概念,所以它是理工科高等院校的一门基础课程。
从市面上有关c语言的书籍和高等院校采用的教材来看,它们有一个共性,那就是:脱离了实际应用(全是小打小闹的小例子),纯粹的过程性程序设计,没有软件工程思想的体现,没有一定程序设计风格,仅仅是为了让大家明白什么是c语言而已。
高等院校开设c语言程序设计的目的是让学生对程序设计有个入门,有个直观的理解,同时为其他后续课程作铺垫。

C++:
C++语言是在C语言的基础是扩展而成的.所以两种语言的基本语法和语义是相同。C++中加入了面向对程序设计(OOP)的特征。
下面的三个主要性质刻划OOP语言的特点:
封装性:把一个数据结构同操作的函数(行为或方法)组合在一起。封装性是借助于一种新的结构和数据类型机制——类实现的。
继承性:建立一个新的派生类,它从一个或多个先前定义的基类中继承函数和数据,而且可能重新定义或加进新的数据行为,这样就建立了类的层次。
多态性:给行为取一个名字或符号,它共享一个类的层次,在这个层次中的每个类都以适合自己的方式实现这个行为。

C#:
C#(读做 "C sharp",中文译音“夏普”)是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言,并定于在微软职业开发者论坛(PDC)上登台亮相.C#是微软公司研究员Anders Hejlsberg的最新成果.C#看起来与Java有着惊人的相似;它包括了诸如单一继承,界面,与Java几乎同样的语法,和编译成中间代码再运行的过程.但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NET windows网络框架的主角.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-12-03
我们知道C语言具有很高的执行效率,同时具有非常强大的控制能力,特别是硬件控制方面尤为突出。在所有高级语言中它是比较接近汇编主言的。另外C是过程性的语言,没有继承等特性.
C++与C不同。C++是C的超集。它继承C语言所有的良好特性。C++是面向对向的语言。也就是说C++中,你可以封装对像。可以使用类,继承,对像多态性等。C++比C有了很大的进步。但是C++也付出了一定的代价。C++的语法相当复杂。C++中出现了语法的冗余,比如const 和define在一定程度是就是重复的。最让C++程序员头痛的是源于指针使用的内存泄露问题。
那么有没有一种语言既具有C++的高效性,又具有较为容易的语法特性呢?C#就是本着这样的思想出现的。C#程序所有内容都必须在一个类内,不允许有内以外的全局变量。C#中使用指针是非法的,但是并不是不能使用,如果非要使用不可那就用unsafe表明。这个特性最在可能的避免了内存泄露问题。另外在C++中还有多种类型的引用操纵符,例如:->(成员引用),.(成员引用),::(作用域). 但是C#中没有这么多,只有一个就是点操纵符.C#还不允许多重继承,这点非常重要,C++程序员每每在构造函数的编写上出错.C#在网络方面比C++要成熟一些.虽然如此,但是C#在一些领域内还不能代替C++.
第2个回答  2010-12-04
C语言有一个突出的优点就是适合于多种操作系统, 如DOS、UNIX,也适用于多种机型。

当然,C语言也有自身的不足,比如:C语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数族下标越界不作检查等。从应用的角度,C语言比其他高级语言较难掌握。

总之,C语言既有高级语言的特点,又具有汇编语言的特点;既是一个成功的系统设计语言,有时一个使用的程序设计语言;既能用来编写不依赖计算机硬件的应用程序,又能用来编写各种系统程序;是一种受欢迎、应用广泛的程序设计语言。

C++:面向对象的语言.是一门独立的语言;他并不依赖C语言.是编程语言中最复杂的一门.而VC是用微软Visual C++编译器编译的语言,与标准c++有一些细微的不同.

C#完全面向对象的语言.主要是从C和C++继承而来的,开发网络程序非常容易.运行时需要.NET环境(CLR)支持.所以效率比c/c++要低些.但比Java高,因为C#程序在CLR中是与编译成机器码的.Java程序在JVM中是解释运行的.

要看用来编写什么样的软件
如果是编写驱动程序,就用C
如果用来编写网络通信的就用C++
想写应用程序就是C#

C#比较易用一些
第3个回答  2010-12-03
C#很像JAVA,逻辑性较强,namespace 的概念和C/C++不同,没有了预处理器指令,大小写敏感……

我也是初学者,这是我本人的感受,如果不对敬请见谅。本回答被提问者和网友采纳
第4个回答  2010-12-03
c#是微软的开发语言
c++是C的一个超集。
C是组合语言
相似回答