C语言系统编程好的书推荐下,要深入点的
最近我也在找这类的书,推荐几部不错的给你。
1、C Primer Plus<第5版>很经典的老外写的书。。
2、高质量程序设计指南:C++/C语言(第3版) 林锐博士写的书,很有名的。第1版和第2版部 分章节曾经在Internet上广泛流传,被国内IT企业的不少软件开发人员采用。后面附录的面 试题,经典中的经典。
3、C程序设计语言(第2版·新版) 美 克尼汉、里奇 著,徐宝文,李志译
C语言发明者对自己发明的完美诠释!
4、C专家编程 (美)林登(LinDen,P.V.D) 展示了最优秀的C程序员所使用的编码技巧,并专门开辟了一章对C++的基础知识进行了介绍。
5、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语言》
《C primer plus》 作者Stephen Prata
《c语言入门经典》作者霍顿 (Ivor Horton)
接下来,你就有基础博览群书了,每本书都有自己的知识点。你可以吸收补充自己需要的知识。
mini2440 连3.5寸屏500块钱的样子
有好几张DVD学习光盘
这款口碑比较高
嵌入式Linux操作系统学习规划
ARM+LINUX路线,主攻嵌入式Linux操作系统及其上应用软件开发目标:
(1) 掌握主流嵌入式微处理器的结构与原理(初步定为arm9)
(2) 必须掌握一个嵌入式操作系统 (初步定为uclinux或linux,版本待定)
(3) 必须熟悉嵌入式软件开发流程并至少做一个嵌入式软件项目。
从事嵌入式软件开发的好处是:
(1)目前国内外这方面的人都很稀缺。这一领域入门门槛较高,所以非专业IT人员很难切入这一领域;另一方面,是因为这一领域较新,目前发展太快,大多数人无条件接触。
(2)与企业计算等应用软件不同,嵌入式领域人才的工作强度通常低一些(但收入不低)。
(3)哪天若想创业,搞自已的产品,嵌入式不像应用软件那样容易被盗版。硬件设计一般都是请其它公司给订做(这叫“贴牌”:OEM),都是通用的硬件,我们只管设计软件就变成自己的产品了。
(4)兴趣所在,这是最主要的。
从事嵌入式软件开发的缺点是:
(1)入门起点较高,所用到的技术往往都有一定难度,若软硬件基础不好,特别是操作系统级软件功底不深,则可能不适于此行。
(2)这方面的企业数量要远少于企业计算类企业。
(3)有少数公司经常要硕士以上的人搞嵌入式,主要是基于嵌入式的难度。但大多数公司也并无此要求,只要有经验即可。
(4)平台依托强,换平台比较辛苦。
兴趣的由来:
1、成功观念不同,不虚度此生,就是我的成功。
2、喜欢思考,挑战逻辑思维。
3、喜欢C
C是一种能发挥思维极限的语言。关于C的精神的一些方面可以被概述成短句如下:
相信程序员。
不要阻止程序员做那些需要去做的。
保持语言短小精干。
一种方法做一个操作。
使得它运行的够快,尽管它并不能保证将是可移植的。
4、喜欢底层开发,讨厌vb类开发工具(并不是说vb不好)。
5、发展前景好,适合创业,不想自己要死了的时候还是一个工程师。
方法步骤:
1、基础知识:
目的:能看懂硬件工作原理,但重点在嵌入式软件,特别是操作系统级软件,那将是我的优势。
科目:数字电路、计算机组成原理、嵌入式微处理器结构。
汇编语言、C/C++、编译原理、离散数学。
数据结构和算法、操作系统、软件工程、网络、数据库。
方法:虽科目众多,但都是较简单的基础,且大部分已掌握。不一定全学,可根据需要选修。
主攻书籍:the c++ programming language(一直没时间读)、数据结构-C2。
2、学习linux:
目的:深入掌握linux系统。
方法:使用linux—〉linxu系统编程开发—〉驱动开发和分析linux内核。先看深,那主讲原理。看几遍后,看情景分析,对照深看,两本交叉,深是纲,情是目。剖析则是0.11版,适合学习。最后深入代码。
主攻书籍:linux内核完全剖析、unix环境高级编程、深入理解linux内核、情景分析和源代。
3、学习嵌入式linux:
目的:掌握嵌入式处理器其及系统。
方法:(1)嵌入式微处理器结构与应用:直接arm原理及汇编即可,不要重复x86。
(2)嵌入式操作系统类:ucOS/II简单,开源,可供入门。而后深入研究uClinux。
(3)必须有块开发板(arm9以上),有条件可参加培训(进步快,能认识些朋友)。
主攻书籍:毛德操的《嵌入式系统》及其他arm9手册与arm汇编指令等。
4、深入学习:
A、数字图像压缩技术:主要是应掌握MPEG、mp3等编解码算法和技术。
B、通信协议及编程技术:TCP/IP协议、802.11,Bluetooth,GPRS、GSM、CDMA等。
2010-8-21 16:46 回复
122.90.173.* 2楼
C、网络与信息安全技术:如加密技术,数字证书CA等。
D、DSP技术:Digital Signal Process,DSP处理器通过硬件实现数字信号处理算法。
说明:太多细节未说明,可根据实际情况调整。重点在于1、3,不必完全按照顺序作。对于学习c++,理由是c++不只是一种语言,一种工具,她还是一种艺术,一种文化,一种哲学理念、但不是拿来炫耀得东西。对于linux内核,学习编程,读一些优秀代码也是有必要的。
注意: 要学会举一反多,有强大的基础,很多东西简单看看就能会。想成为合格的程序员,前提是必须熟练至少一种编程语言,并具有良好的逻辑思维。一定要理论结合实践。
不要一味钻研技术,虽然挤出时间是很难做到的,但还是要留点余地去完善其他的爱好,比如宇宙,素描、机械、管理,心理学、游戏、科幻电影。还有一些不愿意做但必须要做的!
技术是通过编程编程在编程编出来的。永远不要梦想一步登天,不要做浮躁的人,不要觉得路途漫上。而是要编程编程在编程,完了在编程,在编程!等机会来了在创业(不要相信有奇迹发生,盲目创业很难成功,即便成功了发展空间也不一定很大)。
嵌入式书籍推荐
Linux基础
1、《Linux与Unix Shell 编程指南》
C语言基础
1、《C Primer Plus,5th Edition》【美】Stephen Prata着
2、《The C Programming Language, 2nd Edition》【美】Brian W. Kernighan David M. Rithie(K &R)着
3、《Advanced Programming in the UNIX Environment,2nd Edition》(APUE)
4、《嵌入式Linux应用程序开发详解》
Linux内核
1、《深入理解Linux内核》(第三版)
2、《Linux内核源代码情景分析》毛德操 胡希明著
研发方向
1、《UNIX Network Programming》(UNP)
2、《TCP/IP详解》
3、《Linux内核编程》
4、《Linux设备驱动开发》(LDD)
5、《Linux高级程序设计》 杨宗德著
硬件基础
1、《ARM体系结构与编程》杜春雷着
2、S3C2410 Datasheet
英语基础
1、《计算机与通信专业英语》
系统教程
1、《嵌入式系统――体系结构、编程与设计》
2、《嵌入式系统――采用公开源代码和StrongARM/Xscale处理器》毛德操 胡希明着
3、《Building Embedded Linux Systems》
4、《嵌入式ARM系统原理与实例开发》 杨宗德著
理论基础
1、《算法导论》
2、《数据结构(C语言版)》
3、《计算机组织与体系结构?性能分析》
4、《深入理解计算机系统》【美】Randal E. Bryant David O''Hallaron着
5、《操作系统:精髓与设计原理》
6、《编译原理》
7、《数据通信与计算机网络》
8、《数据压缩原理与应用》
C语言书籍推荐
1. The C programming language 《C程序设计语言》
2. Pointers on C 《C和指针》
3. C traps and pitfalls 《C陷阱与缺陷》
4. Expert C Lanuage 《专家C编程》
5. Writing Clean Code -----Microsoft Techiniques for Developing Bug-free C Programs
《编程精粹--Microsoft 编写优质无错C程序秘诀》
6. Programming Embedded Systems in C and C++ 《嵌入式系统编程》
7.《C语言嵌入式系统编程修炼》
8.《高质量C++/C编程指南》林锐
尽可能多的编码,要学好C,不能只注重C本身。算法,架构方式等都很重要。
这里很多书其实是推荐而已,不必太在意,关键还是基础,才是重中之重!!!
1.《C++语言基础教程(第2版)》
出版社:清华大学出版社
作者:吕凤翥
书中全面、系统地讲述了 C++语言的基本概念、基本语法和编程方法,较详尽地讲述了 C++语言面向对象的重要特征: 类和对象、继承和派生类、多态性、虚函数、函数模块和类模板等内容。本书具有丰富的例题,每章后面均备有相当数量的练习题和作业题。 全书通俗易懂,由浅入深,突出重点,偏重应用。本书不仅可作为高等学校 C++语言课程的教材,还可作为 C++语言的自学教材
2.《面向对象程序设计与C++语言(第二版)》
出版社:人民邮电出版社
作者:杨庚/王汝传/叶晓国
本书系统地介绍了面向对象技术及C++语言的相关知识。内容包括面向对象技术的概念和特征、C++语言基础、类和对象、派生与继承、虚函数与多态性、模板、运算符重载、输入/输出流库、异常处理等。 本书注重基本概念,从实际应用出发,突出重点,叙述清楚,深入浅出,论述详尽,使读者既能深刻领会面向对象程序设计的思想,了解面向对象程序设计的特征,又能掌握C++语言的...
3.《C++语言程序设计教程》
出版社:清华大学出版社
作者:杨进才/沈显君/刘蓉
C++语言是目前最为流行的程序设计语言,它既支持面向过程的结构化程序设计,也支持基于对象的面向对象程序设计。本书依据ANSI C++标准,从面向过程的编程到面向对象的编程方法展开,形成一条自然流畅的主线,同时两个部分又自成体系,以满足不同基础与需求的学习者。内容包括:C++编程简介、数据类型与表达式、控制结构、函数、构造数据类型、C++程序的结构、类与对象、继承
4.《C/C++程序设计教程》
出版社:机械工业出版社
作者:秦维佳/伞宏力/侯春光/孟艳红
本书是《C/C++程序设计教程》的配套学习辅导用书。. 全书共分12章,内容包括C/C++语言程序设计初步,C语言的数据类型及表达式,结构化程序设计,数组、函数与指针的概念和实例,结构体与共用体,位运算与文件的概念,面向对象程序设计,类的继承与多态,C++的I/O流。每章包括知识体系、学习要点、上机实训、习题和参考答案。.. 本书可供初学者学习C语言,也可供...
5.《C++程序设计基础导学》
出版社:科学出版社
作者:赵海廷/严运国
本书为是实践训练环节必不可少的辅助教材。本书按照《C++程序设计基础》的顺序组织编撰,由基本要求、内容小结、典型例题分析、习题、实验及习题参考答案组成。本书的目的是通过典型例题剖析、习题和实验环节来巩固所学的理论知识,提高学生的实践操作水平。 本书适用高职高专的理工科学生,也适合于C++语言的初学者,还可供普通高校理...
在此,我还想提出一点十分重要的概念:一门语言的最本质的东西就是其类型系统,任何语言都有自己的独特的类型系统,学习C++就是学习他的类型系统。所以首先需要彻底明白什么是数据类型这个概念。这样你的思路就清楚了,你有选择,从每一种C++支持的设计范型入手学习。
结构化设计-----也就是C++中的better c部分,你需要在C的基础上学会函数重载和引用这两个最重要的语言新特心性。
基于对象----你需要建立C++最强大的概念--类,也就是用户定义类型,这其实就是数据结构里面接触的抽象数据类型的概念,以及合理构造使用类的一系列语言措施。并始终记住,在C++进行设计时用类来表示我们需要表示的概念。类也是C++抽象机制里面最核心的概念。
面向对象----在这里你需要知道继承和多态这样的OO概念,以及句柄类这样常见的设计技术,这里你需要明白你开始进入了对接口编程的阶段。同时你要学会OO思想,C++的一些设施只是为了把OO思想在语言所支持的语义中充分的表示出来。但是在这里,同时你需要明白的C++能表示的语义是受到其当初语言设计原则限制的(什么原则?静态类型检查,不为不需要的东西付出代价,选择权在程序员手上语言本身不去强迫程序员的做出选择),也就是说C++所能表示的OO思想可以称为具有C++特色的OO思想了。这样的OO思想和JAVA所代表的纯OO哪个更好?没有定论,因为他们本身的设计理念就不一样。
泛型设计----这里你需要明白最重要的一点是C++的temlate机制无论其开始建立的初衷是什么,现在他所代表的真实含义是:编译时类型推导,也就是编译时多态,由此明白了泛型的核心---把各种类型当作一种抽象条件的具体化,C++有措施可以定义抽象条件吗?没有,所以这些条件只能定义在我们自己的心中,但我们可以把具体化的类型当作一种抽象条件实现在template机制中去,从而使tempalte成为比类型推导机制更进一步的东西,那就是抽象条件的推导。也就是说,我们不再把template接受的参数看成是类型,而是把template看成是一种接受抽象条件的机制,无论其类型如何,只要这种类型满足tempalte所接受的抽象条件就可以作为参数传递进去,这样就代表了一种泛型的思想-----类型不再是根本,抽象条件才是,类型不过是抽象条件的外衣和在C++中的实现方式而已。在结合基于对象和泛型设计这两种抽象设计模式的技术上诞生的工业产品就是---STL。
(二)书的诱惑
《C++程序设计语言》:如果你只买一本C++书,这本就是你的选择,作者Bjarne就是让你做出这样选择的全部理由,没有人能比他更了解什么样才是真正的使用C++编程了,有人说到这本书语言晦涩,或者对与初学者此书不适合,对此评论我颇不以为然,我看的是中文版,起码在我看来语言描叙非常到位,我喜欢这样的技术描叙风格。全书的核心就是告诉你如何去用正确的观念编写正确的C++的代码。强烈推荐。
《C++语言设计与演化》:这本书也是我同时拥有中英两版的两本书之一(另外一本是《设计模式》)。如果在得到上面的那本书之后你需要第二本,那么在我看来这就是你的选择,作者同样是Bjarne,他将在这本书中告诉你C++的起源与发展,语言原则与本质,各种特性加入的理由和考量,以及几乎一切关于C++有趣的故事。我阅读过中英两版,都是强烈推荐。
《C++标准程序库》:在AMAZON上面关于C++书籍评论最为火暴的一本。全书对于标准程序库的介绍可谓深入浅出,而且全书都是从实际运用出发,书中例子简单却非常说明问题,加上一些图表的陈列,使其概念十分清晰,而且从手册和学习两方面看都有其存在价值。强烈推荐。
《EFFECTIVE C++ 中文版》:无须多说,在任何C++书籍推荐目录中都可以找到这本书的身影,盛名之下必无虚士。主要强调的是运用C++的各种特性的时候所必须注意的地方,以及一些比较通用的设计手段。其短小精悍的语言自然非常适合快节奏的现代风格,个人就十分喜欢Meyer的写作方式。强烈推荐。
《MORE EFFECTIVE C++ 中文版》:做为上本书的姐妹篇,一样的写作风格,一样的写作目的。只是个人认为和其姐姐相比,存在差距,主要是信息量没有《EFFECTIVE C++ 中文版》那么大,主要说到了一些C++的设计惯用手法。推荐。
《C++ PRIMER 中文版》:同样是出自大师之手,作者LIPPMAN,作为早期C++编译器的实现者之一,对与C++的了解以及该如何论序都有自己的独到见解。做为C++的百科全书和《C++程序设计语言》有着一样的地位。但是前者更强调的是C++的语法和其语义,而后者则是以如何用C++进行合理设计做为描叙的中心。全书构思十分巧妙,书的一开始就直接进入C++的主题,前面五章都用类设计一个数据结构,让读者完全明白了各种用户定义类型所代表的抽象能力,然后直接进入第六章标准库中的容器类,这样的设计让读者十分清楚的建立容器和类这两个C++中十分重要的概念。这样的设计针对有一定基础的C++读者来说可以说是非常有效果的。但是对于初学者来说,这确实不是一本合适的书籍,因为一上来太多的名词会把刚刚接触C++的人吓着的。推荐。
《C++沉思录》:非常有特点的一本书,全书假设读者已经通晓C++语言,重点告诉读者C++的概念以及一些C++的设计手段,比如用C++到底为什么会比C或者其他过程语言更好?(书中给出的答案是,因为只有对象才有能力保持一定的状态,而算法没有这样的能力),如何进行抽象数据类型的程序设计,如何理解多态,如何通过代理隐藏继承,如何进行引用技数,为了效率如何进行缓时拷贝,以及模板技术是如何发展演进最后构成成STL库的。阅读感觉和《C++程序设计语言》一样,思想性非常强,读这样的书很累,脑子必须一直思考问题,思考作者里面提出的问题和他提出的解决方式。这本书最大的特点是非常直接的把C++语言的核心暴露出来-----三种抽象模型和极其语言设施本身对这三种抽象模型的支持。而《C++沉思录》给我的更深层思考是什么才是运用C++最合理的方式。推荐。
《C++ STL中文版》:很朴实,不花俏,但是价值很高。个人认为其主要价值体现在以下几个方面:1,对于STL的实现关键iterator一般都使用了两种方式描叙,一种比较老式的函数方法,一种是新的?traits技巧,这样读者可以非常清楚的知道技术的演进。2,提供了一个STL LITE版本,阅读这样的代码对自己的提高非常大。3,书中提供的测试模块对于读者来说也是非常有的一章,对于想扩展STL的,可以按照上面提供的方法测试自己的STL组件。缺点:装订比较粗糙,与大师之作的地位不相称。推荐
《C++ PRIMER PLUS 中文版》:一本思想性不是很强,技巧性不是很强的书,但是对于初学者来说非常合适的书。其中许多论序方式都和具体化,总体来说,这本书是我看过的C++书籍里面最合适初学者的。推荐。
《深度探索C++对象模型》:这也是一本比较特别的书,告诉你编译器是如何安排处理对象的内存空间的,以及一些OO特性是如何实现的。不认为这是一本C++必须读物,算是课后读物应该比较合适吧,因为有时间了解C++的OO实现还不如花点时间搞清楚OO理论的本质概念:type theory。推荐。
《C++设计新思维——泛型编程与设计模式之应用》:可谓C++中的奇书。这样的一本书,很难让人做出正确的评价与推荐指数(尤其是以我这个实用和人生本就应该享乐为人生观的人来说~:),因为全书所代表的思想前卫到了有点不切实际的地步,模式+泛型—多么高雅的组合。我个人的观点是,只有一部分人需要阅读此书,他们就是所谓的real c++ fans,暂且不提C++本身是否遇到了困难,就其书中所代表的设计思想,对于C++没有一点感情的程序员(感情就是以爱好为基础,而不是以攒钱为前提),我想对于这样的设计技术总会有晕的感觉,而一般程序员多半都不会喜欢这样的感觉~:)。推荐。
《对象揭秘:Java、Eiffel和C++》:从书名就可以看出这本书不仅仅和C++有关系。可以说全书就是对C++的一次批判吧(书也起源与作者的一篇批判C++的文章)。有时候听听另外一种声音对自己保持清醒的头脑是非常有帮助的,对待一个人,对待一本书以及对待一门程序设计语言都是如此。这本书好象不是很火,大概跟其宣传不是很到位,或者同能同时了解这三门语言并比较关心这些语言深层次的优略的读者比较少有关系吧,在我看来这本书包含了许多对象与类型方面的理论,最为出彩的就是作者抓住Bjarne的“在C++中一个类就是一个类型”这样的“错误”言论狠批的论证过程。看这本书另外一个好处是能教会大家该如何去合理的辩驳自己的对手~:)。推荐。
《大规模C++程序设计》:书在手上很久了,可一直没有仔细看,这也是评论之前必须说明的。总体看来书中涉及的很多东西都鲜见于其他读本。不管AMAZON上的评论是否是这本书比较过时,起码它介绍的许多对与我来说都是我所不知道不了解的,别人说过时是他的事情。而我,还是推荐。
《STL和泛型编程》:难得的一本关于泛型编程的理念书籍,同样也是作为手册和学习两用,但是其手册不是使用手册,而是概念手册,对于设计自己的STL组件,这本书有非常好的帮助,虽然网上有篇STL的文档,其中的70%内容和这本书雷同,但此书仍不失可读性。推荐。
《C++编程思想 第二版》:非常一般的书,是的这就是我对这本很多人奉为名著的评论,至于为什么是这样的评论,或者你不相信我说的是客观话,在你买了之后看完就知道了。一般。
《Essential C++中文版》:总感觉这本书定位不是很清楚,因为对于初学者来说其开始就涉及了太多的名词,初学者看这本书,几乎就不要指望能很好的入门。而对于进阶者来说,其内容并无新意,对于C++高手来说,这样的小读本,根本就没有阅读的必要,也许是LIPPMAN+JJHOU的盛名吧,但我觉得这次算是有虚士了~:)。一般。
《STL源码剖析》:侯SIR的大陆两本著作之一,但在我心中其质量好象并不如很多人说的那样好,就同类作品《C++ STL中文版》相比较内容略现单薄,并且三章之后很多东西都给人以堆砌的感觉,而且大部分精彩的材料都出自《STL和泛型编程》一书,给人感觉书中侯SIR自己的东西并不多,但第二章对于内存管理有很好的论叙表现,并且装订精良,尤其是那些图更是侯SIR的拿手好戏,但总体感觉有点华而不实。一般。
后面列出两本不推荐的,具体原因也就不再分析。
《高质量程序设计指南--C++/C语言》,《C++编码规范》
另外两本常见的C++书籍:
推荐几本LINUX应用软件入门书籍
《嵌入式Linux应用开发完全手册》
《嵌入式Linux应用程序开发标准教程》
《嵌入式Linux.C语言应用程序设计》
下面 才是重点,绝对经典书籍:
入门篇
《LINUX权威指南》书不错,写的很全面也比较广,涉及的不深,做为入门书籍不错,可以比较全面的了解linux。另外比较热门的也可以看看《鸟哥的私房菜》等书,偏管理类的书。如果想做server方向的可以找来看看。
驱动篇
《LINUX设备驱动程序》就是网上说的“LDD”,经典之作,必备书籍。国产经典《Linux驱动详细解》也是一本非常不错的书,很实用,书中源代码分析比较多,基于2440的,对linux外围驱动有很全面的讲解
内核篇
浙江大学的《LINUX内核源代码情景分析》,外国鬼子的《莱昂氏UNIX源代码分析》还有《深入理解linux内核》都是出名的经典巨作。另外赵炯的《LINUX内核完全剖析--基于0.12内核》也非常不错,对内核代码进行了详细的注释,非常有助于对内核的理解和代码的分析。
shell篇
《LINUX与UNIX Shell编程指南》
应用编程
不用说了肯定是《unix环境高级编程》被称为unix编程的圣经。
TCP/IP篇
《TCP/IP详解》作者W.Richard Stevens也是《unix环境高级编程》的作者,牛人出的书没有一本不是经典的。但是英年早逝,默哀一下。
c语言
《The C Programming Language》正是作者造出来的c语言,书能垃圾就怪了
《c和指针》和《c缺陷和陷阱》两本必备。包含了c语言最容易出错的地方,加深c语言功力的好材料。
关于算法
《算法导论》
《深入浅出MFC》
不过建议读这本前先读
如果你想做C++程序员 必看三本书:
《C++ Primer 》
《Effective C++》
《高质量程序设计指南--C++/C语言》林锐著
前面两本英文版看不懂可以看中文版
这些都比较深入和细致的讲C++,
而《深入浅出MFC》这是教你如何用VC++做图形界面和它的原理