原
C, C++,C#的区别与联系
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
开始学C#了,但一直很好奇C#,C++,还有C的关系,因为他们在名字上真的是很像的,所以他们之间一定有某种神秘的关系对不对?哈哈,我查了些资料,但是也是五花八门,仁者见仁智者见智,综合了一下,写了篇总结,分享给大家,如有错误欢迎大神斧正。
一、三者关系:继承关系是C>C++>C#
C++完全向C兼容,C程序几乎不用修改即可在C++的编译器上运行.C++也称为带类的C,在C的基础上增加了许多面向对象的概念.虽然是C的扩展,但并不意味着C功能不如C++,最牛的操作系统是用C写的(不是C++哦)~~C++是C语言的升级版,C是C++的子集,C是面向过程的,C++是面向对象的。
C#是微软弄的一个东东,继承了C和C++的许多东西,但和两者基本上已经完全不一样了.可以把它当作一种全新的语言来学.
C# 与 C++ 比较的话,最重要的特性就是 C# 是一种完全面向对象的语言,而 C++ 不是,另外 C# 是基于 IL 中间语言和 .NET Framework CLR 的,在可移植性,可维护性 和强壮性都比 C++ 有很大的改进
C# 的设计目标是用来开发快速稳定可扩展的应用程序,当然也可以通过 Interop 和 Pinvoke 完成一些底层操作,但是对于一些和底层系统相关很紧密的程序(譬如说驱动程序),还是建议用 C++ 来写 。
二、三者各自的特点:
C语言是一种结构化编程语言,它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的表现能力和处理能力极强。它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。它还可以直接访问内存的物理地址,进行位(bit)一级的操作。由于C语言实现了对硬件的编程操作,因此C语言集高级语言和低级语言的功能于一体。既可以用于系统软件的开发,也适合于应用软件的开发。此外,C语言还具有效率高,可移植性强等特点。因此广泛地移植到了各类各型计算机上,从而形成了多种版本的C语言。
C++是在C的基础上改进后的一种编程语言,主要是增添了许多新的功能,难度也比C大,和C一样侧重于计算机底层操作,也就是系统软件的开发。 VC++是一种编程软件,就相当于一个作业本,你学习了C++语言以后,就需要把这种编程语言写在一 个作业本上,也就是写在VC这种编程软件上,来实现你需要的效果。
C#是在C++的基础上再一次改进后的编程语言,C#语言是微软开发的完全面向对象的语言,C++并不是完全面向对象的。C#相比C++而言难度有所减小(微软是这么说的),侧重于网络和数据库编程。这3种都是编程语言,语法基本 上是一样的,不过具体的内容差别还是挺大的。
总结:
学习编程语言是个循序渐进的过程,新的编程语言都是从旧的编程一步一步发展来的,类似于我们平常所说的巨人的肩膀上,如果我们不学旧的编程语言直接接触新的编程语言肯定比较难以理解,所以我们一定要把基础的东西学透彻了,理解基本概念了才能把握整体脉络,才能居高临下。