学习C语言有什么书适合新手看
学习C语言不是一朝一夕的事情,但也不需要花费十年时间才能精通。如何以最小的代价学习并精通C语言是本文的主题。请注意,即使是“最小的代价”,也绝不是什么捷径,而是以最短的时间取得最多的收获,同时也意味着你需要经历艰苦的过程。
一、要读就读好书,否则不如不读
所有初学者面临的第一个问题便是:如何选择教材。好的开始是成功的一半,选择一本优秀的教材是事半功倍的关键因素。不幸的是,学校通常会帮你指定一本很差劲的C语言课本;而幸运的是,你还可以再次选择。
大名鼎鼎的谭浩强教授出了一本《C语言程序设计》,据说发行量有超过400万,据我所知,很多学校都会推荐这本书作为C语言课本。虽然本人的名字(谭浩宇)跟教授仅仅一字之差,但我是无比坚定地黑他这本书的。这本书不是写给计算机专业的学生的,而是给那些需要考计算机等级考试的其它专业学生看的。这本书的主要缺点是:例子程序非常不专业,不能教给你程序设计应该掌握的思考方式;程序风格相当地不好,会让你养成乱写代码的恶习;错误太多,曾经有人指出过这本书的上百个错误,其中不乏关键的概念性错误。好了,这本书我也不想说太多了,有兴趣大家可以百度一下:)
Kernighan和 Ritchie的《The C Programming Language》(中译名《C程序设计语言》)堪称经典中的经典,不过旧版的很多内容都已过时,和现在的标准C语言相去甚远,大家一定要看最新的版本,否则不如不看。另外,即使是最经典最权威的书,也没有办法面面俱到,所以手边常备一本《C语言参考手册》是十分必要的。《C语言参考手册》就是《C Reference Manual》,是C语言标准的详细描述,包括绝大多数C标准库函数的细节,算得上是最好的标准C语言的工具书。顺便提一句,最新的《C程序设计语言》是根据C89标准修订的,而《C语言参考手册》描述的是C99标准,二者可能会有些出入,建议按照C99标准学习。还有一本《C和指针》,写得也是相当地不错,英文名是《Pointers on C》,特别地强调指针的重要性,算是本书的一个特点吧。不过这本书并不十分适合初学者,如果你曾经学过C语言,有那么一些C语言的基础但又不是很扎实,那么你可以尝试一下这本书。我相信,只要你理解了指针,C语言便不再神秘。
如果你已经啃完了一本C语言教材,想要更进一步,那么有两本书你一定要看。首先是《C Traps and Pitfalls》(中译名《C陷井与缺陷》),很薄的一本小册子,内容非常非常地有趣。要注意一点,这本书是二十多年前写成的,里面提到的很多C语言的缺陷都已被改进,不过能够了解一些历史也不是什么坏事。然后你可以挑战一下《Expert C Programming》(中译名《C专家编程》),书如其名,这本书颇具难度,一旦你仔细读完并能透彻理解,你便可以放心大胆地在简历上写“精通C语言”了。
切记一个原则,不要读自己目前还看不懂的书,那是浪费生命。如果你看不懂,那你一定是缺失了某些必需基础知识。此时,你要仔细分析自己需要补充哪些内容,然后再去书店寻找讲述的这些内容的书籍。把基础知识补充完毕再回头来学习,才会真正的事半功倍。
二、Unix/Linux还是Windows,这是个很大的问题
不同的编程环境会造就出不同思维的程序员。Windows的程序员大多依赖集成开发环境,比如Visual Studio,而Unix程序员更加钟爱Makefile与控制台。显而易见,集成开发环境更容易上手,在Windows上学习C语言,只需要会按几个基本的Visutal C++工具栏按钮就可以开始写Hello, World!了,而在Unix下,你需要一些控制台操作的基本知识。有人也许认为Unix的环境更简洁,但习惯的力量是很大的,大家都很熟悉 Windows的基本操作,而为了学习C语言去专门装一个Unix系统,似乎有点不划算。
对于一个只懂得Windows基本操作、连 DOS是什么都不知道的新手而言,尽快做一些有趣而有意义的事情才是最重要的。用C语言写一个小程序远比学习ls、cat等命令有趣,况且我们要专注于C 语言本身,就不得不暂时忽略一些东西,比如编译链接的过程、Makefile的写法等等等等。
所以我建议初学者应该以Visual C++ 6.0(不是VisualC++ .NET)或者Dev C++作为主要的学习环境,而且千万不要在IDE的使用技巧上过多纠缠,因为今后你一定要转向Unix环境的。Visual C++ 6.0使用很方便,调试也很直观,但其默认的编译器对C标准的支持并不好,而Dev C++使用gcc编译器,对C99的标准都支持良好。使用顺带提一下,很多大学的C语言课程还在使用Turbo C 2.0作为实验环境,这是相当不可取的,原因其一是TC 2.0对C标准几乎没有支持,其二是TC 2.0编译得到的程序是16位的,这对今后理解32位的程序会造成极大的困扰(当然,用djgpp之类的东西可以使TC 2.0编译出32位程序,不过那过于复杂了)。
等你学完一本C语言的教材,你一定要转向Unix平台继续学习,几乎所有的C语言高级教程都是基于Unix平台的(比如《C专家编程》)。转变的过程是痛苦的,你需要面对的是各种纷繁复杂的命令,完全不同于Windows平台的思考方式,但是这种痛苦是值得的。Unix与C是共生的,Unix的思考方式和习惯更加符合C语言的思考方式和习惯。在Unix下,你可以找到无数优秀的源代码供你尽情阅读,你可以方便地查看某个库函数的联机手册,还可以看到最优秀的代码风格(说到代码风格,我会专门写一篇文章详细叙述)。
归结起来就是一句话:初学C语言,建议使用Windows系统和集成开发环境,在准备向“高手”方向努力时,请先转向Unix平台。
三、万事俱备,你就是东风
书已选定,环境配置完成,正所谓万事俱备,只欠你自己的努力了。请从书的前言开始,仔细地阅读手头的教材,很多人看书喜欢直接从第一章开始看,这是错误的做法。前言是作者对整本书的大体介绍,作者一般会告诉你需要什么基础才能够顺利阅读本书,这可以帮助你检验自己的基础知识是否已经具备。看完前言,还要浏览一下目录,了解一下书的整体结构,顺便给自己安排一下学习计划。
学习C语言,必需注意每一个细节,书上的例子代码一定要自己亲自敲一遍,编译执行输出都跟书上说的一致才能算是学完了一个例子,如果不一致,就要仔细找原因。出了书本上有的例子,自己还要“创造”一些例子,比如学习运算符优先级的时候,可以写几个相同的表达式,在不同的位置加上括号,看看有哪些不同的行为,比如*p++和(*p)++,又比如a = b == c、(a = b) == c和a = (b == c)等等。自己抄的书上的例子以及改造之后的例子,还有自己“创造”的例子,都应该仔细地归类保存,并且要在源代码中写上简短的注释,阐述这个例子的意图。
例子之后就是习题了,我建议初学者把所有的习题都独立做一遍,然后对照答案的代码,看看自己的代码有那些不足,再试着修改自己的代码。很多人不重视习题,这是极大的错误,因为作者通常会在习题中说明一些重要的道理,而不是单纯地检验前面的知识。
也许你认为这样学习太慢,其实不然。学得细致就不用走回头路,等你学到后面才发现自己前面没搞清楚,那才是真的得不偿失。一般说来,整本书读完,你应该完成数千行乃至上万行的代码,无论是原封不动照抄书上的,还是自己心血来潮写就的,都是今后继续学习的一笔财富。以我自己举例,阅读《Windows核心编程》时(我只阅读了3/4的内容),除了抄书上的代码,还自己写了很多例子,一共有5574行(用unix下的wc工具统计),时隔多日,我早已记不清 Windows的系统编程了,但只要花几分钟翻出以前的代码看看,便会重新了然于胸。所谓好记性不如烂笔头,就是这个道理。
仔细读书、认真抄写源代码、独立完成习题外加更进一步的实验,最后将所有的代码留下,成为自己的经验和财富,绝对的辛苦,也绝对的事半功倍。当然,这种方式只适合学习需要精通的技术,如果不是学习C语言,你还要具体情况具体分析。
写到最后,还有非常非常重要的一点没有提及──代码风格,从最开始学习就必须强迫自己模仿最优秀的代码风格。因为代码风格太重要内容也太多,我会用专门的一篇文章来详细讨论,请大家关注《程序员之路──关于代码风格》。
我已看完c语言入门经典,之后我想看一些开发软件的书,进阶的,高级的,有什么好书推荐一下
C语言经典著作导读 2013-10-30 14:35:00
分类: LINUX
http://blog.csdn.net/21aspnet/article/details/6558619
本人不是卖书的,我也不会给出任何购书链接,只是给C语言学习者推荐一条学习的方向。如果你喜欢看电子书网上很多,如果你喜欢纸质那么就买吧,经典的书值得收藏,是对版权的尊重!
基础篇
1.《写给大家看的C语言书(第2版)》
原书名: Absolute Beginner's Guide to C (2nd Edition)
原出版社: Sams
作者: (美)Greg Perry [作译者介绍]
译者:谢晓钢刘艳娟
丛书名:图灵程序设计丛书 C/C++系列
出版社:人民邮电出版社
ISBN:9787115216359
上架时间:2009-12-10
出版日期:2010 年1月
开本:16开
页码:308
说明:这本是入门最好的,最简单,最好懂
2.《C语言程序设计:现代方法:第2版》
老版,其实改变不大
原书名: C Programming: A Modern Approach, 2nd Edition
原出版社: W. W.Norton & Company
作者: (美)K. N. King [作译者介绍]
译者:吕秀锋黄倩
丛书名:图灵程序设计丛书 C/C++系列
出版社:人民邮电出版社
ISBN:9787115219572
上架时间:2010-3-16
出版日期:2010 年4月
开本:16开
页码:600
说明:被誉为"近10年来最好的一部C语言著作"。
3.《C语言解析教程》和《C语言教程》
原书名: C by Dissection The Essentials of C Programming FourthEdition
原出版社:Addison-Wesley
作者:(美)Al Kelley Ira Pohl [作译者介绍]
译者:麻志毅
丛书名:计算机科学丛书
出版社:机械工业出版社
ISBN:7111093364
上架时间:2002-1-24
出版日期:2002 年1月
页码:436
原书名: A Book on C: Programming in C (4th Edition)
原出版社: Addison-Wesley
作者:(美)Al Kelley, Ira Pohl [作译者介绍]
译者:徐波
丛书名:计算机科学丛书
出版社:机械工业出版社
ISBN:7111202139
上架时间:2006-12-13
出版日期:2007 年1月
说明:2本书相似度很大。《C语言解析教程》基础一点,而《C语言教程》相对难点,第二本先后2006年和2011年2次出版,内容是一样的,现在只能买新版,要说区别就是2011版比2006版贵点。这本书写的超级经典,值得一看。
4.《C语言大全第四版》
作者: 赫伯特?希尔特
译者: 王子恢戴健鹏等
出版社: 电子工业出版社
出版年: 2001-9-1
页数: 560
定价: 48.00
装帧: 平装(无盘)
ISBN: 9787505369153
说明:这本完全适合零基础的,另外这本书买不到了,虽然计算机更新换代很快,但是C永远不会淘汰,最起码20年内还不会。
入门书籍比较老了 2001年的有电子版的 讲的比较全 也很好懂 需要注意不要下载错了!
———————————————————————————————————————
5.《C Primer Plus》
副标题: Primer Plus
作者: StephenPrata / 云巅工作室
译者: 云巅工作室
出版社: 人民邮电出版社
出版年: 2005-2
页数: 626
定价: 60.00元
装帧: 平装
ISBN: 9787115130228
说明:有基础可以直接看这本经典的入门书。书很厚,近700页,却不没有让我觉得任何的烦琐。
———————————————————————————————————————
提高篇
1.《C和指针》(一定要看,如果只买一本C的书那么就是这本)
作者: Kenneth A.Reek
译者: 徐波
出版社: 人民邮电出版社
出版年: 2008年4月
页数: 448
定价: 65.00
装帧: 平装
ISBN: 9787115172013
说明:入门后提高的书,也可以当入门书,但是这本书其实有一定的深度,所以不推荐做第一本!
这本书最大的特点就是和指针结合在一起进行讲解。这是最经典的一本我觉得。
———————————————————————————————————————
2.《C程序设计语言(第2版·新版)》
作者: 克尼汉
译者: 徐宝文
出版社: 机械工业出版社
出版年: 2004-1
页数: 258
定价: 30.00元
装帧: 平装
ISBN: 9787111128069
说明:同名的太多,一定不要买国内的!这本书作者是C语言之父。所以推荐这本书不需要太多的理由吧。
入门后提高的书,也可以当入门书。数很薄但精简,内容详实,值得一读。
———————————————————————————————————————
3.《C语言核心技术》
作者: (美)Peter Prinz TonyCrawford
译者: O'ReillyTaiwan公司
丛书名:坚果系列
出版社:机械工业出版社
ISBN:9787111220503
上架时间:2007-8-28
出版日期:2007 年8月
开本:16开
页码:589
IN A NUTSHELL 系列是程序员的案头参考书. 本书由O‘REILLY台湾公司翻译,从根本上保证了翻译的质量。
———————————————————————————————————————
4.《C 陷阱与缺陷》
作者: Andrew Koenig
译者: 高巍
出版社: 人民邮电出版社
出版年: 2008-2
页数: 172
定价: 30.00元
装帧: 平装
ISBN: 9787115171795
说明:提高的书。这本书虽然著于1989年,但其中的要点却不过时,讲的全是C语言的精华,已经第18次印刷了,多本书里提到这本书。书很薄。
———————————————————————————————————————
5.《C专家编程》
作者: Peter Van / Der Linden
译者: 徐波
出版社: 人民邮电出版社
出版年: 2008-2
页数: 291
定价: 45.00元
装帧: 平装
ISBN: 9787115171801
说明:提高版,和.《C和指针》.《C 陷阱与缺陷》是一个系列。
———————————————————————————————————————
6《你必须知道的495个C语言问题》
作者: Steve Summit
出版社: 人民邮电出版社
出版年: 2009-2
页数: 260
定价: 45.00元
装帧: 平装
丛书: 图灵程序设计丛书
ISBN: 9787115194329
说明:这本书讲的都是技巧总结,都是经常遇到的一些容易混淆的问题。
———————————————————————————————————————
数据结构和算法
1.《数据结构基础(C语言版)第二版》
作者: (美)Ellis Horowitz
译者:朱仲涛
丛书名:世界著名计算机教材精选
出版社:清华大学出版社
ISBN:9787302186960
上架时间:2009-3-27
出版日期:2009 年3月
开本:16开
页码:470
下面是第一版 2本书居然是2个出版社分别翻译 买一本就够了千万不要买重
作者: Ellis Horowitz / Sartaj Sahni / Susan Anderson-Freed
译者: 李建中 / 张岩 / 李治军
出版社: 机械工业出版社
出版年: 2006-7
页数: 376
定价: 48.00元
装帧: 平装
ISBN: 9787111187981
说明:层次清晰,代码质量高。 有一定难度,需要有基础。书非常经典,适合计算机专业的人进行深入的学习。
———————————————————————————————————————
2.《数据结构与算法分析:C语言描述(原书第2版)》
副标题: C语言描述
作者: 维斯
译者: 冯舜玺
出版社: 机械工业出版社
出版年: 2004-1
页数: 391
定价: 35.00元
装帧: 平装
ISBN: 9787111127482
说明:学好基础以后,还需要看看算法数据结构的书。
里面的分析数学公式恰到好处,没有算法导论的令人望而生畏,也没有国内图书的草草了事,既学习了数据结构又有刚刚好的算法分析,很容易使人产生共鸣。
为什么要学C语言?
原谅我们从最基本的开始。。。每个程序员在他们的编程生涯中都应该学习C语言,因为它有太多难以忽视的好处了。除了它会给你提供更多的工作机会之外,C语言还会教给你更多的关于计算机的知识。它能给我们提供的裨益,,简单列举如下:1.相比较其他的编程语言(像C++,JAVA),C语言是个低级语言。从总体上来说,低级的编程语言可以让你更好的了解计算机。4.C的程序比其他用别的语言写的程序,实现相同的功能,它用的代码行数更少,而它带来的运行效率却更快。有时候,你的程序所需要的速度,只有C语言能做到。5.如果你学习过C语言,你就能学习现在任何的高级编程语言。因为所有的高级语言都是以C语言为基础的(像JAVA,C++,C#等等)。6.因为C语言已经存在很多年了,它有广泛的使用团体并且有大量的现成代码可以利用。这就使你能在过去程序的基础上,快速和高效的编写新的算法和函数。7.C语言是一个开源组织的语言。一个开源组织的产物--LINUX,就是用C语言写的。如果你会C语言,你就能参加这个组织并且还能向众多的开源组织投稿,比如参加Source Forge并且给他们投稿。8.C语言是唯一一个向你阐述指针的本质的语言。而C#和Java干脆跳过了指针这个题目。可是指针确实使C语言变得更加强大。9.找编程开发方面的工作时,C语言仍然是最普遍需要的语言。所以它值得你花时间去学会它。10.任何里面有微处理器的设备都支持C语言。从微波炉到手机,都是由C语言技术来推动的。11.好了,说了这么多,大家应该感到我们应该学习C语言的必要性和迫切性了吧!那就赶快学吧!让它成为我们取得更大成功的阶梯!
C语言还有学习的必要吗?
如果需要从事编程方面的工作,C语言是必须学习的。如果只是想了解编程,那么学习一些其他的语言也无可厚非。
每个程序员在他们的编程生涯中都应该学习C语言,因为它有太多难以忽视的好处了。除了它会给你提供更多的工作机会之外,C语言还会教给你更多的关于计算机的知识。它能给我们提供的裨益,,简单列举如下:1.相比较其他的编程语言(像C++,JAVA),C语言是个低级语言。从总体上来说,低级的编程语言可以让你更好的了解计算机。4.C的程序比其他用别的语言写的程序,实现相同的功能,它用的代码行数更少,而它带来的运行效率却更快。有时候,你的程序所需要的速度,只有C语言能做到。5.如果你学习过C语言,你就能学习现在任何的高级编程语言。因为所有的高级语言都是以C语言为基础的(像JAVA,C++,C#等等)。6.因为C语言已经存在很多年了,它有广泛的使用团体并且有大量的现成代码可以利用。这就使你能在过去程序的基础上,快速和高效的编写新的算法和函数。7.C语言是一个开源组织的语言。一个开源组织的产物--LINUX,就是用C语言写的。如果你会C语言,你就能参加这个组织并且还能向众多的开源组织投稿,比如参加Source Forge并且给他们投稿。8.C语言是唯一一个向你阐述指针的本质的语言。而C#和Java干脆跳过了指针这个题目。可是指针确实使C语言变得更加强大。9.找编程开发方面的工作时,C语言仍然是最普遍需要的语言。所以它值得你花时间去学会它。10.任何里面有微处理器的设备都支持C语言。从微波炉到手机,都是由C语言技术来推动的。
C++和C语言编程的区别?
这两个都是输出。但是请注意的是。
c语言的基本单元是函数,因此,输出printf是一个函数,其使用方法也是函数。
而C++的单元是对象。这个cout就是输入输出流类当中的输出流类的对象。
这是它们本质区别。
编程的时候需要注意的是:
1.这种输出函数或者对象是标准库中的,因此它们需要不同的头文件。
2.printf使用如同函数,都是有规定参数的。而cout是一个对象,用法不同于函数。此点可以在编程中看出。printf();里面的参数都是固定类型的。而cout<<是对象,规定了其使用方法是:后面加<<这个符号。
C语言,高级编程
呵呵,这位兄台很像我前几个月的样子。学c以前觉得c应该什么都能实现。可是能学完发现自己离windows还有很远的距离。不过我现在不这么想了。开发平台不是问题所在。其实就像上面那位兄台所说得C只是一个工具。学会了c就相当于会用了一个工具。而真正的学习才刚刚开始。一个计算机的体系是与很多东西组成的。想写出很好程序就要知道怎么用好自己的这支笔。下面是我对计算机体系的一点浅显的认识:
1、计算机组成原理。这个就不多说了,学编成的连我们的劳动对象都不清楚那还玩什么啊?
2、数据结构和算法。其实所谓的程序就是对数据进行处理,而处理的数据当然要有存储的方式,而应对这些数据存储的方式应运而生了算法。也就是处理问题的方法。这是真正编程的灵魂。十分重要。
3、操作系统。学完了上说的那些东西你还会认为操作系统很神秘。那我们就来亲手掀开他神秘的面纱,知道操作系统都为我们做了些什么是一件很令人愉快的事。
4、编译原理。这门课有点难度,不过也很重要,其中有很多思维方式需要掌握,不多说了,看了就知道了。
懂了上面我说的这些东西,我想你对计算机程序设计会有一种新的认识。可千万不要被吓倒了哦。每个出色的程序员都是这么混出来的。为成为一名优秀的程序员而努力吧!
C语言高级编程看什么书好?
重点推荐C语言四大圣经:《C语言程序设计》、《C和指针》、《C陷阱与缺陷》、《C作家编程》。其中C语言的发明者K&R的《C程序设计语言》更是重中之重,此书是C语言的第一秘典。所有优秀程序员的必经之路。
四大圣经及其他优秀书籍的信息:
1.《C语言程序设计》
K&R
清华大学出版社
2.《C和指针》
POINTERS ON C Kenneth A.Reek、
徐波 人民邮电出版社
3.《C陷阱与缺陷》
Andrew Koenig、 高巍
人民邮电出版社
4.《C专家编程》
Expert C Programming Deep C Secrets Peter Van
Der Linden 人民邮电出版社 (2008-02出版)
5.《清华大学计算机系列教材•数据结构(C语言版)(附光盘1张)》
吴伟民、 严蔚敏
清华大学出版社
6.《计算机算法设计与分析(第3版)》
王晓东
电子工业出版社
7.《算法艺术与信息学竞赛•算法竞赛入门经典》
刘汝佳
清华大学出版社
8.《算法导论(原书第2版)》
科曼(Cormen T.H.)、等、 潘金贵
机械工业出版社 (2006-09出版)
9.《编程之美:微软技术面试心得 》
《编程之美》小组
电子工业出版社
10.《编程珠玑(第2版)》
Jon Bentley、黄倩、 钱丽艳
人民邮电出版社
11.《算法艺术与信息学竞赛》
刘汝佳
清华大学出版社
12.《程序员面试宝典(第3版)》
欧立奇、刘洋、 段韬
电子工业出版社
13.《数学之美》
(《浪潮之巅》作者吴军最新力作,李开复作序推荐,Google黑板报百万点击)
谁可以推荐一本C语言"高级"编程的书籍?谢谢
书名(英文):The C Programming Language, Second Edition
书名(中文):C程序设计语言,第二版
原作者:Brian W. Kernighan / Dennis Ritchie
书名(英文):The Art and Science of C : A Library-Based Introduction to Computer Science
书名(中文):C语言的科学和艺术
原作者:Eric S.Roberts
书名(英文):Programming Abstractions in C : A Second Course in Computer Science
书名(中文):C程序设计的抽象思维
原作者:Eric S.Roberts
书名(英文):Expert C Programming
书名(中文):C专家编程
原作者:Andrew Koenig
书名(英文):C Traps and Pitfalls
书名(中文):C陷阱与缺陷
原作者:Andrew Koenig
c语言中,E!=0和!E==0各是什么意思
是这样的,C语言中!是逻辑非运算符,使用形式为:!表达式
你这里的E != 0是逻辑判断E不等于0的意思,
!E == 0是逻辑判断非E等于0的意思,也就是是否E不等于0.
所以你这里两个表达式是同一个意思,只是表现形式不同。
像这种表达式在if语句或者while语句中会这样用。
例如:
if(E != 0)
{
printf("hello world\n");
}
意思是如果E的值不等于0, 那么输出”hello world“字符串。
希望对你有帮助。
我想自学C++编程,请问需要给电脑安装什么软件?
1、gccGCC(GNU Compiler Collection,GNU编译器套件)是由GNU开发的编程语言译器。GNU编译器套件包括C、C++、 Objective-C、 Fortran、Java、Ada和Go语言前端,也包括了这些语言的库(如libstdc++,libgcj等。)GCC的初衷是为GNU操作系统专门编写的一款编译器。GNU系统是彻底的自由软件。此处,“自由”的含义是它尊重用户的自由。2、llvm+ClangLLVM是构架编译器(compiler)的框架系统,以C++编写而成,用于优化以任意程序语言编写的程序的编译时间(compile-time)、链接时间(link-time)、运行时间(run-time)以及空闲时间(idle-time),对开发者保持开放,并兼容已有脚本。LLVM计划启动于2000年,最初由University of Illinois at Urbana-Champaign的Chris Lattner主持开展。2006年Chris Lattner加盟Apple Inc.并致力于LLVM在Apple开发体系中的应用。Apple也是LLVM计划的主要资助者。3、Watcom C/C++Watcom C/C++ 编译器、Watch Fortran 编译器 经已在不其先前所属公司Sybase售卖, 而被 SciTech 软件公司 作为 Open Watcom 开源包 发行。类似于其他的 开源编译器(例如 [GCC])项目,Watcom C代码小而便携, 其编译器后端(代码生成器)的目标码可变。该编译器可在DOS、OS/2、Windows等操作系统上运行,并生成各种可运行的(不必是该操作系统的)代码。该编译器支持Novell NetWare的 NLM 目标码。目前正进行 为 Linux、modern BSD (例如FreeBSD) 操作系统 重定目标码,以便在 x86、PowerPC 及 其它处理器上运行。Open Watcom C/C++ 的1.4版于2005年12月发行,采用 Linux x86 为实验目标, 支持NT、OS/2等host平台曾有某被弃置的QNX版本,但其编译所须的库并未开源发行。当前最近的稳定版是1.9版,在2010年6月发行。4、Digital Mars DigitalMars是一款高性能的编译器,功能包含,快速编译/链接时、强大的优化技术、Contract设计、完整的资源库、浏览HTML文档,反汇编、库、资源编译器等。命令行及GUI版本、教程、代码示例、在线更新、标准模板库等等。5、MSVC系列与Visual Studio集成发布,微软自己的编译器,VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。所写的目标代码适用于微软支持的所有平台,包括Microsoft Windows、Windows Mobile、Windows CE、.NET Framework、.NET Compact Framework和Microsoft Silverlight 及Windows Phone。
请推荐几本关于c语言的有开发实例的书籍
MFC和QT不是C++的类库么....不懂C++类的原理,虚函数什么的都不懂,怎么学这个?当然看看框架什么的是不错。
如果你想学windows编程,强烈建议买《Windows程序设计(第五版)》,这本书虽然老了点,但对windows的原理讲解的很透彻,被称为windows编程圣经。作者是微软的专家,自然对微软的技术比较了解。如果你看完这本,将来想学MFC或者windows的其他方面都会很有好处。
如果你想学linux方面的话,你就看看《Unix环境高级编程》,W.Richard Stevens的书本本都是经典,如果你想学网络方面的话,也可以看看他的《UNIX网络编程》
如果是嵌入式方面的,书有很多,但我不太了解,就不介绍了。
————————————————————
理论学习的话,谭浩强的书,只能说是入门...很多东西都解释不到位,特别是C的指针...《C和指针》嘛还是不错的,如果还想提升可以看看《C专家编程》、《C陷阱和缺陷》。
除了语言,最重要的还是数据结构/算法,建议你看看 严蔚敏的《数据结构》,国内考研都看这本。算法的话,可以看看《算法:C语言实现》和《算法导论》。不过不论是算法还是数据结构,都比较虚,这点可能和你的要求相反。
如果你想搞实际的开发的话,最好能够转型,比如C++或者java之类的,C的程序效率高,但开发效率太低,一般都用于偏底层的开发,如驱动什么的(这种东西更加看不到了),图形的软件之类的,现在一般都用其他语言写的。