clC,C#和C++是不一样的啊?

 我来答
greystar_cn
2015-10-02 · 知道合伙人软件行家
greystar_cn
知道合伙人软件行家
采纳数:16407 获赞数:17260
本人主要从事.NET C#方向的技术开发工作,具有10多年的各类架构开发工作经验。

向TA提问 私信TA
展开全部
C,C++,C#三者区别
继承关系是C->C++->C# C++完全向C兼容,C程序几乎不用修改即可在C++的编译器上运行.C++也称为带类的C,在C的基础上增加了许多面向对象的概念.虽然是C的扩展,但 并不意味着C功能不如C++,最牛的操作系统是用C写的(不是C++哦).
C#是微软弄的一个东东,继承了C和C++的许多东西,但和两者基本上 已完全不一样了.你可以把它当作一种全新的语言来学.

C语言是一种结构化编程语言。 它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的表现能力和处理能力极强。它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结 构。它还可以直接访问内存的物理地址,进行位(bit)一级的操作。由于C语言实现了对硬件的编程操作,因此C语言集高级语言和低级语言的功能于一体。既 可用于系统软件的开发,也适合于应用软件的开发。此外,C语言还具有效率高,可移植性强等特点。因此广泛地移植到了各类各型计算机上,从而形成了多种版本 的C语言。
下面是C语言教程的地址,想学的话可以去看看。
http://www.bc-cn.net/Article/kfyy/cyy/jc/

C++ 是在C的基础上改进后的一种编程语言,主要是增添了许多新的功能,难度也比C大,和C一样侧重于计算机底层操作,也就是系统软件的开发。 C#是在C++的基础上再一次改进后的编程语言,相比C++而言难度有所减小(微软是这么说的),侧重于网络和数据库编程。这3种都是编程语言,语法基本 上是一样的,不过具体的内容差别还是挺大的。
VC++是一种编程软件,就相当于一个作业本,你学习了C++语言以后,就需要把这种编程语言写在一 个作业本上,也就是写在VC这种编程软件上,来实现你需要的效果。

C++是C语言的升级版
c是c++的子集,c是面向 过程的,c++是面向对象的

C 语言与 C++ 的区别有很多:

1,全新的程序 程序思维,C 语言是面向过程的,而 C++ 是面向对象的。
2,C 语言有标准的函数库,它们松散的,只是把功能相同的函数放在一个头文件中;而 C++ 对于大多数的函数都是有集成的很紧密,特别是 C 语言中没有的 C++ 中的 API 是对 Window 系统的大多数 API 有机的组合,是一个集体。但你也可能单独调用 API。
3,特别是 C++ 中的图形处理,它和语言的图形有很大的区别。C 语言中的图形处理函数基本上是不能用在中 C++ 中的。C 语言标准中不包括图形处理。
4,C 和 C++ 中都有结构的概念,但是在 C 语言中结构只有成员变量,而没成员方法,而在 C++ 中结构中,它可以有自己的成员变量和成员函数。但是在 C 语言中结构的成员是公共的,什么想访问它的都可以访问;而在 VC++ 中它没有加限定符的为私有的。
4,C 语言可以写很多方面的程序,但是 C++ 可以写得更多更好,C++ 可以写基于DOSr程序,写 DLL,写控件,写系统。
5,C 语言对程序的文件的组织是松散的,几乎是全要程序处理;而 C++ 对文件的组织是以工程,各文件分类明确。
6,C++ 中的 IDE 很智能,和 VB 一样,有的功能可能比VB还强。
7,C++ 对可以自动生成你想要的程序结构使你可以省了很多时间。有很多可用的工具如加入 MFC 中的类的时候,加入变量的时候等等。
8,C++ 中的附加工具也有很多,可以进行系统的分析,可以查看 API;可以查看控件。
9,调试功能强大,并且方法多样。

鉴于当下形势, 如果要学的话就学 C#

