c语言系统学习与进阶:

1. C primer plus

C primer plus 作为一本被人推崇备至的 c 入门经典,C primer plus 绝非浪得虚名。应该 
算得上 C 教材里最好的入门书了。    
在知识广度上,很少有书能匹及。它能为你系统学习 c 提供一个良好的平台。作者对 c 
的见解精辟。在娓娓叙述的同时,作者辅以大量程序以分析。它让我对 C 有了更加系统的全 
新认识。决非国人所写的那些公理化的教条说教,我觉得作者把自己的心血全部吐露。书很 
厚,近 700 页,却不没有让我觉得任何的烦琐。甚至是兴趣盎然。我把上面所有的课后题目 
都做了。    
最为重要的是,看完这本书后,我再也不觉得c 很高深枯燥无味了。如果你问我,你最 
大收获是什么。  我会告诉你,兴趣!

2. The C programming language

拿到这本薄薄的书,很多人开始怀疑, C 语言是这么几百页能讲清楚的么。看完这本书, 
我想答案已经很明了,却真的让人感到震憾。什么是好书?无法删减的书才是真正的好书。   
K&R 的书一如 C 语言的设计理念:简单而高效 里面的习题建议都认真做一遍,而且是 
在 linux 下用 vi 来做,用 makefile 来编译,用 shell 脚本来进行测试,本来第八章的题就 
是和 linux 相关的 计算机的大学生们不应只会在 WINDOWS 下用 VC 来编程,而都应该在 
linux 环境下进行程序设计,因为 linux 本身就是为开发者准备的操作系统。

3. C和指针

这本书最大的特点就是和指针结合在一起进行讲解, 通过一些经典的 C 例题对所学的知 
识进行巩固,对指针的基础和深入的探讨,有助于初学者更好的理解 C 语言,还有明白 C 
的存储机制。我之前买了《C 语言详解》和《C Primer Plus》结合这本书一起学习,可以 
说是完美的,希望每个热爱 C 语言的人能够拥有这本书。   
我在这里推荐给所有想学好 C 语言的朋友!

4.C 专家编程

感觉这本书的特色:   
1.全书如一部优美的故事,但听作者娓娓道来. 
2.语言风趣活泼,除了 c 语言,还教会了我们很多做人做事的道理.   
3.作为 Sun 公司的工程师,内功极深,不迷信任何权威,还经常调侃下 ANSI C 委员 
会,ISO 组织和 GNU 的作品(如 GCC).    
4.把 c 讲解到了一个很高的层次,深入剖析了其他书上没有提到过的好东西.

5. C缺陷与陷阱

很好的书,不是初级读物,但也不过于艰深,而且厚度刚刚好,让人在热情高涨阶段读 
完,不致于到了一半时间就气馁。 
对于 C 程序员来说,特别是对于入门没多久,有过一段时间编程经验的新手来说,是本 
很少的书。告诉你在 c 语言编程时常常可能会遇到到问题。例如老的库函数中字符串处理函 
数中存在的一些问题,如何规避。指针越界,野指针等带来的问题等等。非常值得阅读。

6. C标准库

C 标准库“圣经”,提供完整源代码,全面深入阐述库函数的实现与运用。C 程序员必 
备参考书。本书是由世界级 C 语言专家编写的 C 标准库经典著作。英文版已经重印十多次,

影响了几代程序员。本书结合 C 标准的相关部分,精辟地讲述了每一个库函数的使用方法和

实现细节,这正 是一个真正的 C 程序员所必须掌握的。更重要的是,书中给出了实现和测试

这些函数的完整 源代码。可以让你更深入地学习 C 语言。不仅如此,本书还讨论了一些即使

是最有经验的 C 程序员通常也不熟悉的知识,比如国际化和独立于区域设置的程序的编写、与

构建库相关的概念和设计思想。

7.C语言解惑

就内容而言,本书不深,适合初学者加深一下,或者作为学习的辅助资料。内容也

不多, 不会引起恐惧。学编程语法是必须,更重要的内容是学会语法以后要多读人的思想。而且

本书的编排比较有趣,虽然内容不多,但处处精华,需要多想想才能体会作者深意。

算法书籍:

学计算机的人是幸福的,因为在这个领域中有如此多的通俗易懂(相对来说)的经典好书,你需要做的只是坚持把它们一本一本读下去而已。在这里列出一些我看过或者准备看的算法书籍,以供参考。

1. CLRS 算法导论 算法百科全书,只做了前面十几章的习题,便感觉受益无穷。

2. Algorithms 算法概论 短小精悍,别据一格,准经典之作。一个坏消息: 同算法导论,该书没有习题答案。好消息:习题很经典,难度也适中,只需花点点时间自己也都能做出来。另有中文版名《算法概论》,我没看过,不知道翻译得怎么样。如果有心的话,还是尽量看原版吧,其实看原版与看中文版花费时间不会相差很大,因为大部分时间其实都花费在做习题上了。

