c语言和c++和c#的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言和c++和c#的区别相关的知识,希望对你有一定的参考价值。

现在学习c语言,在哪个编译软件上编写呢?visual stadio 2010 行不行啊?
好像visual stadio 2010 上只有c#的编译环境额

区别:1.C语言、C++、C#准确的说,是三种计算机编程语言。

2.C面向过程,开发非托管程序,编译成exe是二进制可执行文件,不可跨平台。C++面向对象,开发托管和非托管程序,编译成exe是二进制可执行文件,不可跨平台。C#面向对象,开发托管程序,编译成exe是中间语言。

3.C语言既具有高级语言的特点,又具有汇编语言的特点。C语言的源代码基本上可以非常容易地对应到汇编代码,而且可以不需要什么运行时环境的支持。C++是一种静态数据类型检查的,支持多重编程范式的通用程序设计语言。

C#的特点就是:抽象层次高且基本只有一种(面向对象的),运行时支持丰富(垃圾回收等),类库丰富。

4.C的特点,简单容易编译,灵活贴近底层。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言,具体应用比如单片机以及嵌入式系统开发。

扩展资料:

计算机语言包括机器语言、汇编语言、高级语言。

机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。它是计算机的设计者通过计算机的硬件结构赋予计算机的操作功能,比如汇编语言(assembly language)。机器语言具有灵活、直接执行和速度快等特点。高级语言比较容易识记和理解,像C B语言等。

参考资料:计算机编程语言 百度百科 

C语言 百度百科

c#语言 百度百科 

C++ 百度百科

参考技术A

一、两者的区别

1、特点方面的不同:

C语言既具有高级语言的特点,又具有汇编语言的特点。C++它是一种使用非常广泛的计算机编程语言。C#是微软公司发布的一种面向对象的、运行于.NETFramework之上的高级程序设计语言。

2、主要开发用途不同:

C面向过程,开发非托管程序,编译成exe是二进制可执行文件,不可跨平台。C++面向对象,开发托管和非托管程序,编译成exe是二进制可执行文件,不可跨平台。C#面向对象,开发托管程序,编译成exe是中间语言,可跨平台。

3、编程难度不同:

C语言的源代码基本上可以非常容易地对应到汇编代码,而且可以不需要什么运行时环境的支持。C的特点,简单容易编译,灵活贴近底层。C++是一种静态数据类型检查的,支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、制作图标等等泛型程序设计等多种程序设计风格。C#的特点就是:抽象层次高且基本只有一种(面向对象的),运行时支持丰富(垃圾回收等),类库丰富。

二、c语言编程软件在windows下首选VS,版本至少vs2005以上,或者用最新的VSCode,不过需要自己配插件,好处是免费,如果做单片机c开发首选eclipse,linux下如果做单片机首选eclipse,其次是clion。eclipse兼容性最好,不过稳定性差一些,vs在win下没有对手,clion用cmake,相比来说大部分c程序用的都是makefile,需要适应一下。

三、visual stadio 2010用C语言编程是不行的

参考资料来源:百度百科:C语言

百度百科:c++

百度百科:c#

参考技术B

一、C语言是面向过程编程的语言;C++是面向对象编程的语言;C#是微软开发的一种编程语言。

二、C++与C#编程语言来说,只是在于设计目的上还是有所区别的。C++的优点在于与底层比较接近,可以控制的粒度更加精细,是开发系统级应用的最佳选择。


三、就C#而言,它通过底层的虚拟机机制减少了C/C++语言中常常容易发生的内存泄漏和安全性问题,它代价是运行速度相对减慢。由于简化了编程语言的复杂性同样的C++,对于C#来说比C++来得更为简单一些,目的上大大提高了开发者得效率。

四、刚开始学习c语言可以在vs2008编译软件上编写,visual stadio 2010 也可以。



参考技术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++也是很好的语言,因为所有平台都支持,不同的是,不同平台支持的实现不同,类库不同,要编写跨平台的程序,需要选择跨平台的类库,如标准类库,如果标准类库的支持不够也只需要附加编写一个跨平台的支持类库。
参考技术D 一:C语言。
C语言诞生得非常早,当时人们普遍还习惯用汇编语言编写软件,而且没有什么统一,通用的操作系统,基本上软件都是从0开始写的。C语言的目标就是比汇编方便易用,同时不要损失汇编的表达能力。所以C语言可以看成是“高级的汇编”语言。C语言的源代码基本上可以非常容易地对应到汇编代码,而且可以不需要什么运行时环境的支持。C的特点,简单容易编译,灵活贴近底层。所以一直到现在,一些需要直接和硬件打交道的软件都还是用C语言写的,比如(但不限于)Linux Kernel和一些嵌入式领域。
二:C++ 语言。
C++早期是基于C的,C++早期的编译方法是将C++的代码编译成C代码然后再调用C的编译器来生成机器码。C++的目标是提高编程人员的生产率,哪怕代价是增加编译器的复杂度。而提高编程人员生产率的方法有如下几种:提高抽象层次,支持模块化编程,模块内紧耦合,模块间松耦合,自动化的代码生成等等,这些在C++中都有体现(“有体现”不是说只有C++能做这些,理论上C++能做的事情C和汇编都能做,“有体现”是指C++里面你可以更直接,更自然地做到这些)。面向对象只是C++的一部分,现代的C++的目标是支持多种编程范型,同时并不会离硬件太远。所以C++是非常适合写一些基础架构级软件的,比如编译器,GUI库等等。
三:C#以及.net框架。
时光荏冉,岁月如梭。当进入21世纪的时候,Java的成功已经变成了铁一样的事实。背后的思潮就是managed code的崛起,与之对应的就是C/C++这种native code的衰落。当计算机的性能越来越好,但是好的码农却越来越少,然而对代码的需求却越来越高的时候,业界的选择只剩下一个:运行性能换开发效率,降低从新手到一般可接受水平的曲线。C#就是微软想要复制Java的成功。C#的特点就是:抽象层次高且基本只有一种(面向对象的),运行时支持丰富(垃圾回收等),类库丰富。所以它就是好学,易用,同时兼顾运行效率,尽量优化。说起这个,并不是说越高级的语言就越慢,运行时性能跟很多东西有关。