C# 与 C++ 比较的话,最重要的特性就是 C# 是一种完全面向对象的语言,而 C++ 不是,另外 C# 是基于 IL 中间语言和 .NET Framework CLR 的,在可移植性,可维护性 和强壮性都比 C++ 有很大的改进

C# 的设计目标是用来开发快速稳定可扩展的应用程序,当然也可以通过 Interop 和 Pinvoke 完成一些底层操作,但是对于一些和底层系统相关很紧密的程序(譬如说驱动程序),还是建议用 C++ 来写

C++ 不允许在一个构造函数中调用另外一个构造函数(称为委派构造函数调用),而 C# 则允许。委派构造函数调用语法上非常自然和易懂,事实上, C++ 不提供这一特性并不是出于语法上的考虑,而是出于资源管理的考虑(这样的事情对 C++ 来说还有很多很多)。

C++ 的构造函数用于分配资源,而析构函数用于释放资源,构造函数和析构函数调用必须匹配,否则就打破了 C++ 的基本规则。如果允许委派构造函数调用,则显然会打破这一规则——构造函数被执行两次,而析构函数只执行一次。当然,对一些类,例如前面的那个 Point 来说这不是个问题,但是从语言机制的角度讲这个特性可能属于“危险”的特性。注:在最新的 C++ 标准提议草案中,Herb 等人有一个关于允许委派构造函数调用的提案,当然这很大程度上是为了方便 C++ /CLI 绑定。

在 C++ 构造函数中,虚函数调用会被编译器自动转为普通函数调用,而在 C# 构造函数中允许进行虚函数调用。 C++ 这样处理自然有它的原因——在 C++ 中,构造函数执行完成后对象才初始化好,对于多态对象来说,也就意味着构造函数在背后执行了很重要的一件事情——初始化对象的虚函数表。

如 果我们在基类的构造函数中调用了虚函数,则因为此时对象的虚函数表仍旧是基类的虚函数表,所以无法进行正确的虚函数调用。
也就是这个原因,通常我 们应该避免在构造函数中调用虚函数,因为它违背了虚函数的语义。
而在 C# 中,在对象的构造函数执行之前对象的类型信息就已经初始化好了,所以可以进行正常的虚函数调用。

