① 新手学C语言用什么编译器比较好
在选择C语言编译器时,有许多选项可供初学者和专业开发者选择。Microsoft Visual C++ 6.0,虽然在Windows 8系统下可能不太适用,但它仍然是一个功能强大的编译器。对于那些需要使用C和C++编程的开发者来说,Microsoft Visual Studio系列编译器(包括2005、2008、2010、2012、2013版本)则提供了更为全面的支持。
对于Windows用户而言,Win-Tc编译器是一个非常方便的选择,它能够在Windows 2000、XP和7系统上运行。Code::Blocks编译器同样适用于Windows 7和8用户,它提供了一个用户友好的界面,使得编写C程序变得更加简单。Turbo C编译器仅限于编译C语言,对于初学者来说可能是一个不错的选择。
GNU编译器套件(GCC)是一个开源的编译器,可以在多种操作系统上运行,包括Windows。DEV C++和C-Free也是两个广受欢迎的C语言编译器,它们提供了良好的集成开发环境。Borland C++、WaTCom C++、Borland C++ Builder、GNU DJGPP C++和Lccwin32 C Compiler等编译器,虽然功能强大,但在C语言领域中使用较少。
初学者可能会发现,这些编译器之间的选择可能令人困惑。然而,考虑到C语言的成熟度,市场上提供了多种编程环境。对于有工程背景和技术经验的人来说,SourceInsight和LabWindows可能是更合适的工具,这些工具主要用于调试和运行程序。
综合来看,Microsoft Visual C++ 6.0因其成熟的功能和广泛的兼容性,可能是初学者的最佳选择。然而,对于更现代的需求,Microsoft Visual Studio系列提供了更多的功能和支持,值得考虑。选择哪个编译器主要取决于个人的开发需求和操作系统环境。
② c璇瑷缂栬疟鍣ㄧ数鑴戠増链夊摢浜涳纻
甯歌佺殑C璇瑷缂栬疟鍣ㄦ槸浠涔?
甯歌佺殑C璇瑷缂栬疟鍣ㄦ槸浠涔?
C璇瑷缂栬疟鍣ㄧ洰鍓崭富瑕佹湁VC++銆乨ev-C++銆丆-Free銆亀in-TC銆乀C0绛夌瓑銆傚叾涓姣旇缉缁忓吀镄刅C++锛屽井杞镄勪骇鍝侊纴缂栬疟鍣锛岄摼鎺ュ櫒锛岃繍琛岋纴璋冭瘯绛夊姛鑳戒簬涓浣撶殑寮哄ぇ寮鍙戝伐鍏凤纴鐗圭偣鏄锷熻兘鍗佸垎寮哄ぇ锛屽逛簬鏂版坠𨱒ヨ撮渶瑕佷竴娈垫椂闂村幓鎽哥储銆
c璇瑷鍙浠ョ敤镄勭紪璇戝櫒链夊緢澶氾纴鍖呮嫭MicrosoftVisualC++銆丮yEclipse銆乀urboC鍜実cc缂栬疟鍣ㄧ瓑銆
GCC姣镞犵枒闂锛孏CC鍑犱箮鏄痷nix鍙妉inux绯荤粺涓链阃氱敤镄勭紪璇戝櫒濂椾欢锛屽嚑涔庢墍链夌殑linux鍙戣岀増閮介勮呬简GCC浣滀负C璇瑷镄勯粯璁ょ紪璇戝櫒銆傞櫎浜嗗笴璇瑷镄勬敮鎸侊纴GCC杩樻敮鎸丆++銆丱bjective-C绛夊氱嶈瑷銆
c璇瑷缂栬疟鍣ㄦ湁鍝浜?
c璇瑷缂栬疟鍣ㄦ湁鍝浜?
鐩鍓嶆渶娴佽岀殑C璇瑷缂栬疟鍣ㄦ湁浠ヤ笅鍑犵嶏细GNUCompilerCollection鎴栫ОGCCGCC锛圙NUCompilerCollection锛孏NU缂栬疟鍣ㄥ椾欢锛夛纴鏄鐢盙NU寮鍙戠殑缂栫▼璇瑷缂栬疟鍣ㄣ傚畠鏄浠GPL璁稿彲璇佹墍鍙戣岀殑镊鐢辫蒋浠讹纴涔熸槸GNU璁″垝镄勫叧阌閮ㄥ垎銆
鍙浠ョ紪鍐檆璇瑷镄勮蒋浠舵湁锛歏im銆丆缂栬疟鍣ㄣ丏ev-C銆丆ode锛欱locks銆乂isualStudio绛夈俈imVim鏄涓涓绫讳技浜嵘i镄勮宪钖岖殑锷熻兘寮哄ぇ銆侀珮搴﹀彲瀹氩埗镄勬枃链缂栬緫鍣锛屽湪Vi镄勫熀纭涓婃敼杩涘拰澧炲姞浜嗗緢澶氱壒镐с俈IM鏄镊鐢辫蒋浠躲
c璇瑷鍙浠ョ敤镄勭紪璇戝櫒链夊緢澶氾纴鍖呮嫭MicrosoftVisualC++銆丮yEclipse銆乀urboC鍜実cc缂栬疟鍣ㄧ瓑銆
c璇瑷缂栬疟杞浠舵湁鍝浜
c璇瑷缂栬疟杞浠舵湁鍝浜
1銆佸c璇瑷鍙浠ョ敤镄勮蒋浠舵帹钻愬备笅锛歍urboC鏄鐢辩编锲绍orland鍏鍙稿紑鍙戠殑涓濂桟璇瑷绋嫔簭寮鍙戝伐鍏凤纴Borland鍏鍙告槸涓瀹朵笓闂ㄤ粠浜嬭蒋浠跺紑鍙戙佺爷鍒剁殑澶у叕鍙搞
2銆佸彲浠ョ紪鍐檆璇瑷镄勮蒋浠舵湁锛歏im銆丆缂栬疟鍣ㄣ丏ev-C銆丆ode锛欱locks銆乂isualStudio绛夈俈imVim鏄涓涓绫讳技浜嵘i镄勮宪钖岖殑锷熻兘寮哄ぇ銆侀珮搴﹀彲瀹氩埗镄勬枃链缂栬緫鍣锛屽湪Vi镄勫熀纭涓婃敼杩涘拰澧炲姞浜嗗緢澶氱壒镐с俈IM鏄镊鐢辫蒋浠躲
3銆佹坠链篶璇瑷缂栫▼app链夈奀璇瑷瀛︿範瀹濆吀銆嬨併奀璇瑷缂栬疟鍣ㄣ嬨併奀璇瑷缂栬疟鍣↖DE銆嬨併婅彍楦熷C璇瑷銆嬨併婃坠链虹紪绋嬨嬨
c璇瑷缂栫▼杞浠舵湁鍝浜
c璇瑷缂栫▼杞浠舵湁鍝浜
1銆佸父鐢ㄧ殑c璇瑷缂栫▼杞浠舵湁锛歞evc++鏄姣旇缉瀹规槗涓婃坠镄勭紪绋嬭蒋浠讹纴浼樼偣鏄锷熻兘绠娲侊纴椤甸溃绠娲併
2銆佸c璇瑷鍙浠ョ敤镄勮蒋浠舵帹钻愬备笅锛歍urboC鏄鐢辩编锲绍orland鍏鍙稿紑鍙戠殑涓濂桟璇瑷绋嫔簭寮鍙戝伐鍏凤纴Borland鍏鍙告槸涓瀹朵笓闂ㄤ粠浜嬭蒋浠跺紑鍙戙佺爷鍒剁殑澶у叕鍙搞
3銆乀urboCTurboC鏄链涓虹粡鍏哥殑缂栬疟鍣锛屽逛簬鏂版坠𨱒ヨ达纴鏄姣旇缉瀹规槗涓婃坠涓旂亩鍗曟槗瀛︼纴绯荤粺浣撶Н涔熸瘆杈冨皬锛岃繍琛屾瘆杈冨揩锛屾槸瀛︿範C璇瑷镄勯栭夎蒋浠躲
4銆乧璇瑷鐢∕inGW銆乄IN-TC銆丆ygwin銆丮icrosoftVisualstdio銆丆odeBlocks绛夌紪绋嬭蒋浠躲侻inGW锛氭槸MinimalistGNUforWindows镄勭缉鍐欍傚畠鏄涓涓鍙镊鐢变娇鐢ㄥ拰镊鐢卞彂甯幂殑Windows鐗瑰畾澶存枃浠跺拰浣跨敤GNU宸ュ叿闆嗗煎叆搴撶殑闆嗗悎銆
5銆乧璇瑷缂栫▼杞浠(鏀鎸亀in7/win8)鏄涓娆炬敮鎸佸氲瑷寮鍙戠殑寮鍙戠郴缁熴俢璇瑷缂栫▼杞浠(鏀鎸亀in7/win8)钖屾椂鏀鎸乧璇瑷锛宑浠ュ强vb璇瑷镄勫紑鍙戯纴杞浠惰兘寰埚ソ镄勫吋瀹箇in7浠ュ强win8锛岀敤鎴峰彧闇璁剧疆杞浠跺吋瀹规э纴鎶婂畠璁句负win98锛寃inxp绛夌瓑銆
linux寮鍙戝摢閲屽ソ锛
linux寮鍙戝摢閲屽ソ锛
1銆佸缓璁浣犻夋嫨鐜板湪镄勪富娴佺郴缁熷畨鍗撶郴缁熴傚洜涓哄畨鍗撶郴缁熺殑绯荤粺鏀鎸佸ソ锛孉PP澶氾纴婊¤冻浣犵殑镓链夊簲鐢ㄩ渶瑕併俵inux绯荤粺鏄钥佺墝镄勭郴缁燂纴澶氱敤鍦ㄦ湇锷″櫒涓婏纴涔嫔墠鎽╂墭缃楁媺镟剧粡鐢ㄨ繃锛屼絾鏄鐢变簬鏀鎸佺殑杞浠朵笉澶氾纴绯荤粺涔熷氨娌℃湁浠涔埚竞鍦轰简銆
2銆佸氨涓氭湇锷★细涓扑笟镄勫煿璁链烘瀯閮戒细杩涜屽氨涓氭寚瀵兼湇锷★纴鍖呭惈闱㈣瘯绛夛纴钖屾椂杩樻湁澶т紒涓氩悎浣滐纴鍙浠ユ帹钻愬氨涓氥
3銆丩inux搴曞眰鍐呮牳/椹卞姩寮鍙戝祵鍏ュ纺Linux寮鍙戠瓑銆侺inux涓嬬殑鏁版嵁搴撴柟钖慙inux涓嬬殑鏁版嵁搴撴柟钖戜富瑕佸寘𨰾琈ysql銆乷racle浠ュ强windows涓嬬殑SQLServer鍙奃B2绛夌殑绠$悊銆
C璇瑷鍦╳indows骞冲彴涓婄殑缂栬疟鍣ㄦ湁鍝浜
C璇瑷鍦╳indows骞冲彴涓婄殑缂栬疟鍣ㄦ湁鍝浜
鐢╒isualStudio2010镞楄埌鐗堬纴瀹冩槸涓扑负Win7镓挞犵殑锛屽叾浠栫殑鐗堟湰涔熷彲浠ュ吋瀹癸纴钥屼笖鏀鎸乂C/VB/C#澶氱嶈瑷寮鍙戯纴瀹夎呬笅𨱒ユ墠2G澶氾纴鏄涓娆剧浉褰扑笉阌欑殑寮鍙戣蒋浠躲傜敤寮鍙戠増镄勬瘆杈冨ソ锛屽︿範鐗堢殑链変簺锷熻兘鍑忔帀浜嗐俥clipseCDT涔熷彲浠ャ
灏辨槸鐢–璇瑷缂栧啓镄勭▼搴忥纴缁忚繃鍝绉岖紪璇戝櫒缂栬疟涔嫔悗锛屽彲浠ュ湪WINDOWS骞冲彴涓婅繍琛屻
瀵逛簬褰揿墠涓绘祦妗岄溃镎崭綔绯荤粺钥岃█锛屽彲浣跨敤VisualC++銆丢CC浠ュ强LLVMClang杩欎笁澶х紪璇戝櫒銆俈isualC++锛堢亩绉癕SVC锛夊彧鑳界敤浜嶹indows镎崭綔绯荤粺锛汫CC鍜孡LVMClang闄や简鍙鐢ㄤ簬Windows镎崭綔绯荤粺涔嫔栵纴涓昏佺敤浜嶶nix/Linux镎崭綔绯荤粺銆
bioswindows镎崭綔绯荤粺c璇瑷缂栬疟鍣ㄩ兘鏄疢icrosoftVisualStudio銆侻icrosoftVisualStudio鏄缇庡浗寰杞鍏鍙哥殑寮鍙戝伐鍏峰寘绯诲垪浜у搧锛屽寘𨰾浜嗘暣涓杞浠剁敓锻藉懆链熶腑镓闇瑕佺殑澶ч儴鍒嗗伐鍏凤纴濡俇ML宸ュ叿銆佷唬镰佺℃带宸ュ叿锛屾槸涓挞棬缂栧啓c璇瑷镄勭紪绋嫔伐鍏枫
clion鐢╟make锛岀浉姣旀潵璇村ぇ閮ㄥ垎c绋嫔簭鐢ㄧ殑閮芥槸makefile锛岄渶瑕侀傚簲涓涓嬨侱evc++锛氲繖涓狪DE鏄痺indows鐜澧冧笅镄勶纴镎崭綔绠鍗曪纴锷熻兘涔熶笉寮憋纴阃傚悎鏂版坠浣跨敤銆侰odeblocks锛埚己锷涙帹钻愶级锛氩姛鑳芥瘆杈冨己澶х殑c/c++IDE锛屾湁镌涓嶉敊镄勬櫤鑳芥彁绀恒
③ C语言编译器和IDE的选择
C语言编译器和IDE的选择是Windows的IDE使用Visual Studio或者Dev C++,XP或者Win7的IDE使用C-Free。Linux的IDE使用GCC,Mac OS X的IDE使用Xcode。
在Windows下,可执行程序(Executable Program)大部分是.exe程序,它是一系列计算机指令和数据的集合。这些指令都是二进制形式的,CPU可以直接识别,毫无障碍;但是对于程序员,它们非常晦涩,难以记忆和使用。
计算机发展初期,程序员就是使用这些二进制形式的CPU指令来编写程序的。
直接使用CPU指令编程对程序员来说简直是噩梦,尤其是当程序比较大的时候,不但编写麻烦,需要频繁查询指令手册,而且除错会异常苦恼,要直接面对一堆二进制数据,让人眼花缭乱。另外,用CPU指令编程步骤繁琐,要考虑各种边界情况和底层问题,开发效率十分低下。
这就倒逼程序员开发出了编程语言,提高自己的生产力;例如汇编、C语言、C++、Java、Python、Go语言等,都是在逐步提高开发效率。至此,编程终于不再是只有极客能做的事情了,不了解计算机的读者经过一定的训练也可以编写出有模有样的程序。
选择合适的IDE:
实际开发中,除了编译器是必须的工具,我们往往还需要很多其他辅助软件,例如编辑器、调试器、文件管理等,这些工具通常被打包在一起,统一发布和安装。
例如Visual Studio、Dev C++、Xcode、Visual C++6.0、Code:Blocks、C-Free等,它们统称为IDE(Integrated Development Environment,集成开发环境)。
1、Windows:
Windows下的IDE比较多,我推荐使用Visual Studio或者Dev C++;如果你的操作系统是XP或者Win7,你也可以使用C-Free。另外,国内很多高校还在使用Visual C++6.0,把它作为C语言教学的工具。
①Visual C++6.0(简称VC6.0)是微软开发的一款经典的IDE,很多高校都以VC6.0为教学工具来讲解C和C++。但VC6.0是1998年的产品,很古老了,在Win7、Win8、Win10下会有各种各样的兼容性问题,甚至根本不能运行,所以不推荐使用。
②Visual Studio(简称VS)是Visual C++6.0的升级版,增加了很多新特性,支持了更多的语言,是Windows下的标准IDE,实际开发中大家也都在使用。不过VS有点庞大,安装包有2~3G,下载不便,而且会安装很多暂时用不到的工具,安装时间在半个小时左右。
为了适应最新的Windows操作系统,微软每隔一段时间(一般是一两年)就会对VS进行升级。VS的不同版本以发布年份命名,例如VS2010是微软于2010年发布的,VS2017是微软于2017年发布的。
③Dev C++是一款免费开源的C/C++IDE,内嵌GCC编译器(GCC编译器的Windows移植版),是NOI、NOIP等比赛的指定工具。Dev C++的优点是体积小(只有几十兆)、安装卸载方便、学习成本低,缺点是调试功能弱。
NOI是National Olympiad in Informatics的缩写,译为“全国青少年信息学奥林匹克竞赛”;NOIP是National Olympiad in informatics in Provinces的缩写,译为“全国青少年信息学奥林匹克联赛”。
NOI、NOIP都是奥林匹克竞赛的一种,参加者多为高中生,获奖者将被保送到名牌大学或者得到高考加分资格。
④C-Free是一款国产的Windows下的C/C++IDE,最新版本是5.0,整个软件才14M,非常轻巧,安装也简单,界面也比Dev C++漂亮。C-Free的缺点也是调试功能弱。
可惜的是,C-Free已经多年不更新了,组件都老了,只能在XP、Win7下运行,在Win8、Win10下可能会存在兼容性问题,所以我才重点推荐Dev C++,否则我会更加倾向于C-Free。
本教程的目录中只列出了VS2010、VS2015、Dev C++的安装和使用,希望尝试C-Free和VC6.0读者请猛击《在C-Free下运行C语言程序》《在VC6.0下运行C语言程序》。
2、Linux:
在Linux下使用GCC(GNU Compiler Collection,GNU编译器套件)。GCC是GUN组织开发的自由软件,除了支持C,还支持C++、Java、Objective-C等,它是Linux平台编译器的事实标准。
3、Mac OS X:
在Mac OS X下使用Xcode。Xcode是由Apple官方开发的IDE,支持C、C++、Objective-C、Swift等,可以用来开发Mac OS X和iOS上的应用程序。
Xcode最初使用GCC作为编译器,后来由于GCC的不配合,改用LLVM/Clang。虽然C语言的IDE众多,但是C语言的绝大部分内容在各个IDE下都是通用的。
④ C语言编译器是什么
C语言是一门面向过程的计算机编程语言,与C++、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言描述问题比汇编语言迅速,工作量小、可读性好,易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编语言代码生成的目标程序效率低10%~20%。因此,C语言可以编写系统软件。[2]
二十世纪八十年代,美国国家标准局为了避免各开发厂商用的C语言语法产生差异,给C语言制定了一套完整的美国国家标准语法,称为ANSI C。作为C语言最初的标准。[3]2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。
C语言编译器普遍存在于各种不同的操作系统中,例如Microsoft Windows, Mac OS X, Linux, Unix等。C语言的设计影响了众多后来的编程语言,例如C++、Objective-C、Java、C#等。
例:
#include <stdio.h>
int main() {
printf("Hello,world!");
return 0;
}
编译运行将输出: Hello,world!