专题

「c语言学习手册」C语言参考手册

「c语言学习手册」C语言参考手册

分类:专题 大小:未知 热度:9 作者:周易专家指迷居士周易专家指迷居士
发布:
支持:
关键词:
苹果下载
安卓下载

应用介绍

今天给各位分享c语言学习手册的知识,其中也会对C语言参考手册进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文导读目录:

求C语言初学者书籍推荐

先看《C Primer Plus中文版》(如果你英语好,可以看英文版《C Primer Plus 》)推荐从经典入手。推荐的话,这本书上的习题是有答案的,可以练练。

如果着急的话可以看谭浩强的《C语言程序设计》,看完基本小程序会写,算入门了。

进阶的书去看《The C Programming Language》,俗称C语言圣经。

再进一步就是多写代码的经验和根据需要学习相应的C语言(比如Object—C,写Apple App用的)

至于你选的其他的书都可以先不看,其中《21天学通c(第三版)》《C语言编程宝典》《你必须知道的495个C语言问题 》基本是用来诓骗新手的商业书,噱头比较重,有用的不多,重复性很高。

《C和指针》《C陷阱与缺陷》是比较好的书,但是有点高阶了,如果不是研究C语言的话基本上用不到,除非是公司里的C语言工程师才看。

学习C语言用的书

和其他语言相比(例如C++),C语言是一门比较“小”的语言,可以在较短的时间内入门,但是由于C的很强的表达能力和太多的细枝末节,要想精通比较困难。想精通有3种途径:1)阅读经典书籍,只读经典。2)多看优良的源代码。3)学习软件设计,并应用于日常编程。C语言比较经典的书也就那么几本,全部看下来也花不了很多时间。语言的优劣问题更像是一个信仰的问题,没有太多讨论的必要,而且大多编程原则适用于任何语言。在这里只讨论我视野所及的C语言书籍。

举报.

推荐 15人 全部图书(8)

2009-10-19 07:44:50添加 1. C语言程序设计

作者: 谭浩强

出版社: 清华大学出版社

评语 : 第0本 《C语言程序设计》谭浩强我们很少有学C语言的启蒙书不是用这本的。如果你从来没接触过C语言,这本书还是适合作为入门的。尽管大学毕业之后就不再碰这本书,但是还记得当初这本书看了3遍、指针那部分看了至少5遍的那种心情。以后看了其它的书,才对C语言中的一些内容有更深的理解。相信大多数第一次接触C语言的人都有类似的感觉。不要期望一本启蒙的书带给你想要的一切,一切才刚刚开始。

加入购书单 已在购书单

2009-10-19 07:48:08添加 2. C程序设计语言

作者: Brian W.Kernighan/Dennis M.Ritchie

出版社: 清华大学出版社

评语 : 第1本 《C程序设计语言》 Brian W. Kernighan / Dennis M. Ritchie 这本书又称为 RK C,还有谁能比C语言之父对C语言更有发言权的呢?推荐看英文版。你会惊讶于在短短不到200页的篇幅内,这两位牛人将C语言描述的这么清晰。即使不专门学C语言的人也可以拿出来翻翻

加入购书单 已在购书单

2009-10-19 07:44:50添加 3. C陷阱与缺陷

作者: 凯尼格

出版社: 人民邮电出版社

评语 : 第2本 《C陷阱与缺陷》Andrew Koenig Andrew Koenig的成名作,能帮助初学者减少90%的错误。一些错误(比如赋值符、运算符优先级等)还是不时的会在自己的程序里出现,只是已经打过预防针了,很容易发现。另外作者写了一本《Accelerated C++》,据说是C++的最佳入门书,狠赞!!

加入购书单 已在购书单

2009-10-19 07:44:50添加 4. C专家编程

作者: Peter Van Der Linden

出版社: 人民邮电出版社

评语 : 第3本 《C专家编程》(LinDen,P.V.D)一看书名就知道这丫不能拿来入门用的,第一次看的时候够折磨大脑的。作者声称,编程的唯一原因是因为乐趣。相比之前的几本书,这本书还介绍C语言运行的环境,更全面地考察了C语言。深入分析了C语言中一些容易混淆的概念,如复杂的声明和定义、数组和指针、链接和运行时库、内存等。很值得一读。顺便一提:链接库可参考《深入理解计算机系统》的动态链接库一章,写得更易读