3. Algorithm Design 算法设计 很经典的一本书,很久之前看的,遗憾的是现在除了就记得它很经典之外其它都忘光了。

4. SICP 计算机程序的构造和解释 六星之书无需多言,虽然这不是一本讲算法的书,但看完此书有助于你更深入的理解什么是递归。我一直很强调习题,看完此书后你至少应该做完前四章的太部分习题。否则那是你的遗憾,也是作者的遗憾。

5. Concrete Mathematics 具体数学 有人说看TAOCP之前应该先弄清楚这本书的内容,要真是如此的话那我恐怕是看不到TAOCP了。零零碎碎的看了一大半,很多东西都没有时间来好好消化。如果你是刚进大学不久的本科生,有着大把的可自由支配时间,那你幸运又幸福了,花上几个月时间好好的读一下此书吧,收获绝对大于你的期望值。

6. Introduction to The Design and Analysis of Algorithms 算法设计与分析基础 很有趣的一本算法书,有许多在别的书上找不到的趣题,看完此书绝对能让你大开眼界,实在是一本居家旅行,面试装逼的必备佳作。

7. 编程之美--微软技术面试心得 虽说是一本面试书,但如果把前面十几页扯掉的话,我更愿意把它看作是一本讲解题思维的算法小品。在书中,作者通常是给出一个平常解法,然后再一次又一次的优化改进,你可以很清楚的看到基本的算法设计思想是如何得到运用以解决实际问题的。如果你已经有了一些算法的基础,看完本书应该能使你的算法应用能力得到一定的提高。另外,本书生动有趣,也同样适合于初学者。

8. Fundamentals of Algorithmics 算法基础 也是很久之前在学校图书馆借来看的,内容记不太清楚了,只隐约记得此书的动态规划章节犹为出彩。应该是很经典的一本书,个人以为足以和算法导论等所谓当世经典平分秋色,但是怎么好像被人提到的不多,或许是我孤陋寡闻了。

9. How to solve it 怎样解题 二十世纪最伟大的数学思想家之一波利亚的力作,讲一般性的解题方法:怎么认识问题,怎么转换问题,怎么解决问题,如何在问题中得到启发,如何找到一个通往答案的方向。

10. Programming interviews exposed 程序员面试攻略 一本消遣之作。个人以为要比国内的某“XXX面试宝典”纯粹一些,至少也有一些启发性的内容,而不单单是面试题解库。

11. Programming Pearls 编程珠玑 学习算法不仅需要像Alogrithms,算法导论这样的重量级的内功心法,像《编程之美》、《编程珠玑》这样的轻量级的轻功身法也必不可少。前些年网上不是很流行像“给你10亿个数,找到最大的n个”或者“给你10亿个数,找出现次数最多的那个数”之类的百度面试题吗?看了此书你就知道怎么解决了。相比于《编程之美》来说,本书中的示例技巧性略低一些,但是也更有实际应用价值一些。

12. 算法艺术与信息学竞赛 如果算法导论是九阳神功,那这本无疑就是九阴真经。本书是专为参加一些诸如ACM之类程序设计比赛的同学而写的,江湖人称“黑书”。里面讲的都是一些在编程比赛中常用的算法、数据结构,以及一些数论和计算几何等。我虽然并不搞竞赛,但也从此书中受益颇多。

13. An Introduction to Probability Theory and Its Applications 准备看的,现在才发现概率论有多么重要,可惜本科的时候没有好好学。前不久一个同学问我个问题,我半天弄了一个程序给他,他说:这里就不是相关系数么,Excel一下就完事!我晕,我还真不知道那就是相关系数。

14. Numerical Analysis 这本的作者是Richard L. Burden,J. Douglas Faires 数值分析,讨论各种数值算法,比如插值、拟合、积分、微分方程的求解、线性和非线性方程组求解等。准备详细看。

15. TAOCP 计算机程序设计艺术 传说中的TAOCP,说的人多,看的人少。TAOCP四卷堪称是算法藏经阁中的易筋经或者是少林七十二绝技。天下武学,尽出少林,天下算法,尽出TAOCP也。这点你可以顺便翻开一本算法书看看他的引用文献就知道了。

