我是计算机系的研究生, 你的四本书跳的有点开, 不过先看《C程序设计教程》是对的.
个人建议初学者:
1. 先盯着一门语言学, 不要一会儿C, 一会儿C++, 一会儿Java.
2. 注重实践, 看完《C程序设计教程》后多写点程序, 从小程序写到大程序. 很多感受是要你写了之后才能体会到的.
3. 《面向对象程序设计C++语言描述》讲的是一种程序设计的思想, 这个在《C程序设计教程》里完全不会提到的, 因为纯的C语言是面向过程的程序设计思想. 你如果想学面向对象的话可以抛开C, 纯粹从Java入手, 最好有个老师或者朋友带一下. 实在没有的话, 就多看几本书应该也能懂的, 不过你的其它几本书和这个的关系不是很大.
下面大概说说你的另外几本书的内容:
《JAVA编程思想》是讲怎样运用Java的语言成分来写出结构较好的程序的. 以及为什么同样的功能要这样写不要那样写之类的. C++对应的有《C++编程思想》这本书. 《面向对象程序设计C++语言描述》是讲面向对象思想的. 《C C++常用算法手册》是讲针对某些特殊问题的算法的.
最后祝你学习顺利.
初学者还是专一一门吧
个人建议学习C系列,毕竟windows程序还是占主流,学习者众多,有问题求解也方便.
语言这东西核心是一通百通.而上层虽然展现众多,但也可以通过深厚基础来触类旁通.
建议学习路线
1,C程序设计教程
2,数据结构
3,面向对象程序设计,,c++ primer 很好,但估计你不喜欢看.
4,深入浅出MFC
5,ATL/数据库/网络编程...等这些是根据需求学习的
最好买一本全例书,学着一个字符一个字符地敲过,才能有最深的印象.
另外,CSDN才是中文C语言者大本营,去那儿多转转可以学到很多东西,没准你的问题就是一个MVP帮你解答的.
数学系的学生 “从事计算机方向研究”如果是指算法研究的话,一本谭浩强的《C程序设计教程》就够了,建议只学C语言,Java 和C++不太适合“做研究”。。。不过可以只做了解,因为面向对象的程序是专为应用而设计的,(而且Linus也炮轰c++),其实只面向过程的程序一样能做好所有的工作,如果不考虑今后到当代码工的话,不需要太精通面向对象。初学者最好还是精通C语言。
看教科书的时候不要求快,但要求理解,多上机实践,最好是一边是电脑,一边是书这样学习,按数学系学生的理解速度,应该不出4个星期就会使用C独立写代码。
还有一本The C Programming Language 是一本经典的书,应该有中文版的
呵呵,以上只是我个人的观点和建议。
那你到底 是 想学c++还是java呢?
c++的话有一个学习顺序我觉得是不错的
先选一本薄点的书入门,辅以《c++ primer》作为参考书
然后可以学习stl,或看一些c++的高级书籍(我想你会用摆渡找到你需要看什么的)。
同时你可以深入一个平台,linux或windows,学习它们的图形界面编程 比如qt或mfc(wtl)。
接着我觉得你可以看多线程编程方面的知识,还有网络编程,数据库,都要懂,尤其是多线程。
最后,最重要的就是多编程,每天把学习编程的1/3的时间自己来做程序玩,任何程序,或者是书上的例子,或者是自己想到的程序,又或是到网上看到的程序,都自己做的玩。
再然后,等你有了一定的水平后,学习最好的方法就是加入开源项目,阅读别人的源码和自己写代码,这是最好的学习方式。
java其实也大同小异,不过不建议用《thinking in java》这本书入门,太厚了,做参考书吧。
书的话,我只有两个建议1。有经济实力就买实体书,至少每门技术你要有一本实体书2。尽量看外国人写的书。国产的书除了直接介绍案例的,那种重实践的。理论方面的我就没看过好的。
还有,我上面讲的是实际工作,也就是怎么成为软件工程师的路,如果你想搞研究,(比如算法什么的)那具体的我也不知道,那时数学啊,数据结构,算法什么的更重要。如果你是这么想的话建议考研,人工智能方面貌似还不错。别的我也就不太清楚了,反正这条路挺难走的,出国比较好。
本人是学java的,java是一种面向对象语言,java的思想笼统地说就是“一切皆对象”,简单的概念有继承、多态性、抽象类、接口等,深层次的研发需要熟练运用很多模式、jdk中的许多类,弄懂这些需要一段时间的沉淀,如果是自学的话,建议你找个视频教程进行学习,毕竟仅仅看书可能会掌握不了主次,多敲代码是关键,光是纸上谈兵永远练不出真的技术。
JAVA 和C++ 都首推 java how to program 和c++ how to program. C++和JAVA的入门书。
编程思想对你来说为时尚早。