加入购书单 已在购书单

2009-10-19 07:44:50添加 5. 编程精粹

作者: Steve Maguire

出版社: 人民邮电出版社

评语 : 第4本 《编程精粹:编写高质量C语言代码》 《Writing Solid Code》 Steve Maguire 这是我读到C语言书中最惊叹的一本,尽管写出没有bug的程序不太可能,但按照作者提供的方法,可以离这个目标很近。本书关注的更多是怎么使用C语言开发工业级产品的问题。这本书源自作者十几年不断的追问自己两个简单的问题: 1)怎样才能自动地查出这个错误? 2)怎样才能避免这个错误? “他的另一部名著Debugging the Development Process(中文版《微软

加入购书单 已在购书单

2009-10-19 07:44:50添加 6. C Interfaces and Implementations

作者: David R. Hanson

出版社: Addison-Wesley Professional

评语 : 第5本 《C Interfaces and Implementations》 David R. Hanson 这本据说为唯一一本能和RK C并驾齐驱的书,可惜中文版众口一致说太烂,无处可载电子版,影印版跳票多年,原版USD 54.99实在承受不起,囊中羞涩,奈何奈何。想念多年,至今不能一睹芳容,深以为憾。

加入购书单 已在购书单

2009-10-19 07:44:50添加 7. C标准库

作者: P. J. Plauger

出版社: 人民邮电出版社

评语 : 前面5本差不多够了,另外推荐两本,精力过剩的可以翻翻第6本 《C标准库》P. J. Plauger 本书介绍C标准库的实现,书中有较为详尽的代码。虽然这本书年代久远,现在的实现肯定和以前也有差别,但是还是很有参考价值,特别是对C标准库的实现有兴趣的人。中文版太贵,英文电子版看得太累,还是以后有地方借的时候再继续看。

加入购书单 已在购书单

2009-10-19 07:44:50添加 8. C语言参考手册

作者: 哈比森

出版社: 机械工业出版社

评语 : 第7本 《C语言参考手册》拿来备查的,C语言的任何细节几乎都能在其中找到借到。书的第一部分介绍C语言语法细节。第二部分介绍运行时库,可以和《C标准库》参考阅读。

新手如何入门C语言?

如果是想通过计算机等级考试 就买一本全国计算机等级考试二级试题认真做就可以了 当然也要加强上机实践。

怎样才能学好C语言

第一:C语言语法结构很简洁精妙,写出的程序也很高效,很便于描述算法,大多数的程序员愿意使用C语言去描述算法本身,所以,如果你想在程序设计方面有所建树,就必须去学它。

第二:C语言能够让你深入系统底层,你知道的操作系统,哪一个不是C语言写的?所有的indows, Unix, Linux, Mac, os/2,没有一个里外的,如果你不懂C语言,怎么可能深入到这些操作系统当中去呢?更不要说你去写它们的内核程序了。

第三:很多新型的语言都是衍生自C语言,C++,Java,C#,J#,perl...哪个不是呢?掌握了C语言,可以说你就掌握了很多门语言,经过简单的学习,你就可以用这些新型的语言去开发了,这个再一次验证了C语言是程序设计的重要基础。还有啊,多说一点:即使现在招聘程序员,考试都是考C语言,你想加入it行业,那么就一定要掌握好C语言。

那么究竟怎样学习C语言呢?

1:工欲善其事,必先利其器

这里介绍几个学习C语言必备的东东:

一个开发环境,例如turbo C 2.0,这个曾经占据了DOS时代开发程序的大半个江山。但是现在windows时代,用turbo C有感觉不方面,编辑程序起来很吃力,并且拖放,更没有函数变量自动感应功能,查询参考资料也不方便。建议使用Visual C++,这个东西虽然比较大块头,但是一旦安装好了,用起来很方便。

一本学习教程,现在C语言教材多如牛毛,但推荐大家使用《C语言程序设计》谭浩强主编 第二版 清华大学出版社,此书编写的很适合初学者,并且内容也很精到。

除此以外,现在有很多辅助学习的软件,毕竟现在是Window时代了,学习软件多如牛毛,不象我们当初学习,只有读书做题这么老套。我向大家推荐一个“集成学习环境(C语言)”,里边的知识点总结和例程讲解都非常好,还有题库测试环境,据说有好几千题,甚至还有一个windows下的trubo C,初学者甚至不用装其它的编译器,就可以练习编程了,非常适合初学者。还有一个“C语言学习系统”软件,不过感觉只是一个题库系统,如果你觉得题做的不够,不妨也可以试试。

2:葵花宝典

学习计算机语言最好的方法是什么?答曰:读程序。

没错,读程序是学习C语言入门最快,也是最好的方法。如同我,现在学习新的J#,C#等其他语言,不再是抱着书本逐行啃,而是学习它们的例程。当然,对于没有学过任何计算机语言的初学者,最好还是先阅读教程,学习完每一章,都要认真体会这一章的所有概念,然后不放过这一章中提到的所有例程,然后仔细研读程序,直到每一行都理解了,然后找几个编程题目,最好是和例程类似的或一样的,自己试图写出这段已经读懂的程序,不要以为例程你已经读懂了,你就可以写出和它一样的程序,绝对不一定,不相信你就试一试吧,如果写不出来,也不要着急,回过头来再继续研究例程,想想自己为什么写不出来,然后再去写这段程序,反反复复,直到你手到擒来为止,祝贺你,你快入门了。

3:登峰造极

写程序的最高境界其实就是掌握各种解决问题的手段(数据结构)和解决问题的方法(算法)。

是不是写出底层程序就是程序设计高手呢?非也,写底层程序,无非是掌握了硬件的结构,况且硬件和硬件还不一样,要给一个芯片写驱动程序,无非就是掌握这块芯片的各种寄存器及其组合,然后写值读值,仅此而已。这不过是熟悉一些io函数罢了。那么怎样才算精通程序设计呢?怎样才能精通程序设计呢?举个例子:你面前有10个人,找出一个叫“张三”的人,你该怎么办?第一种方法:直接对这10个人问:“谁叫张三”。第2种方法:你挨个去问“你是不是张三?”,直到问到的这个人就是张三。第三种方法:你去挨个问一个人“你认不认识张三,指给我看”。不要小看这个问题,你说当然会选第一种方法,没错恭喜你答对了,因为这个方法最快,效率最高,但是在程序设计中找到解决问题的最优方法和你用的手段却是考验一个程序员程序设计水平的重要标志,而且是不容易达到的。刚才这个问题类似于数据结构和算法中的:Map数据结构,穷举查找和折半查找。所以掌握好数据结构和一些常用算法,是登峰造极的必然之路。最后给大家推荐严尉敏的《数据结构》清华大学出版社,希望每一个想成为程序设计高手的人研读此书。

C语言四书五经是哪4本书

C程序设计之四书五经

自从Dennis M.Ritchie于1973年设计并实现C语言以来,计算机程序设计领域已经发生了巨大的变化。以C语言为根基的C++、Java和C#等面向对象语言相继诞生,并在各自领域大获成功。今天,C及其后裔几乎统治了计算机程序设计世界。可以这么说,C语言的诞生是现代程序语言革命的起点,它改变了程序设计语言发展的轨迹,是程序设计语言发展史中的一个里程碑。

然而,C并不仅仅是其他语言的起点和基础,否则它早已成为程序设计语言发展过程中又一个被遗弃者。和当初发明时一样,C语言今天依然至关重要。它的表达力、效率、简练、紧凑、对机器的最终控制以及跨平台的高度移植性,使其在系统编程、嵌入式编程等领域一直占据着统治地位,而C99标准的制订则再一次使C语言焕发出新的活力。下文介绍C程序设计领域中的几本好书,其中一些堪称经典。

1. Brian W.Kernighan, Dennis M.Ritchie,《C程序设计语言》,机械工业出版社

这是迄今为止在所有程序设计语言书籍中最广受尊敬的一部经典,是任何一名C程序员的必读之作。因为出自C语言的设计者Dennis M.Ritchie和著名的计算机科学家Brian W.Kernighan之手,它被昵称为“KR C”。是它首先引入了“Hello World!”程序,这个程序几乎成了后来任何一本入门性程序设计语言书籍中的第一个例子。

如同C语言本身简洁紧凑而极具威力一样,这本书轻薄短小而极富张力。通过简洁的描述和典型的示例,它全面、系统、准确地讲述了C语言的各个特性以及C程序设计的基本方法,内容涵盖基本概念、类型和表达式、控制流、函数与程序结构、指针与数组、结构、输入与输出、UNIX系统接口以及标准库等内容。

简洁清晰是这本书最大的特色。这本小书可以教给你许多比它厚几倍的“大部头”的知识。我认为那些动辄洋洋洒洒拼凑出好几百页乃至上千页的技术作者应该好好向KR学一学。对于中、高级程序员而言,如果希望迅速获得C语言的严肃知识而又不愿意多花费哪怕一丁点时间,这本书就是首选。

顺便说一句,这本书的索引制作非常出色,极具实用价值,这可能首先要归功于正文部分的简明扼要。此外,尽管它看上去很像一本教程,但其实更是一本写给专业程序员的指南。如果你不具备任何其他语言程序设计背景或基本的C语言知识,这本书也许并不适合用作你的C语言启蒙读物。

2. Perter Van Der LinDen,《C专家编程》,人民邮电出版社

C语言是严肃的程序员语言,但这并不意味着C语言书籍必须板着面孔说教。在这本被C程序员昵称为“鱼书”(封面上有一条“丑陋的”腔棘鱼)的著作中,作为SUN公司编译器和操作系统核心开发组成员之一,Peter淋漓尽致地展示了其深厚的技术沉淀、丰富的项目经验、高超的写作技巧以及招牌式的幽默。在这部作品中,作者以流畅的文字、诙谐的笔法将逸闻典故、智慧和幽默自然地融入技术描述中,读来宛若一本小说,极富趣味。

本书讲述了C语言的历史、语言特性、声明、数组、指针、连接、运行时以及内存使用等知识,揭示了C语言中许多隐晦之处,尤其深入解析了声明、数组和指针、内存使用等方面的细节。要想成为一名专家级C程序员,这些内容都是必须掌握的。和其他满是抽象例子的C语言书籍不同,这本书充满了大量的来自真实世界的C程序设计实例,它们对C程序员具有很高的参照价值。另外,每一章都以极富趣味的“轻松一下”收尾,而附录A“程序员工作面试的秘密”则是任何语言的程序员在应聘工作前增强自信的好材料。

我怀疑真正的C专家可能用不着看这本书 — 从内容到组织方式到行文风格都决定了这是一本轻松愉快的“从菜鸟到高手”的进阶读本,所以,它理应拥有更广泛的读者群。初级程序员往往更需要热情的鼓励,在阅读这本书的过程中,你定会深深地被作者对编程的激情所感染。

世间并无完美。我认为这本书的缺陷在于,和大多数平庸的C语言书籍一样,它画蛇添足地加入了一章关于C++的描述。在今天看来,这个描述既不全面也有失公允。不过,鉴于作者是在1994年从一名C程序员的角度去观察C++,这一点也就不足为奇了。

3. Samuel P. Harbison, Guy L. Steele,《C语言参考手册(第五版)》(影印版),人民邮电出版社

在C语言参考手册类书籍里,Samuel P. Harbison 和Guy L. Steele合著的《C: A Reference Manual》是非常出色的一本。这本手册的第五版新增了对C99标准的介绍,以便满足新时期C语言学习的需要。全书共分为两大部分,第一部分专注于C语言特性,第二部分则全面讨论了C标准库。本书涵盖C99、C89、传统的C、所有版本的C运行库以及编写与C++兼容的C代码等一切知识。

这本手册只是中等厚度,但它比“比它更厚”的其他参考手册更清晰地描述了C语言的现在和过去的方方面面。整本手册技术细节描述精确,组织条理清楚,内容完备详尽而又简明扼要。可以这么说,它在广度、深度和精度方面都是出类拔萃的。对于中、高级C程序员而言,这本手册值得常备案头,它几乎肯定要比KR的著作使用频率更高。

2004年2月1日补充:我手头有这本书的中文版:《C语言参考手册》(机械工业出版社出版)。它在很大程度上减轻了我的查阅负担,不过偶尔也增加了理解上的困难。

4. David Hanson,《C语言接口与实现:创建可重用软件的技术》,机械工业出版社

C语言能够历经三十多年而不衰,一个重要的原因在于它的适应能力。在这“复用”、“面向对象”、“组件”、“异常处理”等先进机制漫天飞舞的年代,C语言仍然能够凭借它小而优雅的语言特性,在相当程度上满足现代软件体系架构提出的要求。只不过,想要达到这个程度,必须要在C的应用功力上达到最高层次。在嵌入式、系统软件以及对性能要求极高的系统开发中,开发人员必须达到这样的层次,熟练掌握C语言的高级特性,才能够同时满足效率和灵活性、复用性的要求。可惜,虽然C语言技术图书汗牛充栋,但是关注这个峰顶之域的作品却是屈指可数。David Hanson的《C Interfaces and Implementations》就是个中翘楚。

David Hanson是业内大名鼎鼎的自由编译器lcc的合作者。在这个项目中,他负责提供高度可复用的基础架构。在不断的实践中,他完全使用ANSI C形成了一整套可复用组件库。这套组件库架构清晰,性能优异,而且提供了很多高级的特性,比如类Win32 SEH的异常处理机制,可移植的线程库,高性能的内存池,丰富的可复用数据结构组件。David Hanson把他在创作这些组件的过程中所积累的心得以及对其源码的精致剖析原原本本地写在了这本书里。这样的著作,当然堪称C语言领域里的铭心绝品。难怪已故著名技术作家Richard Stevens对此书赞不绝口,他说:“这本书中的技术,对于大部分C程序员来说,已经遗忘得太久了。”对于希望能在C语言应用上达到最高层次的核心程序员而言,这本书是难得的必读之作。

其他

除了以上四本书以外,我还乐意推荐Andrew Koenig的著作《C陷阱和缺陷》(人民邮电出版社)和Deitel父子合著的《C How to Program》两本书。

Andrew Koenig是世界上屈指可数的C++专家,他的这本书可能是最薄的一本C语言经典。它简明扼要地讲述了C程序设计中的陷阱和缺陷,包括词法陷阱、语法陷阱、语义陷阱、连接、库函数、预处理器以及可移植性缺陷等,最后一章还给出了关于如何减少程序错误的建议以及前面各章问题的参考答案。尽管这个小册子成书于C89标准制定之前,然而,即使到了C99早已颁布的今天,书中提到的大多数陷阱和缺陷一如十五年前那样使我们警醒。

Deitel父子合著的《C How to Program》一直是非常好的C语言入门教程,我手头的中译本名为《C程序设计教程》(机械工业出版社出版,原书第二版)。除了对技术的正规描述(辅以许多简明扼要的例子)外,每一章后面都带有小结、术语、常见的程序设计错误、良好的程序设计习惯、性能忠告、可移植性忠告、软件工程评述、自我测验练习及答案等。整书内容清晰,组织良好,易于阅读和理解。值得一提的是,有许多入门书读完一遍即可扔掉,而这一本是个例外。

结语

以上这几本书很大程度上局限于描述C语言及标准库本身,如果希望学习更专业的、领域相关的C程序设计技术,你可以在选择阅读这几本书的基础上继续查阅专门书籍。此外,在C语言书籍领域,水平不相上下的作品有很多,这几本只是根据我自身的阅读体验而做出的推荐。

我并不是一名C程序员,我的大多数时间都花在C的后裔语言尤其是C++身上了。然而,正如你知道的那样,C++并不全是类和模板,不全是面向对象和泛型编程,在较低的层面,C++的各个实现一如既往在很大程度上兼容C。C++和C的亲密关系决定了每一本C语言经典都应该是C++程序员的读物。

这世界变化得真是太快。各色新事物层出不穷,让人眼花缭乱、目不暇接。人们也很容易被那些五光十色的花哨玩意儿所吸引,常常会忘记构筑过去、现在和未来的坚实基础。C语言就是这样的基础之一。今天,世界上有许多我们看不见的重要软件是用C语言(以及C++等)编写而成的,正是它们在默默地支撑着这个信息世界的运转。

初学者学习C语言,用什么书好,想用点比较经典的书。

学习C语言不是一朝一夕的事情,但也不需要花费十年时间才能精通。如何让编程初学者以最小的代价学习并精通C语言是本文的主题。请注意,即使是最小的代价”也绝不是什么捷径,而是以最短的时间取得最多的收获,同时也意味着各位编程初学者需要经历艰苦的过程。

一、要读就读好书,否则不如不读

所有初学者面临的第一个问题便是如何选择教材。好的开始是成功的一半,选择一本优秀的教材是事半功倍的关键因素。

1. 《C程序设计语言》

Kernighan和 RitchiTheCProgramLanguag的《C程序设计语言》堪称经典中的经典,不过旧版的很多内容都已过时,和现在标准C语言相去甚远,大家一定要看最新的版本,否则不如不看。

2. 《C语言参考手册》

即使是最经典最权威的书,也没有办法面面俱到,所以手边常备一本《C语言参考手册》十分必要的C语言参考手册》就是CReferManualC语言标准的详细描述,包括绝大多数C标准库函数的细节,算得上是最好的标准C语言的工具书。顺便提一句,最新的C程序设计语言》根据C89标准修订的而《C语言参考手册》描述的C99标准,二者可能会有些出入,建议按照C99标准学习。

3. 《C和指针》

这本《C和指针》写得也是相当地不错,英文名是PointeronC特别地强调指针的重要性,算是本书的一个特点吧。不过这本书并不十分适合初学者,如果你曾经学过C语言,有那么一些C语言的基础但又不是很扎实,那么你可以尝试一下这本书。相信,只要你理解了指针,C语言便不再神秘。

4.如果你已经看完一本C语言教材,并想要继续深入学习,那么我有两本书推荐给你

《C陷井与缺陷》

首先这本CTrapandPitfal的《C陷井与缺陷》,很薄的一本书,内容非常非常地有趣。不过注意的是,这本书是二十多年前写的,里面提到很多C语言的缺陷现在都已被改进,不过能够了解一些历史也不是什么坏事。

《C专家编程》

还有就是可以尝试挑战一下ExpertCProgram的《C专家编程》,书如其名,这本书颇具难度,不过一旦你仔细读完并能透彻理解,便可以放心大胆地在简历上写“精通C语言”

切记一个原则,不要读自己目前还看不懂的书,那是浪费生命。如果你看不懂,那你一定是缺失了某些必需基础知识。此时,要仔细分析自己需要补充哪些内容,然后再去书店寻找讲述的这些内容的书籍。把基础知识补充完毕再回头来学习,才会真正的事半功倍。

二、Unix/Linux还是Window这是个很大的问题

不同的编程环境会造就出不同思维的程序员。Window程序员大多依赖集成开发环境,比如VisualStudio而Unix程序员更加钟爱Makefil与控制台。显而易见,集成开发环境更容易上手,Window上学习C语言,只需要会按几个基本的VisutC++工具栏按钮就可以开始写Hello,World!而在Unix下,需要一些控制台操作的基本知识。有人也许认为Unix环境更简洁,但习惯的力量是很大的大家都很熟悉 Window基本操作,而为了学习C语言去专门装一个Unix系统,似乎有点不划算。

对于一个只懂得Window基本操作、连 DOS什么都不知道的新手而言,尽快做一些有趣而有意义的事情才是最重要的用C语言写一个小程序远比学习lscat等命令有趣,况且我要专注于C语言本身,就不得不暂时忽略一些东西,比如编译链接的过程、Makefil写法等等等等。

所以我建议初学者应该以VisualC++6.0不是VisualC++.NET或者DevC++作为主要的学习环境,而且千万不要在IDE使用技巧上过多纠缠,因为今后你一定要转向Unix环境的VisualC++6.0使用很方便,调试也很直观,但其默认的编译器对C标准的支持并不好,而DevC++使用gcc编译器,对C99标准都支持良好。使用顺带提一下,很多大学的C语言课程还在使用TurboC2.0作为实验环境,这是相当不可取的原因其一是TC2.0对C标准几乎没有支持,其二是TC2.0编译得到程序是16位的这对今后理解32位的程序会造成极大的困扰(当然,用djgpp之类的东西可以使TC2.0编译出32位程序,不过那过于复杂了

等你学完一本C语言的教材,一定要转向Unix平台继续学习,几乎所有的C语言高级教程都是基于Unix平台的比如《C专家编程》转变的过程是痛苦的需要面对的各种纷繁复杂的命令,完全不同于Window平台的思考方式,但是这种痛苦是值得的Unix与C共生的Unix思考方式和习惯更加符合C语言的思考方式和习惯。Unix下,可以找到无数优秀的源代码供你尽情阅读,可以方便地查看某个库函数的联机手册,还可以看到最优秀的代码风格(说到代码风格,会专门写一篇文章详细叙述)

归结起来就是一句话:编程初学者初学C语言,建议使用Window系统和集成开发环境,准备向“高手”方向努力时,请先转向Unix平台。

C语言编程新手自学手册好吗?好用吗。有没有用。这书合适新手吗?

C语言目前公认的最好的入门书是《C程序设计》谭浩强的。

其它书也许会超过它,但目前还没有发现,所以探索新书的任务还是交给别人吧。

进阶后你还可以看看C语言的“发明者”丹尼斯里奇的《C程序设计语言》,以及《c primer plus》,等熟通C语言后可以再看看《算法导论》,这是MIT的著名课程,网上能找到MIT讲师的视频教程,等把这些都学熟了,一个大师就诞生了。

以上我推荐的书都是业内公认最好的书,提醒一下:一般人最难跨过第一首坎--入门,很多人在这里放弃。楼主加油!

谁能为我提供一些学习c语言的资料(我要打印把它们打印出来看)?

C函数实例参考手册

http://www.codeguru.cn/CPP/CExample/

C\C++实例参考手册

http://www.codeguru.cn/CPP/cppExample/

Win32Api实例参考手册

http://www.codeguru.cn/VC%26MFC/Win32ApiExample/

MFC实例参考手册

http://www.codeguru.cn/VCMFC/MFCExample/

HTML实例参考手册

http://www.codeguru.cn/HTML/HtmlExample

Transact-SQL实例参考手册

http://www.codeguru.cn/Script/TransactSQLExample

ASP对象实例参考手册

http://www.codeguru.cn/Script/ASPObjectExample

Windows脚本实例参考手册

http://www.codeguru.cn/Script/WinScriptExample

十部算法经典著作 合集

http://www.codeguru.cn/cpp/10book

二级试题全集

http://www.codeguru.cn/cpp/2JiCShiTiJi

高质量C++/C编程指南

http://www.codeguru.cn/cpp/AdvanceC++-CProgramGuide

应用C++技术构建优质软件

http://www.codeguru.cn/cpp/AppliedCpp

ASCII码表

http://www.codeguru.cn/cpp/ASCII

C\C++语言程序百例

http://www.codeguru.cn/cpp/CC++YuanYanChenXuBaili

C++编码规范与指导

http://www.codeguru.cn/cpp/C++CodingGuide

C++PrimerPlus4th

http://www.codeguru.cn/cpp/C++PrimerPlus4th

C++语言程序设计课件(作者:郑莉)

http://www.codeguru.cn/cpp/C++ProgramingZhengLi

C++语言程序设计

http://www.codeguru.cn/cpp/C++YuYanChengXuSheJi

C语言函数示例集

http://www.codeguru.cn/cpp/CFunctionExamples

C高级编程技术

http://www.codeguru.cn/cpp/CGaoJiBianCheng

C语言技术文章

http://www.codeguru.cn/cpp/CLanguageArticle

C++疑难解答

http://www.codeguru.cn/cpp/CppAQ

C++实践之路

http://www.codeguru.cn/cpp/CppInAction

C++应用程序例解

http://www.codeguru.cn/cpp/CppProgramLiJie

C++参考

http://www.codeguru.cn/cpp/cppreference

CPrimerPlus5thEdition习题答案

http://www.codeguru.cn/cpp/CPrimerPlus5thEditionAnswer

C语言编程宝典之一

http://www.codeguru.cn/cpp/Cprogramdict

C语言参考手册

http://www.codeguru.cn/cpp/Creference

C语言学习和精华文摘

http://www.codeguru.cn/cpp/CStudyAndArticle

数据访问模式

http://www.codeguru.cn/cpp/DataAccessPatterns

数据结构与算法综合资料库

http://www.codeguru.cn/cpp/DataStructsLibrary

数据结构-严蔚敏

http://www.codeguru.cn/cpp/DataStructYanWeiMin

Effective C++

http://www.codeguru.cn/cpp/EffectiveCpp

GenericProgramming

http://www.codeguru.cn/cpp/GenericProgramming

设计模式迷你手册

http://www.codeguru.cn/cpp/MiniDesignPattern

经典排序算法

http://www.codeguru.cn/cpp/SortingAlgorithms

谭浩强C语言

http://www.codeguru.cn/cpp/TanHaoQiangC

TheC++ProgrammingLanguage3rdEd

http://www.codeguru.cn/cpp/TheC++ProgrammingLanguage3rdEd

TheCprogrammingLanguage

http://www.codeguru.cn/cpp/TheCprogrammingLanguage

TurboC2.0集成开发环境的使用

http://www.codeguru.cn/cpp/TurboC2ShiYong

用VC开发ACTIVEX

http://www.codeguru.cn/VCMFC/ActiveXProgramingWithVC

用DirctX9进行高级3D游戏程序设计

http://www.codeguru.cn/VCMFC/Advanced3DGameProgrammingwithDirectX9

APracticalGuideUsingVisual C++andATL

http://www.codeguru.cn/VCMFC/APracticalGuideUsingVisualCandATL

21天学会VC数据库编程

http://www.codeguru.cn/VCMFC/DatabaseProgrammingWithVisualC6In21Days

STL轻松入门

http://www.codeguru.cn/VCMFC/EasySTL

InsideAtl

http://www.codeguru.cn/VCMFC/InsideAtl

COM+组件服务技术内幕

http://www.codeguru.cn/VCMFC/InsideCOM+

MFC参考手册

http://www.codeguru.cn/VCMFC/MFCReference

Windows网络编程技术

http://www.codeguru.cn/VCMFC/NetworkProgramingForMicrosoftWindows

OGRE手册

http://www.codeguru.cn/VCMFC/OGREManual

OpenGL基础图形编程

http://www.codeguru.cn/VCMFC/OpenGLJiChuTuXingBianCheng

MFC程序设计

http://www.codeguru.cn/VCMFC/progmfc2

VC技术内幕

http://www.codeguru.cn/VCMFC/ProgramingVC

Windows核心编程

http://www.codeguru.cn/VCMFC/ProgrammingApplicationsforMicrosoftWindows

21天学会ActiveX编程

http://www.codeguru.cn/VCMFC/TeachYourselfActivexIn21Days

游戏编程大师技巧(第二版)

http://www.codeguru.cn/VCMFC/TricksofWinGameProgrammingGurus2ed

VC编程经验总结

http://www.codeguru.cn/VCMFC/VCBianChengJianYanZongJie

VC编程资料

http://www.codeguru.cn/VCMFC/VCBianChengZiliao

VC常见问题集(中文)

http://www.codeguru.cn/VCMFC/VCFaqsCN

VC高级编程

http://www.codeguru.cn/VCMFC/VCGaoJiBianCheng

vchome图形图像编程技术篇

http://www.codeguru.cn/VCMFC/vchomeGraph

VC知识库

http://www.codeguru.cn/VCMFC/vckbase

VC语言参考手册

http://www.codeguru.cn/VCMFC/VCLANG

vc++ 编程指南

http://www.codeguru.cn/VCMFC/VCProgramGuide

Windows程序设计

http://www.codeguru.cn/VCMFC/WindowsProgramming

Winsock程序员疑难解答

http://www.codeguru.cn/VCMFC/WinsockProgrammerFAQ

Microsoft编程精粹

http://www.codeguru.cn/VCMFC/WritingCleanCode

怎样学好C语言

一、如何学习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语言。C语言是编程的根基,也是最为深奥和灵活的语言。有了这篇文章的帮助相信大家会有一个学习方法。

关于c语言学习手册和C语言参考手册的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

相关应用

最新评论

我要评论