理清学习思路和方法!正确快速的达内C++培训的小编为初学C语言的学员推荐一些C语言的入门书籍,帮助学员们学习C语言的时候不迷茫,能够正确和快速的理清学习思路和方法!
[了解和认知c语言]
你正计划着通过看书来学习C语言吗?“书籍是人类最忠诚的朋友“。海明威一定知道书籍对一个人一生的重要性。书籍是知识的丰富来源。你可以从书中学到各种知识。书籍可以毫无歧视地向读者传达作者的本意。C语言是由DennisRitchie在1969年到1973年在贝尔实验室研发的。C语言可以把程序简单地编译为机器指令,使得它成为了最高效的语言。
为什么在程序员中,C语言如此流行呢?这背后有很多原因。首先,它独立于平台,可以运行在MAC、Linux、UNIX和PC各种环境中。它是UNIX系统以及其他同样结构的系统的默认语言。同时,它是一种多用途的语言,它可以用于编写设备的驱动程序、桌面应用、嵌入式系统和DBMS(数据库管理系统)。这也就是说,你可以使用C语言写几乎所有需要的程序。
[17本c语言入门书籍推荐]
1.《C程序设计语言》
这本书由C语言之父合著编写。它提供了对C语言的更好见解。比如在C语言中的控制流、运算符、数据结构和函数构造等方面,这本书都有自己的解释。书中所有概念都有合适的例子,以助读者理解。如果你想要学习一种更好的编程范式,代码重用或是注释的重要性。那么,这本书最适合你。书后的系列练习很有挑战性,可以让你通过每一个练习有所提高。
这本书并不好读。但是,这是必读的一本书。我建议,你在读完一本简单的教程之后,再阅读这本书。书中有很多章节需要很长的时间,才能深入理解和掌握。
2、《C语言程序设计:现代方法》
这本书以一种独特的方法解读了C语言。C语言已经经历了一些变化,这本书高效介绍了这些变化。书中的程序都是用纯C代码编写,使得程序有很好的可移植性。这本书鼓励读者独立思考,并且鼓励你找到更有效的解决问题的方法。对C语言感兴趣的学生,这是一本很好的课堂教材。
3.《AbsoluteBeginner’sGuideToC》第二版,作者GregPerry
【更新】:这本书也有中文版《写给大家看的C语言书》,感谢刘江在评论中补充。
PS:亚马逊等几大电商网站都无货中。
书如其名,这本书是特别为没有编程经验的程序员编写的。这本书从基本的I/O命令,比如printf()、scanf()讲起。在此基础上,也进一步讲解了数据结构、内存中的堆结构、循环和自定义函数。这本书以清晰的讲解模式,帮助读者更简单地理解C语言。同时,书中也简单介绍了C语言中用到的基本语法和标识符。
4.《CPrimerplus》第5版
这是目前市场上,最适合自学的C语言书籍。你可以在书中找到所有C语言编程概念的详细解释。这本书为每一个单独的概念提供了简短的例子,帮助读者更好理解。比如,指针这一章节就体现了这个特点。指针章节是本书编写最出色的章节之一。指针用来标识内存中的具体位置并且存放相应内存地址。书中参照了最新的ANSI标准C99。对于初级程序员来说,本书对学习基本概念大有帮助。这些概念在其他语言(比如:PHP和JAVA中)也有所应用。
5.《C专家编程》
你是准备进一步提高编程技巧的C语言专家吗?《C专家编程》就是为你准备的,它可以帮助程序员理解高级的C语言概念。它强调程序员常用的一些最佳C语言技巧。这本书写得十分有趣,展现了作者在SUN系统(SUNSYSTEM)中的丰富经验。这本书还定义了一些传统的编程方式,比如使用不同的声明方式。同时,本书还提供了很多实用的编程实践提示,比如,指针和数组之间的差别。
一开始,借助书本学习C语言可能有些困难。但是,这些书用最好的方式介绍了C语言中的基本概念。借助这些书,你可以从学习基本的C语言开始,一直深入到学习C语言编程中的高级技巧。完成书中的练习很重要。在实现这些习题的过程中,你可以高效理解和学习有关概念。这些书,也为你继续学习其他高级语言,比如C++、JAVA,提供了基础。
6.《C语言程序设计》
作者:[美]BrianW.Kernighan,[美]DennisM.Ritchie著
出版社:机械工业出版社
在计算机发展史上,没有哪一种程序设计语言像C语言这样应用的如此广泛。本书原著即为C语言的设计者之一DennisM.Ritchie和著名的计算机科学家BrianW.Kernighan合著的一本介绍C语言的权威经典著作。目前大量论述c语言程序设计的教材和专著均以此书为蓝本。原著第一版中介绍的C语言成为后来广泛使用的c语言版本——标准C的基础(K&R标准)。人们熟知的“HelloWorld”程序就是由本书首次引入的。
7.《CPrimerPlus》
作者:[美]StephenPrata著
出版社:人民邮电出版社
作者把编程概念和c语言的细节很好地融合在一起。通过大量短小精悍的范例演示一两个概念,为读者提供了很好的练习机会,有助于读者迅速掌握所讲的知识。《CPrimerPlus(第五版)中文》专门针对C语言的最新标准C99而作,覆盖了这个新标准所引入的所有重要的新特性,包括扩展的整数类型、变长数组、内敛函数等
8.《数据结构与算法分析——c语言描述》
作者:[美]MarkAllenWeiss著
出版社:机械工业出版社
本书是《DataStructuresandAlgorithmAnalysisinC》一书第二版的简体中译本。原书曾被评为20世纪顶尖的30部计算机著作之一,作者MarkAllenWeiss在数据结构和算法分析方面卓有建树,他的数据结构和算法分析的著作尤其畅销,并受到广泛的好评,已被世界500余所大学用作教材。
掌握C库函数,具备编写网络程序及系统函数的能力
高级:系统的程序设计接口
在巨大的数据面前如何以最快的速度返回需要的数值,或许是初学者对本部分最常见的理解。在Linux系统中,目录是是”/”根节点为源头的树桩结构,Linux内核中的源代码也大量充斥着数据结构的知识。对于程序员来说,本部分可以对算法不做深入了解,但必须掌握的是这些常见数据结构及算法的使用,如链表,二叉树以及最常用的排序方法等。
9.《深入理解计算机系统》
作者:[美]RandalE.Bryant[美]DavidO'Hallaron著
出版社:中国电力出版社
从程序员的视角,看计算机系统!本书适用于那些想要写出更快、更可靠程序的程序员。通过掌握程序是如何映射到系统上,以及程序是如何执行的,读者能够更好的理解程序的行为为什么是这样的,以及效率低下是如何造成的。粗略来看,计算机系统包括处理器和存储器硬件、编译器、操作系统和网络互连环境。而通过程序员的视角,读者可以清晰地明白学习计算机系统的内部工作原理会对他们今后作为计算机科学研究者和工程师的工作有进一步的帮助。它还有助于为进一步学习计算机体系结构、操作系统、编译器和网络互连做好准备。
10.《Unix网络编程卷1:套接字联网API》
作者:[美]W.RichardStevens[美]BillFenner[美]AndrewM.Rudoff著
出版社:人民邮电业出版社
顶级网络编程专家BillFenner和AndrewM.Rudoff应邀执笔,对W.RichardStevens的经典作品进行修改。本书面向的读者是那些希望自己编写的程序能够使用称为套接字(socket)的API进行彼此通信的人。本书达到的目标是向大家提供网络编程指导。这些内容不仅适用于专业人士,也适用于初学者。不仅适用于维护已有代码,也适用于开发新的网络应用程序;此为,还适用于那些只是想了解一下自己系统中网络组件的工作原理的人。
11.《Unix环境高级编程》
作者:[美]W.RichardStevens[美]StephenA.Rago著
出版社:人民邮电出版社
十多年来,无数程序员都依靠一本书深入理解驱动Unix和Linux内核的编程接口的实用知识,这本书就是已故的W.RichardStevens所著。W.RichardStevens是备受赞誉的技术作家,生前著有多种经典的传世之作,包括《Unix网络编程》(两卷)、《TCP/IP详解》(三卷本)和本书
12.《TCP/IP详解卷1:协议》
作者:[美]W.RichardStevens著
出版社:机械工业出版社
完整而详细的TCP/IP协议指南。描述了属于每一层的各个协议以及它们如何在不同操作系统中运行。作者用LawrenceBerkeley实验室的tcpdump程序来捕获不同操作系统和TCP/IP实现之间传输的不同分组。对tcpdump输出的研究可以帮助理解不同协议如何工作。
13.《GNUMake》
作者:[美]RobertMecklenburg著
出版社:东南大学出版社
尽管出现了许多新兴的竞争者为何make仍旧是开发项目中编译软件的道选工具。本书主要探索GNumake所提供的强大扩充功能。GNumake之所以广受欢迎是因为它是一个自由软件,并且几乎可以在包括微软Windows(作为Cygwin)的每个平台上使用。
14.《C专家编程》
作者:[美]PeterVanDerLinden著
出版社:人民邮电出版社
本书可以帮助有一定经验的C程序员成为C编程方面的专家,对于具备相当的C语言基础的程序员,本书可以帮助他们在C的高度了解和学习C++
15.《C陷阱与缺陷》
作者:[美]AndrewKocnig著
出版社:机械工业出版社
AndrewKoenig自己在Bell实验室时发表的论文为基础,结合自己的工作经验扩展成这本对C程序员具有珍贵价值的经典著作。写作《C陷阱与缺陷》的出发点不是要批判C语言,而是要帮助C程序员绕过编程过程中的陷阱和障碍。
《C陷阱与缺陷》所揭示的知识,至少能够帮助你减少C代码和初级C++代码中90%的Bug。
——FrancisGlassborow,ACCU主席
16.《C和指针》
作者:[美]KennethA.Reek著
出版社:人民邮电出版社
本书通过对指针的基础知识和高级特性的探讨,帮助程序员把指针的强大功能融入到自己的程序中去。全书共18章,覆盖了数据、语句、操作符和表达式、指针、函数、数组、字符串、结构和联合等几乎所有重要的C编程话题。本书适合C语言初学者和初级c程序员阅读,也可作为计算机专业学生学习C语言的参考。
[第二种c语言入门书籍推荐方案]
基础(C语言入门,初学,编程基础)
《C语言程序设计:现代方法》(第2版)(CProgramming:AModernApproach,2ndEdition,K.N.King)
《深入理解计算机系统》(修订版或第2版)(ComputerSystems:AProgrammer'sPerspective,RandalE.Bryantetal),阅读建议
《C语言程序设计》(第2版)(TheCProgrammingLanguage,BrianW.Kernighan&DennisM.Ritchie)
《程序员修炼之道》(ThePragmaticProgrammer:FromJourneymantomaster,AndyHunt&DaveThomas)
内核/驱动
《Linux内核设计与实现》(第3版)(LinuxKernelDevelopment,3rdEdition,RobertLove)
《Linux设备驱动程序》(第3版)(LinuxDeviceDriver,3rdEdition,JonathanCorbetetal)
《深入Linux内核架构》(ProfessionalLinuxKernelArchitecture,WolfgangMauerer)
应用
《UNIX环境高级编程》(AdvancedProgrammingintheUNIXEnvironment,W.RichardStevens)《UNIX网络编程》(UnixNetworkProgramming,W.RichardStevens)
进阶
《C陷阱与缺陷》(CTrapsandPitfalls,AndrewKoenig)
《C专家编程》(ExpertCProgramming,PetervanderLinden)
《ARM嵌入式系统开发:软件设计与优化》(ARMSystemDeveloper'sGuide:DesigningandOptimizingSystemSoftware,AndrewSlossetal)