很多初学C语言的同学可能遇到的首要问题,就是选择编译器,用什么编程软件?
然而通过了解之后发现有那么多编程软件,什么VC6.0,Dev ,CodeBlocks,Cfree,gcc啥的,看的都让人麻烦,并且呢通过询问其他人发现答案很多,各有有各自的好,这下初学者就迷茫了,众说纷纭,不知道选择哪个! 那么对于这个问题,笔者今天就给大家做一个较全面的解释,让初学者有个了解,不至于选择困难。
首先,选择编译器,一定要看自己的系统环境, 是Windows还是Linux,如果是Linux环境,那么基本毫无疑问,首选自带的gcc编译器,因为gcc是目前最支持C标准的编译器。自然也是学习的首选。但大部分同学的系统呢更多情况是Windows,面临的选择比较主流的就是VC6.0,Dev ,CodeBlocks,Cfree,VS系列这些,值得一提的是,即使是Windows系统,也分32位、64位系统环境,甚至会抱怨别提选哪个了,问题装上都不能用。那又怎么办呢?
C语言是面向过程的,而C++是面向对象的C和C++的区别:
C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。
C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”。C与C++的最大区别:在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。
小编推荐一个学C语言/C++的学习裙【 二六三,六八八,二七六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!
笔者的建议则是:如果你要学C语言,那么尽可能的别用win8、win10这些太高级的系统。为什么呢?答:因为越早越原生的系统环境越适合学习C语言这样的系统级语言。因为这样更适合认识C,了解她的过去,更容易懂她!说到这里可能有同学可能会问,那是不是用更古老点的DOS系统好呢?笔者的回答是,当然这样最好,但是现在学C的同学大多不认识这些东西,会增加学习负担,为了更容易上手接触,折中的做法是建议尽量用32位的XP或win7.如果没有怎么办?答:重装或双系统或装虚拟机!
好了,解决了系统问题以后,现在说说该具体选择哪个编译器了,那么介绍下刚才说的这些主流的编译器吧,大体上来说,一般分两类,一类是微软系,自然是VC6和VS系列代表,另一类是Linux系,即编译核心为gcc的编译器,那么有CodeBlocks、DevC++、CFree等。
如果想原汁原味的学习C,那么Linux系的任何编译器都可以。说白了就是让Windows系统下可以用gcc,原因和刚才一样,因为gcc更支持标准C。但可能不少同学发现,一向bug最多,稳定性最差的VC6却用的人更多一些。这是为啥呢?答:微软的孩子,富二代没办法。另一方面,正是因为如此,早期更多的教材、资料也是基于VC6的,所以参考学习的资料更多。所以VC6目前来说都是教学、学习和入门的不错选择。那么至于VS系列,如VS2010、2012、2013呢?界面又炫功能又强大!为什么不推荐呢。答曰:VS系列为IDE(集成开发环境),为目前各大公司Windows下开发的主流选择工具。虽然功能强大,但功能太多,着实不适合入门,且一些标准库函数及C语法和很多教材教程有明显差异,与学生实际不符故不推荐初学使用。笔者出于另一方面考虑,大多编译器操作流程都是一致的,IT人员更应该注重程序本身的学习,而非过度依赖编译器环境,编程软件仅仅是工具,我们更需具备熟悉多种编译器及基本使用的能力,并非从学习到实际应用永远一个编译器不变,所以不必刚开始就纠结,必须最新最强不用,大可不必如此。
说到这里,相信大家根据自己的情况已经心中有数了。最后笔者的忠告:越新越傻瓜化的东西未必适合学习,能接受和驾驭的前提下,能用老的不用新的。
所以,综上所述,笔者给各位学习者的建议是:大多数情况下,建议使用Windows32位系统下VC6.0的编译环境。 部分同学觉着自己可以驾驭,那么建议考虑linux系的CodeBlocks、DevC++等编译器,甚至直接使用linux系统学习C语言。VS系列则不建议初学者使用!
常见问题:
TC编译器怎么样,可以吗?
TC编译器是16位编译器,如果习惯的话,也是很建议使用的。
c4droid编译器呢?
c4droid编译器为手机端工具,适合没有电脑情况下的模拟测试运行。但不建议作为日常训练的主要平台和工具。学习编程一定要双手上机敲键盘!
这些是C/C++能做的
服务器开发工程师、人工智能、云计算工程师、信息安全(黑客反黑客)、大数据 、数据平台、嵌入式工程师、流媒体服务器、数据控解、图像处理、音频视频开发工程师、游戏服务器、分布式系统、游戏辅助等