C#和C++的区别 计算机2级为啥不包括C#

#(读做 "C sharp")是微软公司在去年六月发布的一种新的编程语言,并定于在微软职业开发者论坛(PDC)上登台亮相.C#是微软公司研究员Anders Hejlsberg的最新成果.C#看起来与Java有着惊人的相似;它包括了诸如单一继承,界面,与Java几乎同样的语法,和编译成中间代码再运行的过程.但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NET windows网络框架的主角.

微软c#语言定义主要是从C和C++继承而来的,而且语言中的许多元素也反映了这一点.C#在设计者从C++继承的可选选项方面比Java要广泛一些(比如说structs),它还增加了自己新的特点(比方说源代码版本定义).但它还太不成熟,不可能挤垮Java.C#还需要进化成一种开发者能够接受和采用的语言.而微软当前为它的这种新语言大造声势也是值得注意的.目前大家的反应是:"这是对Java的反击."

C#更象Java一些,虽然微软在这个问题上保持沉默.这也是意料中的事情,我觉得,因为Java近来很成功而使用Java的公司都报告说它们在生产效率上比C++获得了提高.

Java所带来的巨大影响和大家对它的广泛接受已经由工作于这种语言和平台之上的程序员数量明显的说明了(估计世界范围内共有两百五十万程序员使用Java).由这种语言写成的应用程序的数量是令人惊讶的并已经渗透了每一个级别的计算,包括无线计算和移动电话(比如日本发明的Java电话).C#能够在用户领域获得这样的礼遇吗?我们必须等待并观望,就象已经由SSI公司的CEO和主席Kalpathi S. Suresh指出来的那样,"我发现所有这些都是渐进的.如果C#不存在,我们总能回到Java或C和C++.这些都不完全是新技术;它们在更大的意义上来说只是大公司制造的市场噱头.我们必须给他们时间安顿下来看看这些是不是真的对IT工业有什么影响."
C++,这个词在中国大陆的程序员圈子中通常被读做“C加加”,而西方的程序员通常读做“C plus plus”,它是一种使用非常广泛的计算机编程语言。C++是一种静态数据类型检查的,支持多重编程范式的通用程序设计语言。它支持过程序程序设计、数据抽象、面向对象程序设计、泛型程序设计等多种程序设计风格。

贝尔实验室的本贾尼·斯特劳斯特卢普(w:en:Bjarne Stroustrup)博士在20世纪80年代发明并实现了C++(最初这种语言被称作“C with Classes”)。一开始C++是作为C语言的增强版出现的,从给C语言增加类开始,不断的增加新特性。虚函数(virtual function)、运算符重载(operator overloading)、多重继承(multiple inheritance)、模板(template)、异常(exception)、RTTI、名字空间(name space)逐渐被加入标准。1998年国际标准组织(ISO)颁布了C++程序设计语言的国际标准ISO/IEC 14882-1998。遗憾的是,由于C++语言过于复杂,以及他经历了长年的演变,直到现在(2004年)只有少数几个编译器完全符合这个标准。

另外,就目前学习C++而言,可以认为他是一门独立的语言;他并不依赖C语言,我们可以完全不学C语言,而直接学习C++。根据《C++编程思想》(Thinking in C++)一书所评述的,C++与C的效率往往相差在正负5%之间。所以有人认为在大多数场合C++ 完全可以取代C语言。

C++语言发展大概可以分为三个阶段:第一阶段从80年代到1995年。这一阶段C++语言基本上是传统类型上的面向对象语言,并且凭借着接近C语言的效率,在工业界使用的开发语言中占据了相当大份额;第二阶段从1995年到2000年,这一阶段由于标准模板库(STL)和后来的Boost等程序库的出现,泛型程序设计在C++中占据了越来越多的比重性。当然,同时由于Java、C#等语言的出现和硬件价格的大规模下降,C++受到了一定的冲击;第三阶段从2000年至今,由于以Loki、MPL等程序库为代表的产生式编程和模板元编程的出现,C++出现了发展历史上又一个新的高峰,这些新技术的出现以及和原有技术的融合,使C++已经成为当今主流程序设计语言中最复杂的一员。

至于计算机2级为什么不包括C#,因为各种语言的思想都是相同的,掌握了C,其他的就都很容易了,我们学的主要是这个思想
参考技术A 不知道哇!

以上是关于c语言和c++和c#的区别的主要内容,如果未能解决你的问题,请参考以下文章

在 windows mobile 上使用 C# 和 C 或 C++ 之间的区别

与 C 相关的 C# 和 C++

C语言和C++有啥区别?

C,C++,C#区别

java和c++的区别

C语言和C++的区别