C,C++,C#区别

Posted 迅了个雷

tags:

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

今天讲讲学习。

有人问我,希望我讲讲这三者的区别。出这种原创教程实在太累了,所以希望大家多多支持,才有动力呀。

今天我们来讲讲,这三者的区别。废话不多说,首先是官方解释。

1、C是完全面向过程的语言,用于开发规模较小的程序效率很高,但是程序较大,就显得代码量多,编写效率下降了。

2、C++是半面相对象的,引入了类的封装性、继承性、多态性大大简化程序编写,提到了代码重用率。

C和C++的关系:C++既面向过程又面向对象,而且它继承了C语言的所有优点,又对C语言功能做了很多扩充,可以认为C++就是C的增强版。

3、C#是完全面向对象的语言,简单易学,开发效率非常高。C#不支持多重继承,这是与C++明显区别的地方。在标准的C#安全代码中不支持指针类型的操作。

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

啥?这讲的啥玩意,听不懂啊。

我相信很多人学车都知道手动挡和自动挡吧。手动挡要踩离合器,控制不好就容易熄火,自动挡直接踩油门就可以了。但老司机还是喜欢手动挡。但论手动挡的乐趣,还得看越野车。因为这个才是最原始的操纵,自己手动换挡,自己切换模式,自己上锁,开的好与坏全靠自己技术。想换挡,听声音。嘿嘿,老司机的最爱。所以,如果你要是会开这种最原始的车,那么像小轿车这类的,你应该都会开了。

所以,C语言就类似于原始的越野车,难开,老司机的乐趣,啥路都能跑,而且能让自己对车子的原理摸得一清二楚。但它难开呀,所以C++呢,就像是加了一些电子辅助的SUV,比最原始的越野车好开一些,而C#和JAVA这类偏上层的语言,就像是自动挡汽车,挂个D档走天下,哈哈哈!爽吧!

还是不懂?那再举个例子。C语言可以应用在很多地方,比如底层控制原理。类似于,一块电路板,怎么用代码控制哪些灯的亮灭。这个就用C语言可以做到。还有一些操作系统也是C语言写的。那C#呢?打个比方,我们安卓APP就是用JAVA写的,微软出的WP8手机,APP就是用C#写的,还有一些游戏也可以用C#做。但是C#和JAVA这类都是属于上层语言,怎样通过一个函数或者一个接口,或者一句代码,就能控制手机震动之类呢,那得靠C++这种语言承接起来。让它去帮你跟底层代码衔接起来。

好了,就说到这吧。有啥问题或者不明白的地方,记得评论或者留言,我好知道大家哪里不懂呀。

至于入门教程,推荐这本主流的神书了。