第一篇:学习C语言的经典书籍
PART 1.推荐经典书籍(内容不全,慢慢补充)
①C语言:(读完之后请混CSDN论坛进行巩固)
《C语言程序设计》
作者:郭有强 编
出 版 社:清华大学出版社
评价:书很利索,该有的都有,如果你还没有一本满意的C语言课本,买它没错。(也可以阅读外国的经典C语言书籍)
《C和指针》
POINTERS ON C Kenneth A.Reek、徐波 人民邮电出版社
评价:不算厚的书,纠正对指针的错误理解,这是必读经典,相信会带给你很多思考。(单单一本还不够,继续往后看)
《C陷阱与缺陷》
Andrew Koenig、高巍
人民邮电出版社
评价:172页,应当1-2天看完,读完豁然开朗,对C语言常见的陷阱进行剖析,必须经典。
《C专家编程》
Expert C Programming Deep C Secrets Peter Van
Der Linden 人民邮电出版社(2008-02出版)
评价:200多页,应当2天左右看完,本书读起来很舒坦,不可多得的好书,带你领略语法之外的奥秘,必读经典。
②数据结构与算法:
《清华大学计算机系列教材•数据结构(C语言版)(附光盘1张)》
吴伟民、严蔚敏
清华大学出版社
评价:数据结构都是类C的伪代码描述,初次接触编程的同学可能理解不了,我也一样。我是看严蔚敏视频学会的数据结构,希望这个办法对你们也同样有效。
《计算机算法设计与分析(第3版)》
王晓东
电子工业出版社
评价:这是我们的课本,不过的确是学习它才把数据结构和算法入门了,为后面进阶做了铺垫。
《算法艺术与信息学竞赛•算法竞赛入门经典》
刘汝佳
清华大学出版社
评价:了解数据结构怎么用,常用算法与思想,书不厚,但很给力。初学可能有障碍,但这的确是入门经典书籍,请不要放弃。
《算法导论(原书第2版)》
科曼(Cormen T.H.)、等、潘金贵
机械工业出版社(2006-09出版)
评价:经典中的经典,无需多说,不要问我看哪些内容,负责任的说:有能力就多看点,其实都能看懂,书中的内容与思想将会终身受用。
《编程之美:微软技术面试心得 》
《编程之美》小组
电子工业出版社
评价:微软出品,像是一本小故事集,将数学和编程之美展露无疑,学起来很轻松,反复回顾收获颇丰。
《编程珠玑(第2版)》
Jon Bentley、黄倩、钱丽艳
人民邮电出版社
评价:主要是数据结构和算法,都是常用的内容,不过作者思维新奇,跟随作者一起思考会碰撞出不少火花,评价非常高的一本书,本人没有顺序阅读,感兴趣的内容翻了翻。
《算法艺术与信息学竞赛 》
刘汝佳
清华大学出版社
评价:放在最后,因为此书的确很专业,我这点智商也驾驭不了,信息学竞赛必备。
《程序员面试宝典(第3版)》
欧立奇、刘洋、段韬
电子工业出版社
评价:这本书很神奇,大二下学期的时候我就买了并看完了,等到大三找工作的时候发现里边的提到的陷阱题目还是有点意思的,C语言掌握的怎么样拿这本书验一验就知道了。
《数学之美》
(《浪潮之巅》作者吴军最新力作,李开复作序推荐,Google黑板报百万点击)
评价:吴军博士那是相当犀利,《浪潮之巅》足以让人拜服了,此书一出无与争锋,放在数据结构与算法这里比较合适。
第二篇:c语言书籍总结
关于这个方向,我认为大概分3个阶段:
1、嵌入式linux上层应用,包括QT的GUI开发
2、嵌入式linux系统开发
3、嵌入式linux驱动开发
嵌入式目前主要面向的几个操作系统是,LINUX,WINCE、VxWorks等等
Linux是开源免费的,而且其源代码是开放的,更加适合我们学习嵌入式。
所以你可以尝试以下路线:
(1)C语言是所有编程语言中的强者,单片机、DSP、类似ARM的种种芯片的编程都可以用C语言搞定),因此必须非常熟练的掌握。
推荐书籍:《The C Programming Language》 这本经典的教材是老外写的,也有中译版本。
(2)操作系统原理,是必需的,如果你是计算机专业毕业那也就无所谓了,如果是非计算机专业的就必须找一本比较浅显的计算机原理书籍看一看,把啥叫“进程”“线程”“系统调度”等等基本问题搞清楚。
(3)Linux操作系统就是用C语言编写的,所以你也应该先学习下Linux方面的编程,只有你会应用了,才能近一步去了解其内核的精髓。
推荐书籍:《UNIX环境高级编程》(第2版)
(4)了解ARM的架构,原理,以及其汇编指令,我们在嵌入式开发中,一般很少去写汇编,但是最起码的要求是能够看懂arm汇编。
(5)系统移植的时候,就需要你从最下层的bootloader开始,然后内核移植,文件系统移植等。而移植这部分对硬件的依赖是非常大的,其配置步骤也相对复杂,也没有太多详细资料。
(6)驱动开发
linux驱动程序设计既是个极富有挑战性的领域,又是一个博大精深的内容。
linux驱动程序设计本质是属于linux内核编程范畴的,因而是对linux内核和内核编程是有要求的。在学习前你要想了解linux内核的组成,因为每一部分要详细研究的话足够可以扩展成一本厚书。
以上只不过是大概的框架,在实际的开发中还会涉及很多东西,比如:交叉编译、makefile、shell脚本等等,所以说学习嵌入式的周期较长,门槛较高,自学的话更是需要较强的学习能力和专业功底。只要能坚持下来一定会取得成功!
其实LZ可以到一些嵌入式培训机构的网站上看一下他们的课程设置,就会在脑子里有个清晰的思路,比如华清远见的嵌入式linux课程设置就很专业,华清远见网站上的嵌入式内容很丰富,嵌入式方面的信息更新也很迅速,没事可以去转转
第三篇:linux和C语言经典书籍
思想篇
《Linux/Unix设计思想》
图书将Unix与Linux的原理有效地结合起来,总结了Unix/Linux软件开发中的原则。在保留了第1版中Unix方面的内容的同时,强调了Linux和开源领域的新思想。
入门篇
《Linux程序设计(第4版)》
《Linux程序设计》是Linux程序设计领域的经典名著,以简单易懂、内容全面和示例丰富而受到广泛好评。中文版前两版出版后,在国内的 Linux爱好者和程序员中也引起了强烈反响,这一热潮一直持续至今。《Linux程序设计(第4版)》内容组织更加严谨,译者更是细心雕琢,保留了这部 权威著作的原汁原味。对Linux所提供的功能全面而准确的阐述,以及贯穿全书的示例程序体验,使本书不仅成为初学者的最佳Linux程序设计指南,而且是中高级程序员不可或 缺的参考书。
进程篇
《理解Unix进程》
本书是唯一一本专为现代web开发人员准备的Unix编程书。书中所有的例子都是用Ruby写成,适用于所有具备高级语言经验的程序开发人员。书的重点内容如下:
1.文件描述符及其运作机制 2.何时才需要守护进程
3.如何用fork(2)创建新进程 4.退出进程的4种不同的方式
5.对于生成shell命令的实际考量以及如何避免这种情况 6.从高级层面上讨论了创建进程所带来的开销及陷阱 7.Resque和Unicorn的内部工作原理
内核篇
《深入Linux内核架构》
《深入Linux内核架构》是非常值得Linux程序员阅读的图书,堪称是Linux内核的详解。
书中讨论了Linux 内核的概念、结构和实现。主要内容包括多任务、调度和进程管理,物理内存的管理以及内核与相关硬件的交互,用户空间的进程如何访问虚拟内存,如何编写设备 驱动程序,模块机制以及虚拟文件系统,Ext 文件系统属性和访问控制表的实现方式,内核中网络的实现,系统调用的实现方式,内核对时间相关功能的处理,页面回收和页交换的相关机制以及审计的实现等。此外,本书借助内核源代码中最关键的部分进行讲解,帮助读者掌握重要的知识点,从而在运用中充分展现Linux 系统的魅力。
shell篇
《Linux Shell脚本攻略》(第2版版权已确定)
《Linux Shell脚本攻略》 是Linux Shell 编程的实战秘籍,程序员的独门攻略:准备,动手,一举成功!
对新手而言,本书的内容由浅入深且紧贴实践,使得他们能够快速地学以致用,而专业人士也能从本书中发现一些新鲜的东西,使自己的技巧更加纯熟。
《Linux命令行与Shell脚本编程大全(第2版)》 图书堪称黑客进阶必读,让你轻松全面掌握命令行和shell
全书分为四部分:第一部分介绍Linuxshell 命令行;第二部分介绍shell 脚本编程基础;第三部分深入探讨shell 脚本编程的高级内容;第四部分介绍如何在现实环境中使用shell 脚本。本书不仅涵盖了详尽的动手教程和现实世界中的实用信息,还提供了与所学内容相关的参考信息和背景资料。本书内容全面,语言简练,示例丰富,适合于Linux 系统管理员及Linux 爱好者阅读参考。
应用 编程
不用说了肯定是《UNIX环境高级编程(第2版)》被称为unix编程的圣经。本书内容权威,概念清晰,阐述精辟,对于所有层次UNIX程序员都是一本不可或缺的参考书。
还有《UNIX网络编程》可当字典来查阅。
TCP/IP篇 《TCP/IP详解》卷1、2、3作者W.Richard Stevens也是《unix环境高级编程》的作者,牛人出的书没有一本不是经典的。但是英年早逝,默哀一下。
c语言
推荐两本日本图书 《明解C语言》
荣获日本工学教育协会著作奖,是日本C语言入门第一书,畅销20余万册。这本《明解C语言》讲的都是很基本的东西,高楼平地起,他强调着最最基础、同时也是最最重要的东西。书中不仅图文并茂且示例丰富,设有190段代码 和164幅图表,对C语言的基础知识进行了彻底剖析,内容涉及数组、函数、指针、文件操作等。对于C语言语法以及一些难以理解的概念,均以精心绘制的示意 图,清晰、通俗地进行讲解。
《征服C指针》
被称为日本最有营养的C参考书。作者是日本著名的“毒舌程序员”,其言辞犀利,观点鲜明,往往能让读者迅速领悟要领。
书中结合了作者多年的编程经验和感悟,从C语言指针的概念讲起,通过实验一步一步地为我们解释了指针和数组、内存、数据结构的关系,展现了指针的常 见用法,揭示了各种使用技巧。另外,还通过独特的方式教会我们怎样解读C语言那些让人“纠结”的声明语法,如何绕过C指针的陷阱。
鸟哥的LINUX私房菜也是非常好的入门书籍
C 语言”部分还有即将出版的《Head First C 中文版》
第四篇:C语言书籍推荐(范文模版)
一、入门级书籍推荐
1.C Programming:A Modern Approach(C语言程序设计:现代方法)
简介:《C语言程序设计:现代方法》是C语言的经典之作,被誉为“近10年来最好的一部C语言著作”。书中 讨论了标准C和C标准库的全部特性,包括信号、setjmp/longjmp和可变参数列表等其他书中很少涉及的内容。全 书由易而难、循序渐进、螺旋式地讲述C语言,很好地处理了指针和位运算等难点。第2版覆盖了C99标准,并提供 了对所有C99库函数的参考,还扩展了GCC的内容,增加了对抽象数据类型的讨论,并针对新CPU和操作系统做了更 新。《C语言程序设计:现代方法》尤为强调软件工程和现代编程理念,在知识的阐述中突出工业界的最佳实践、实际经验和编程风格,使读者能够合理运用所学,编写出可读性好、可靠性高和容易维护的代码。书中精心选择 了近500道习题,贴近实战,与叙述文字相得益彰。
目前《C语言程序设计:现代方法》已被全球200多所学校采用为教材,包括哈佛大学、麻省理工学院、斯坦福 大学、加州大学伯克利分校、耶鲁大学、加州理工学院等诸多名校。C语言程序设计
2.C Primer plus 5th 内容提要:
本书全面讲述了C语言编程的相关概念和知识。
全书共17章。第1、2章学习C语言编程所需的预备知识。第3到15章介绍了C语言的相关知识,包括数据类型、格式化输入输出、运算符、表达式、流程控制语句、函数、数组和指针、字符串操作、内存管理、位操作等等,知识内容都针对C99标准;另外,第10章强化了对指针的讨论,第12章引入了动态内存分配的概念,这些内容更加适合读者的需求。第16章和第17章讨论了C预处理器和C库函数、高级数据表示(数据结构)方面的内容。附录给出了各章后面复习题、编程练习的答案和丰富的C编程参考资料。
本书适合希望系统学习C语言的读者,也适用于精通其他编程语言并希望进一步掌握和巩固C编程技术的程序员。作者简介:
Stephen Prata在加利福尼亚州的Kentfield的Marin学院教授天文学、物理学和程序设计课程。他在加州工业学院获得学士学位,从加州大学伯克利分校获得博士学位。他最早接触计算机,始于对星河的计算机建模。Stephen已经编写或与他人合作编写了十多本书。其中包括C++Primer Plus和Unix Prinmer Plus.3.谭浩强 第三版
国内非常普及的学语言入门书籍,很多学校都是用它作为教材,对于C语言入门来说比较通俗易懂。不过书中有些地方不够严谨,需要注意一些问题。下载地址:(百度文库)
http://wenku.baidu.com/view/ccc7cd868762caaedd33d455.html 二.提高级书籍推荐
1.The C Programming Language Second Edition
by Brian W.Kernighan, Dennis M.Ritchie.Prentice Hall PTR
C程序设计语言 第2版·新版
本书是由C语言的设计者Brian W.Kernighan和Dennis M.Ritchie编写的一部介绍标准C语言及其程序设计方法的权威性经典著作。全面、系统地讲述了C语言的各个特性及程序设计的基本方法,包括基本概念、类型和表达式、控制流、函数与程序结构、指针与数组、结构、输入与输出、UNIX系统接口、标准库等内容。
本书的讲述深入浅出,配合典型例证,通俗易懂,实用性强,适合作为大专院校计算机专业或非计算机专业的C语言教材,也可以作为从事计算机相关软硬件开发的技术人员的参考书。
在计算机发展的历史上,没有哪一种程序设计语言像C语言这样应用如此广泛。本书原著 即为C语言的设计者之一Dennis M.Ritchie和著名的计算机科学家Brian W.Kernighan合著的 一本介绍C语言的权威经典著作。我们现在见到的大量论述C语言程序设计的教材和专著均以 此书为蓝本。原著第1版中介绍的C语言成为后来广泛使用的C语言版本—— 标准C的基础。人们熟知的“hell, World”程序就是由本书首次引入的,现在,这一程序已经成为所有程序设 计语言入门的第一课。原著第2版根据1987年制定的ANSIC标准做了适当的修订.引入了最新的语言形式,并增加了新的示例,通过简洁的描述、典型的示例,作者全面、系统、准确地讲述了C语言的各 个特性以及程序设计的基本方法。对于计算机从业人员来说,本书是一本必读的程序设计语 言方面的参考书。
下载地址:http://
3.C Traps and Pitfalls(C陷阱与缺陷)
作者以自己1985年在Bell实验室时发表的一篇论文为基础,结合自己的工作经验扩展成为这本对C程序员具有珍贵价值的经典著作。写作本书的出发点不是要批判C语言,而是要帮助C程序员绕过编程过程中的陷阱和障碍。
全书分为8章,分别从词法分析、语法语义、连接、库函数、预处理器、可移植性缺陷等几个方面分析了C编程中可能遇到的问题。最后,作者用一章的篇幅给出了若干具有实用价值的建议。
本书适合有一定经验的C程序员阅读学习,即便你是C编程高手,本书也应该成为你的案头必备书籍。
《C陷阱与缺陷》Andrew Koenig Andrew Koenig的成名作,能帮助初学者减少90%的错误。一些错误(比如赋值符、运算符优先级等)还是不时的会在自己的程序里出现,只是已经打过预防针了,很容易发现。
下载地址:http://?from=like
5.C Interfaces and Implementations(C语言接口与实现)
本书概念清晰、内容新颖、实例详尽,是一本有关设计、实现和有效使用C语言库函数,掌握创建可重用C语言软件模块技术的参考指南。本书倡导基于接口的C语言设计理念及其实现技术,深入详细地描述了24个C语言接口及其实现。本书通过叙述如何用一种与语言无关的方法将接口的设计与实现独立开来,从而形成一种基于接口的设计途径来创建可重用的API。本书是一本针对C语言程序员的不可多得的好书,也是值得所有希望掌握可重用软件模块技术的读者阅读的参考书籍。
下载地址:(百度文库)http://wenku.baidu.com/view/4573cf2d2af90242a895e57b.html
第五篇:c语言学习总结
(1)两个if并列的时候,if函数是有先后顺序的。
如 iMax = a;
if(b > iMax)
{
iMax = b;
}
if(c > iMax)
{
iMax = c;
}
printf(“三个数的最大值是:%dn”,iMax);
(2)
printf(“请输入机票价格:”);
scanf(“%f”,&fTicketPrice);
(3)%5.2f的意思是以长度为5,小数点后面2位的形式输出。
(4)闰年判断((iYear % 400 == 0)||(iYear % 4 == 0 && iYear % 100!= 0))