有什么好的适合初学者看的C语言书籍吗? C语言初学者看什么书 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程序设计》比较好,里面知识点讲的清楚明白,看书的同时要把书后的题目做做,要把程序运行的过程想明白。学C语言一定要自己多写,只有自己多写写才能发现程序编写时需要注意的问题。还有就是多看看别人写的程序,很多都是很有启发的。个人认为用C语言编程的时候要注意为伪代码,也就是运算过程,只要把运算过程的算法想明白了,写程序就简单了。总之,多看多写多想,C语言不难。

C语言程序设计疑难解析与技巧300例...这本不错比那些所谓的教科书强多了...解析清楚详细....具体哪一本好,最好自己去看看才好...

学习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 编译器(例如:Windows 系统下面的 Microsoft Visual C++),并照着书上的例题,一字一句地将教材中的例题,输入到电脑的 C 语言编译器中。但是同时又要注意:绝对、绝对不能够只是机械地照着把教材中的程序输入到编译器中,编译、链接、一运行程序结果,看程序跑通了、正确了,就一切 都 OK 了,那么这样是绝对不能够熟练掌握 C 语言编程技术的!!
必须要:用心、用脑去体会、并且调试、理解书上的每一行 C 程序源代码中的具体含义。还有就是必须要学会举一反三的能力!!绝对不能够说我只会编写书上每章后面的程序,如果别人给你更换了程序需求、或者又提出了新的程序需求,自己又不会编写了。那是绝对不行的。这就是我学习编写程序的亲身体会,供你参考。祝你能够在较短时间里面取得较大的进步。

零基础如何自学C语言?
答:1. 《C Primer Plus》:它是一本经典的C语言入门教材,适合零基础学习者。这本书内容清晰易懂,并提供了大量的示例代码和练习题,帮助你逐步掌握C语言的概念和技巧。2. 《C语言程序设计现代方法》:这本书以实例为基础,将C语言的基础概念与实际应用结合起来。它通过具体的示例,帮助你理解C语言的...

c语言基础知识入门书籍有哪些?
答:而《C Primer Plus 6》相对于第5版又做了一个全新的升级,在完整度、示例运行、详细度上更进一步,读起来不会枯燥乏味。3、《C++ Primer Plus(第6版)中文版》被誉为“开发人员学习C++的必备教程,没有之一”!一本经久不衰的c++入门畅销书适合,从未学习过C语言甚至没学过编程的零基础小白。从...

大学自学编程你一定不能错过这些
答:它让我对C有了更加系统的全新认识。 《Java编程思想》 本书赢得了全球程序员的广泛赞誉。从Java的基础语法到最高级特性 ( 深入的面向对象概念、多线程、自动项目构建、单元测试和调试等),本书都能逐步指导你轻松掌握 《Python编程:从入门到实践》 这是一本快速,全面的Python语言入门教程,适合初学者,他们希望学习...

C语言入门经典书籍有哪些?
答:学习C语言可以给编程职业生涯提供牢固的基础,也有助于更好地理解更为现代的语言(如Java)。2.C语言编程:一本全面的C语言入门教程(第三版)C语言编程:一本全面的C语言入门教程(第三版)是一本极负盛名的C语言入门经典教材,其第一版发行至今已有20年的历史。本书内容详实全面,由浅入深,示例丰富...

学习c语言看什么书
答:学习C语言的书如下:1、《C primer plus》这本书作为一本被人推崇备至的C入门经典,绝非浪得虚名。应该算得上C教材里最好的入门书了。在知识广度上,很少有书能匹及。它能为系统学习C提供一个良好的平台。作者对C的见解精辟,在娓娓叙述的同时,作者辅以大量程序以分析。对C有了更加系统的全新认识...

自学c语言 零基础 看什么书 该怎么学
答:现在,市面上的 C语言书籍多的数不过来,但是很多不适合你这种初学者使用,作为一名老程序员,我给你推荐几本我看过认为还不错的书:1)《C语言小白变怪兽》:既适合对计算机一窍不通的小白,也适合有编程基础的读者,还可以用来进阶。同时,最重要的是,这本书的作者还在不断地更新这本书,我认为...

学习C语言的好书有哪些啊?
答:你好,很高兴回答您的问题。个人建议看《C primer plus》、《写给大家的C语言书》、《C语言解惑》、《你必须知道的495个C语言问题》、《编程精粹》、《C标准库》等国外优秀著作。 还有一个 ::C语言入门经典(第4版)作者:出版:清华大学 出版日期:2008年04月 本书是编程语言先驱者Ivor Horton...

C语言初学者(自学),应该用什么书?
答:推荐四本适合初学者的书籍 《C和指针》《C primer Plus》《C陷阱与缺陷》《C程序设计》C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

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

您好,陌生朋友,请问零基础的新手想学习C语言,要从哪里开始?看哪本书...
答:2.谭浩强的《C语言程序设计》是清华大学的老教授写的一本大学教程,确实比较适合中国学生,特别是初学者的学习!(不要怕网上的一些对此书的负面的评论,毕竟这本书刚成书的中国国情决定的,但毕竟这本书成就了现在的很多C语言大咖,从书的版次和销量也说明了这本书的当时畅销程度),反正从一个C语言...