推些C语言与算法书籍的更多相关文章

  1. linux内核中的C语言常规算法(前提:你的编译器要支持typeof和type)

    学过C语言的伙伴都知道,曾经比较两个数,输出最大或最小的一个,或者是比较三个数,输出最大或者最小的那个,又或是两个数交换,又或是绝对值等等,其实这些算法在linux内核中通通都有实现,以下的代码是我从 ...

  2. C语言经典算法 - 多维矩阵转一维矩阵的代码

    下边内容内容是关于C语言经典算法 - 多维矩阵转一维矩阵的内容,应该能对码农也有好处. #include <stdio.h>#include <stdlib.h>int mai ...

  3. 一张有料的图片!!!附文件-图片合成器C语言实现算法

    凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 1.打开F盘,先找两个文件,一个是压缩文件(2.rar),另一个是一张图片(1.jpg),将其放到F盘目录下, ...

  4. C语言查找算法之顺序查找、二分查找(折半查找)

    C语言查找算法之顺序查找.二分查找(折半查找),最近考试要用到,网上也有很多例子,我觉得还是自己写的看得懂一些. 顺序查找 /*顺序查找 顺序查找是在一个已知无(或有序)序队列中找出与给定关键字相同的 ...

  5. C语言排序算法之简单交换法排序,直接选择排序,冒泡排序

    C语言排序算法之简单交换法排序,直接选择排序,冒泡排序,最近考试要用到,网上也有很多例子,我觉得还是自己写的看得懂一些. 简单交换法排序 /*简单交换法排序 根据序列中两个记录键值的比较结果来对换这两 ...

  6. c/c++面试总结---c语言基础算法总结2

    c/c++面试总结---c语言基础算法总结2 算法是程序设计的灵魂,好的程序一定是根据合适的算法编程完成的.所有面试过程中重点在考察应聘者基础算法的掌握程度. 上一篇讲解了5中基础的算法,需要在面试之 ...

  7. c/c++面试指导---c语言基础算法总结1

    c语言基础算法总结 1  初学者学习任何一门编程语言都必须要明确,重点是学习编程方法和编程思路,不是学习语法规则,语法规则是为编程实现提供服务和支持.所以只要认真的掌握了c语言编程方法,在学习其它的语 ...

  8. R语言分类算法之随机森林

    R语言分类算法之随机森林 1.原理分析: 随机森林是通过自助法(boot-strap)重采样技术,从原始训练样本集N中有放回地重复随机抽取k个样本生成新的训练集样本集合,然后根据自助样本集生成k个决策 ...

  9. c语言经典算法——查找一个整数数组中第二大数

    题目: 实现一个函数,查找一个整数数组中第二大数. 算法思想: 设置两个变量max1和max2,用来保存最大数和第二大数,然后将数组剩余的数依次与这两个数比较,如果这个数a比max1大,则先将max1 ...

随机推荐

  1. 15套精美的免费界面设计 PSD 素材【免费下载】

    在这个集合中,我们聚集15套精美的 PSD 界面设计模板,网页元素,用户界面​​工具包,扁平化图标,APP 应用程序 UI 设计的等等.这些来自优秀设计师的 PSD 源文件素材让其它的设计师们在设计用 ...

  2. Cool!12幅由小图片组成的创意图像重组作品

    这里分享15幅创意插图作品,这些创意插图作品都是有成千上万的小图片组成的,很多创意广告会采用这个形式的设计.下面这组创意作品的作者是 Charis Tsevis,来自希腊的视觉设计师,擅长图像重组的创 ...

  3. Rainyday.js – 傻眼了!竟然有如此逼真的雨滴效果

    Rainyday.js 是一个轻量的 JavaScript 库,利用 HTML5 Canvas 实现雨滴下落在玻璃表面的动画效果.Rainyday.js 尽可能的模拟现实的雨滴效果,几乎可以以假乱真了 ...

  4. rsync同步Nginx日志遇到问题总结

    一.目的 将nginx 日志通过普通用户利用rsync公钥认证的方式实时同步到本地服务器上,之后使用elk程序进行处理. 二.遇到问题及解决方法思路 问题1.文件权限:nginx 的日志默认权限如下: ...

  5. python编码问题的最终分析

    python初学者,往往因为字符编码的问题而苦恼不已,本人也是阅读了大量的博客,再进行了一定的测试,基本搞清楚了编码问题的前因后果.下面一段代码是在python3.5上的,以它为例进行讲解(请忽略糟糕 ...

  6. IOS开发UI基础UISwitch属性

    UISwitch属性1. onTintColor   处于on时switch 的颜色
    switchImage.onTintColor = [UIColor grayColor];2.tintC ...

  7. IOS开发UI基础UITextFidle相关属性

    UITextFidle相关属性 •    enablesReturnKeyAutomatically默认为No,如果设置为Yes,文本框中没有输入任何字符的话,右下角的返回按钮是disabled的. ...

  8. [Tool] 源代码管理之Git

    本节目录 什么是Git 什么是GitHub 安装Git GitHub之Repository GitHub之托管页面 常用Git 命令 什么是Git 由于现在的开发多人协同办公,因此出现源代码管理工具 ...

  9. 0422 发现( 数学口袋精灵)bug

    团队博客地址: 甘佳萍:http://www.cnblogs.com/gjpg/ 李鹏飞:http://www.cnblogs.com/l549023320/ 赵创佳:http://www.cnblo ...

  10. jsckson,想说爱你不容易啊。。。406错误

    最近使用spring4.0的Mvc,json请求时,客户端报错,406 Not Acceptable 解决方法一: 1.导入第三方的jackson包,jackson-mapper-asl-1.9.7. ...