基本上,这些就是两者之间的区别
威孚半导体技术
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层... 点击进入详情页
本回答由威孚半导体技术提供
茽妍bH
2023-04-01
知道答主
回答量:14
采纳率:0%
帮助的人:3043
展开全部
区别一、C++与C#编程语言来说,只是在于设计目的上还是有所区别的。在C++设计之时考虑到提供先进的面向对象特性,同时也为了提供很好的性能。为了以往的程序得到保证、工程师在开发时的知识兼容,目前C#与C语言几乎完全兼容。区别二、就C#而言,它通过底层的虚拟机机制减少了C/C++语言中常常容易发生的内存泄漏和安全性问题,它代价是运行速度相对减慢。由于简化了编程语言的复杂性同样的C++,对于C#来说比C++来得更为简单一些,目的上大大提高了开发者效率。区别三、编译目标:C#则编译成中间语言它与Java在字节代码上有些相似。而C++经常把代码编译成汇编语言。之后IL在通过Iust-In-Time编译进程转换成本机的可执行代码。区别四、内存管理:C#将开发人员从记账式的内存管理任务中解放出来,不再需要显式地删除动态分配的给堆的内存,而C++则要这么做,无用存储单元收集器将周期性地清空不再使用的内存。区别五、指针:C#中指针的运用可能与C++一样,但它只用于已特别标记为应用指针的代码块中。对于大部分的程序,C#依赖VB/Java风格的对类实例的引用,而不需和C++一样频繁地使用指针。区别六、运算符的重载:在C++比C#中用来显式重载的运算符比要多,主要是C#编译器是运用一些定制的基本操作符重载(如=)来自动计算出组合操作符的重载(如+=)。区别七、目标环境:C#是基于GUI的环境下(不仅仅是Windows环境,尽管现在只是在Windows中可用)专门为编程和背景服务(如Web服务)而设计的。这与语言本身无关,而是反映在基类库的设计中。区别八、预处理指令:C#包含一些预处理指令,它的语法和C++一样。但C#的预处理指令少得多,因为C#的其它语言特性使得这些指令不再重要。区别九、枚举:C#的枚举比C++中枚举的功能更为广泛。它们在权限范围内的语法结构很成熟,可支持不同的属性与方法。枚举仍是作为基本的数字类型来执行的,所以不会存在性能上的损失。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百小度
2023-05-30
知道答主
回答量:36
采纳率:0%
帮助的人:6919
展开全部
C和C++还有C#的区别:一:C语言。C语言诞生得非常早,当时人们普遍还习惯用汇编语言编写软件,并且没有什么统一,通用的操作系统,基本上软件都是从0开始写的。C语言的方针便是比汇编方便易用,一起不要损失汇编的表达能力。所以C语言可以看成是“高级的汇编”语言。C语言的源代码基本上可以非常容易地对应到汇编代码。并且可以不需要什么运行时环境的支撑。C的特点,简单容易编译,灵活贴近底层。所以一向到现在,一些需要直接和硬件打交道的软件都还是用C语言写的,比如(但不限于)LinuxKernel和一些嵌入式领域。二:C++语言。C++早期是基于C的,C++早期的编译方法是将C++的代码编译成C代码然后再调用C的编译器来生成机器码。C++的方针是进步编程人员的生产率,哪怕代价是增加编译器的复杂度。而进步编程人员生产率的方法有如下几种:进步笼统层次,支撑模块化编程,模块内紧耦合,模块间松耦合,自动化的代码生成等等,这些在C++中都有表现(“有表现”不是说只有C++能做这些,理论上C++能做的工作C和汇编都能做。“有表现”是指C++里面你可以更直接,更自然地做到这些)。面向对象只是C++的一部分,现代的C++的方针是支撑多种编程范型,一起并不会离硬件太远。所以C++是非常适合写一些基础架构级软件的。比如编译器,GUI库等等。三:C#以及.net框架。韶光荏冉,岁月如梭。当进入21世纪的时候,Java的成功已经变成了铁一样的事实。背后的思潮便是managedcode的崛起,与之对应的便是C/C++这种nativecode的衰落。当计算机的性能越来越好,但是好的码农却越来越少,然而对代码的需求却越来越高的时候,业界的选择只剩下一个:运行性能换开发功率,降低从新手到一般可接受水平的曲线。C#便是微软想要复制Java的成功。C#的特点便是:笼统层次高且基本只有一种(面向对象的),运行时支撑丰厚(垃圾回收等),类库丰厚。所以它便是好学,易用,一起兼顾运行功率,尽量优化。说起这个,并不是说越高级的语言就越慢,运行时性能跟许多东西有关。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
无裳彼0n
2023-04-26
知道答主
回答量:54
采纳率:100%
帮助的人:1.1万
展开全部
区别是:1、语言使用难度不同C++难度大于C#大于C语言。2、面向的对象不同
C 语言是的,而 C++ 是面向对象的,C# 是一种完全面向对象的语言。3、函数形式不同C 语言有标准的函数库,它们松散的,只是把功能相同的函数放在一个中;而 C++ 对于大多数的函数都是有集成的很紧密,特别是 C 语言中没有的 C++ 中的 API 是对 Window 系统的大多数 API 有机的组合,是一个集体。C++ 不允许在一个中调用另外一个构造函数(称为委派构造函数调用),而 C# 则允许。4、图形处理能力不同C 语言标准中不包括图形处理。扩展资料:C语言的优势C语言的优点很多,主要的有如下四点:1、兼备高级语言与的优点,属于一种。2、它是一种结构化程序设计语言,非常适合结构化程序设计。3、有较丰富的、运算符以及函数供以选用。4、直接与内存打交道,使修改、编辑其他程序与文档变得轻松,简单。参考资料来源:参考资料来源:参考资料来源:
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式