1. c语言哪本书最好
潭浩强
清华大学出版社
学C语言的99%都用他的书
以下在网络上看到对他的书的评价
按∶
谭浩强
教授编写的
《C程序设计
》一书受到广泛的欢迎和高度评价。下面刊登几所大学讲授C语言
课程
的老师对《C程序设计》一书的评价意见。
清华大学计算机与信息管理中心
承担着清华大学非
计算机专业
的“计算机软件技术基础”课,自1994年起选用清华大学出版的谭浩强教授编写的《C程序设计》一书作为本课程教材,取得了很好的教学效果,深受师生们的欢迎,现正使用第二版作为
教材
。此书的特点及对教学的
促进作用
主要表现在以下几方面:
1.内容全面,实用性强
此书涵盖了程序设计
基础知识
及C语言程序设计的全部内容,并介绍了大量常用
算法
。通过学习此教材,初学程序设计的学生可以达到熟练运用C语言进行小规模应用开发的能力。
2.讲解透彻,深入浅出
此书对
概念
讲解透彻,使初学
计算机程序设计
的学生不仅学习了一种
高级语言
,而且能够对相关基础知识有准确深入的理解,例如在介绍
变量
的存储类型时、介绍指针时都对
计算机
的
存储管理
做了清楚的论述,使读者知其然也知期所以然。广大非计算机专业的学生学习
计算机课程
的学时很少,没有足够的
时间系统
地学习计算机专业基础知识。因此像这样将必要的基础知识融会贯通到程序设计课程中,对学生的
知识结构
建设以及今后的深造和提高都大有裨益。
3.通俗易懂,易于自学
此书的一个突出优点就是,语言优美、举例生动、
浅显易懂
。学生在学习C语言之前,普遍有些畏难情绪,因为听说C语言比较难学。的确C语言最初是面向专业
开发人员
的。但是读了
这本书
之后,学生们不再惧怕C语言。很多学生说,读这本书不仅
学会
了C语言,而且读的
过程
本身就是一种享受,不像有些专业书籍,堆砌大量技术
名词
,艰涩难懂。由于这本书易于自学,给我们的教学工作带来很大帮助,使我们可以达到精讲多练,逐步实现教师指导下的学生自主式
学习模式
。
4.结构清晰,循序渐进
由于本书结构清晰,
知识点
明确,循序渐进的内容组织方式非常符合
初学者
的认知
规律
,因此给教师组织
课堂教学
提供了很好的指导。我们按照这本书的内容结构组织教学,取得了学生和
教务处
的一致好评。
5.习题丰富,利于复习
计算机程序设计是一门实践性很强的课程,因此仅仅通过阅读教科书或听课是不可能掌握的,学习程序设计的最重要环节就是实践。本书每章都附有大量习题,并且有配套的习题解答,非常有利于学生复习巩固课上所学的知识。也便于教师设计
实验课
的
教学内容
。
2. 推荐比较好的c语言教材
作为一个初学者呢,还是先看看国内大神的书吧,比如说谭浩强的《C程序设计》,最好多看几遍,然后呢,看看数据结构,严蔚敏的那个《数据结构》。当楼主能够解决书上的大多数题目的时候,看看《The
C
Programming
Language》,这个可是经典之作呢,不过有难度呢。
然后就是各种技巧书籍《C和指针》,《C语言深度解剖》,《UNIX高级环境变量编程》等等,后面还有很多,相信楼主一步步看过来,会具体知道什么是好书的!!
国内有些书,不要乱看,回糊弄自己的,深受其害!!!
就比如说
常见的
void
main(),根本没这回事情呢!
祝楼主好运哦!!
3. C语言入门书籍比较好的有啥
别看谭浩强的了,那个是给考二级c的人看的,想学真的理论东西最好别看那个。
入门书;
《c primer plus》
进阶;
《c和指针》、《c 陷阱与缺陷》、《你必须知道的495个c语言问题》,《c专家编程》这几本就差不多了。这4本不用本本都看,但是一定要翻烂至少两本。
高级的以后再说吧,以上就够琢磨的了
4. 学习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语言,你还要具体情况具体分析。
写到最后,还有非常非常重要的一点没有提及──代码风格,从最开始学习就必须强迫自己模仿最优秀的代码风格。因为代码风格太重要内容也太多,我会用专门的一篇文章来详细讨论,请大家关注《程序员之路──关于代码风格》。
5. 初学c语言用什么教材好,求推荐
想看国内的还是国外的?
国内的看谭浩强的《c语言程序设计》,虽然褒贬不一,不过依然是本很好的教材。国外的就选《C Primer Plus》,C语言的入门经典,很厚的一本书(初学者千万别被吓到……),课后习题一定要都自己做了,这本书会让你打下很牢的基础。
综合来说,毕竟是国人,先看看谭浩强的吧,《C Primer Plus》对初学者来说啃起来很难,看完谭的再看《C Primer Plus》会好很多。
注:另外也可以看《Head First C》,虽然我没看过,但Head First 系列评价一直不错,我看的是这系列中的Python教程,编书的风格很好,如果不喜欢教科书式的枯燥内容,Head First系列就是不错的选择,让你的学习不那么枯燥并且快速入门。看完后再看《C Primer Plus》(当然其他c语言基础教程书也行),绝对可以事半功倍。
看到别的评论说到指针,虽说对初学者来说有点早,不过我也补充一下(不知道指针的话可以先略过下面这段话):对于指针,记住一句话:“指针中存的是地址。”这也是指针的定义,永远不要忘了这句话,万变不离其宗,指针函数、函数指针、数组指针、指针数组、常量指针、指针常量、指向常量的常量指针……很头疼的东西,但不要觉得它难,觉得难只会让它越来越难,第一次学学不透不要紧,知道基本概念即可。学完了c再回头来看指针,抓住它定义的那句话,无非就是一个存地址的。以前我也混乱过,然后清晰了,然后又混乱……周而复始,混乱的时候无一例外都是被指针指来指去搞晕了,而忘记了它的定义——一个存地址的。后来看了一本书,名字我忘了,好像是C和指针,很薄的一本书,很经典的教材,这才算彻底理清了指针,也把指针中存的是地址这句话真正记在了心上,然后任何复杂的例子都是一眼明了,当同学还在为指针困惑时,我也在为他困惑:这么简单的例子有什么好困惑的?(哈哈,当时确实被同学们奉为大神了,允许我装一下)。所以对于指针不要怕,记住它的本意,再复杂的例子也可以由里到外慢慢肢解,第一遍看不透不要急眼,过后再看,有了基础可以再找一找c和指针这本书,它会让你豁然开朗。
6. 学习c语言看什么书好
最近很多人都在问如何学习编程。我觉得学习编程最重要的是入门,如果你入门的时候有一个好的方法和思路,打下比较扎实的基础,对今后的编程工作是很有益处的。即使在学习新的编程语言也无所谓,因为它们有很多相通之处,可以相互借鉴。
我认为可以先学习一下pascal,这个语言比较严谨,适合初学者。pascal它被称为教学语言,结构严谨,不像C语言那么灵活,易于理解和学习。
然后可以继续学习C语言,这个语言比较灵活。有了pascal的基础,在进行C语言编程就不会因为C语言的灵活而有问题
。后面的就可以学习VC什么的了。
C语言的书推荐谭浩强的,比较好。
我当时学习pascal和C语言的时候是将书后的习题都做了一遍,感觉效果很好。
当然了,学习什么语言也要看你具体准备从事什么行业。例如你要进行嵌入式开发,C就是很好的选择,如果是Windows开发,那么VC就不错。还有数据库方面的开发、网络开发等等。不同的语言适合不同的方面。要看自己的选择的,呵呵
。
还有很多人说自己的基础很差,甚至中学毕业什么的。其实这个并不重要,比较说英语,在计算机语言里所用到的单词量很少,而且都是常用词,经常使用就记住了。当然,如果你要看原文资料或者帮助的话,专业词汇比较多,不过在金山词霸的帮助下,经常看,也是没什么大的问题的。至于数学什么的,其实数学只是培养你一个逻辑思维能力,在初学编程的时候影响不是很大。况且,作为一个基础编程人员来说,上面还有系统分析师、项目经理,他们会把需求分析、概要设计和详细设计做好的,你只要按照文档写代码就OK了。不过,要上更上一步的话,其他基础知识就非常重要了,毕竟你不能写一辈子代码。
在你学习好C语言以后,个人建议好好学习一下数据结构和软件工程。这两门对你的水平提高都是很有帮助的。特别是软件工程,它能够使你按照科学的工程方法进行软件开发,对今后的发展很有好处。
只是一家之言,有不到之处,还望见谅
7. 自学C语言用什么书好
谭浩强的《c语言程序设计》讲的内容比较适合考试,所以老师会推荐用它来做教材。但如果你纯粹是要自学的话,我很推荐《21天学通c语言》,人民邮电出版社的,它的纸张很好,让你觉得有种专业的感觉。从内容上说,它设计了21天的课程,由浅入深,很适合初学者拿来自学。在下当时就是对这本书爱不释手,在老师正式上课之前,就已经基本学完了书上的课程了。
8. C语言编程入门 用什么教材最好简单易懂的
《啊哈C》小学生坐在马桶上都能读懂的C语言入门书。你可以试一试。
9. 初学者学习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平台。
10. 自学c语言 零基础 看什么书 该怎么学
现在,市面上的
C语言书籍多的数不过来,但是很多不适合你这种初学者使用,作为一名老程序员,我给你推荐几本我看过认为还不错的书:
1)
《C语言小白变怪兽》:既适合对计算机一窍不通的小白,也适合有编程基础的读者,还可以用来进阶。同时,最重要的是,这本书的作者还在不断地更新这本书,我认为最大的特点是通俗易懂,深入浅出,只要认真看,就一定能看懂,我认为这是C语言入门的首选教材,吐血推荐,经典中的经典!!!
2)
《啊哈C语言》:适合对计算机一窍不通的纯小白,有编程基础的读者请忽略。这本书语言幽默,生动形象,通俗易懂,给人耳目一新的感觉,但是这本书非常浅显,并不深入,所以适合纯小白入门,找到门以后也就扔了。这本书着重于语言艺术,针对纯小白下足了功夫,小学生坐在马桶上都能学会编程。说实话,我非常欣赏作者的创意和用心,国内像这样写书的少之又少,入门的书就应该是这个样子。
上边这两本书是我推荐给你用于C语言入门的,我不建议你使用谭浩强的《C语言程序设计》这本书入门,虽然这本书的知名度很高,因为很多大学把它作为C语言的授课教材,然而,这本书被吐槽最多,不但代码不标准,而且有很多错误,据说可以找出几十个错误,这样很容易误导你这种小白。
等你有一定的C语言基础了,可以看下面的这几本书,进一步提升你的编程水平:
1)
《C
Primer
Plus》:畅销
30
余年的C语言入门经典书籍,至今无人能撼动它的地位,它是最符合C语言标准的书籍,作为一名C语言程序员,不收藏一本都觉得自己很水。
2)
《C程序设计语言,The
C
Programming
Language》:C语言创始人丹尼斯·里奇(Dennis
MacAlistair
Ritchie)的着作,和《C
Primer
Plus》并驾齐驱,很难分出伯仲,这两本书都是一样的优秀,都是C语言程序员必须收藏的。
3)
《C专家编程》:适合已经具备C语言基础、想进阶的读者。这貌似是一本吐槽C语言的书,基本上介绍了大多数C语言的坑,有不少精髓,在C语言界久负盛名,进阶时一定要看。
4)
《C陷阱与缺陷》:和《C专家编程》类似,也是给C语言挑刺的,阐述了很多容易让人误解的语法细节,重在帮助C程序员绕过编程过程中的陷阱和障碍。
5)
《程序员的自我修养
--
链接、装载与库》:这真是一本深入骨髓的书,让你彻底明白程序的编译、链接、装载和运行的全过程,你会从此上天,拉开和别人的差距,看任何问题都有了深度和高度。重点推荐!
所有的这些书我都有电子版,需要可以找我要!