建议你刚刚学完C不要看那些技术含量比较有深度的书,比如《C陷阱与缺陷》、《c与指针》之类的书。因为潭老的书太基础了,C语言的很多内容都没有讲到,直接看这些书太早,看也看不明白的。
应该先把C语言学完全学扎实,了解C语言方方面面的知识,C primer plus 就很不错,我买的是中文第5版,里面对C的知识讲解的非常全面,提到了很多编译器的问题,比如在当今最流行的.net平台下编写C程序、LINUX下的C语言程序的编译等,还有许多C语言其他方面的知识。
当你全面扎实的掌握了C的知识后,再看一些C关于算法和技术含量比较深的书,比如上面提到的《C陷阱与缺陷》、《c与指针》,还有一本比很好的书《C专家编程》,这本书的作者就是《C陷阱与缺陷》的作者,是国际上的专家。
此外,还可以看一些关于C的开发的书籍,自己动手做一些小软件,比如信息管理系统、特殊计算器、以及一些小游戏(做游戏必须把图形方面学好,对将来好处很大)。
<
《C陷阱与缺陷》绝对推荐,这本书是强化你的c语言的好书。上面有很多我们在c上常犯得错误,是c大师安德鲁编的。
《c与指针》也可以看看,毕竟指针是c的精华与灵魂,说实话,c功力怎么样,关键是看指针用得好不好。
还有就是推荐看原版的书,说实话,国内翻译的书质量不怎么样,不要说自己编的了。
打个比方吧,我刚学c++的时候看的是谭浩强的c++程序设计,我一个师兄告诉我说大学的教辅书的用处如下:如果c++ 是一门刀法,那么老谭的书只是告诉你怎么拿刀,如果你还想知道怎么把刀舞的好,还需要自己 钻研,看看更高阶的书。
希望回答对你的c语言学习有帮助。
谭浩强的不要看。他的书里面有多处错误,例如,他说动态局部数组不能在声明时初始化,其实是错误的。ANSI C早就允许这种做法了。又如,他把数组类型的函数参数(形参)解释为地址传递方式,其实C语言里根本没有地址传递,全是拷贝传递,数组形式的参数实际上是指针参数。谭的书的好处是例子较多,通俗易懂,但如果有错误,则对初学者弊大于利。
推荐K&R的《C程序设计》(第2版)。作者之一是C语言的发明者。注意,不要看第1版,因为第1版编写时,ANSI C尚未制定。
《C和指针》也是一本好书。其重点不在语法,而在于贴近应用时的注意事项。
另外,不要光看书,要结合实践。自己随便装个编译器,比如TC,VC,多做些小例子,既可加深印象,又可增加兴趣和成就感。
谭浩强的C可以说是很差的。业内众所周知,但许多学校还是那他的书做教材,没办法,谁让它代码多,浅显,便于老师讲课呢?
不过既然你学了,并且基本学完了,说明对C语言有了一定了解,对编程有了一定基础。下面要做的事有两个:一个是多练习,熟悉C,熟悉编程;第二个是学一些其它东西,如算法、数据结构等。
C是一个工具,是一个解决问题的工具。具体如何解决问题,还要借助思想,需要用到算法、数据结构等。
抛开算法等其它学科,如果你想找关于C语言的书的话,我推荐2本:
《C陷阱与缺陷》人民邮电出版社 (美)凯尼格
这本书会强调一些编程人员应该知道的问题,而且写得比较深刻,从原理方面入手,很推荐。
《C程序设计思想与方法》 机械工业出版社 尹宝林
上一本书还是有偏向于C语言使用的方向上,包括语法等。而此书属于“从程序到工程”的过度书籍(国内似乎还没找到这种书籍)。书中不仅从包括了原理上的对一些现象的解释,同时更侧重于编程的思想、编程习惯、解决问题的思路等,这对于开发编程人员是非常重要的。 强烈推荐
第二本书由于刚出不久,所以很多人不知道。但是我现在正在看,感觉很适合咱们这种情况。强烈推荐~
对于其它的一些很厚的C语言的外文书籍,个人认为没必要认真抠了。首先,对于重复的语法定义等内容没有必要再学一遍,及时那些书中有些精彩的点滴,个人觉得还是得不偿失;另外,一些很深刻的东西,我们现在的水平根本看不懂,等学到一定程度后做为“Bible”翻阅即可。
所以说,我认为现在我们需要的是“不重复讲语法,又不特别深刻讲原理”的书籍,基于这两点,上面两本书比较适合。当然,看书的同时还要多练习~
从没学过 “谭老先生的C语言程序设计”
在北京,他就是最大的假牙。
学他的书时间越长,你掉到沟里越深。
错误一大把,代码一塌糊涂,还冒充销量无敌,这种自吹自擂的家伙强烈鄙视。
记得我学C的时候,是系里的老教授带着我们上机的,大牛啊。
最简单一个问题,你能说说,浮点型数组在内存里怎么排列的吗??
用潭的说法去屏显,绝对是一堆乱码。
看看 《 the C programming language 》吧。
二楼的书推荐的不错的,特别是《陷阱与缺陷》。记住:最好的书不是王婆卖瓜型的
而是站在顶点全局分析优缺点的,看过那本书你就知道了,原来C也不是什么神
坛圣物,她也有人性的弱点。