听过一个笑话,程序员们互相聊天,程序员A问到:为什么C++比C麻烦那么多?”
程序员B回答道:“有了对象能不麻烦么。 ”
同样衍生出来的还有一个小故事:情人节,有人看到C一个人喝酒,便问:你的好哥们C++、Java、Python他们呢?
C说:都过情人节去了。
问:你为什么不过呢?
C说:因为我没有对象。
计算机行业的人都知道C、C++、C#,但对很多想要入行的人来说可能就有点迷茫了,就好像不知道java和JavaScript的关系一样,面对这个多个C,如何选择成为了他们的一个小问题。
先简单的说一下三个语言
C语言是一种结构化编程语言。 它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的表现能力和处理能力极强。具有丰富的运算符和数据类型,便于实现各类复杂的数据结 构。而且还可以直接访问内存的物理地址,进行位(bit)一级的操作。
c语言的最大的特点就是 效率高、可移植性强 ,C语言可以说是一种入门语言,只要精通了一种语言,则一通百通。
C++,如果说c语言面对的是过程,那么C++面对的就是对象 ,同样是侧重于计算机的底层操作,但是在C语言的基础上加了很多功能,所以被称作C加加,当然难度和复杂程度也有所增加,如图形处理,C++ 对文件的组织是以工程,各文件分类明确更加高效
C#,则是在C++的基础上再一次改进后的编程语言 ,语法类似Java但是难度却有所减少,侧重于网络和数据库编程。C# 是基于 IL 中间语言和 .NET Framework CLR 的,在可移植性,可维护性 和强壮性都比 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++,建议初学者最好别在如VC,BCB平台下写程序,那种自动化的代码生成,花花绿绿的界面,会让你手足无措。最好先找一片空地(unix,dos),从头做起,写几个大点的程序,数个回合,再到VC,BCB下看看, 你会轻松得很。在我看来,学好C/C++是成为VC,BCB高手的必由之路。
最后还是以C++的一个故事结尾:
当你有个锤子的时候,任何东西看起来都像钉子。当你的锤子是C++的时候,任何东西看起来都像大拇指。
其实做为一个学习者,有一个学习的氛围跟一个交流圈子特别重要这里我推荐一个C/C++基础交流583650410,不管你是小白还是转行人士欢迎入驻,大家一起交流成长。