有关计算机编程,网络基础知识的书籍

我(非计算机专业)想学习计算机编程,网络方面的东西,但不知道从哪里下手,想请教高人推荐这方面的书籍。方便的希望指引,开导,本人不甚感激。

建议你从C语言开始学,学好了它以后学其他语言会很容易上手
推荐你先看谭浩强的《C语言程序设计》先,这是一部非常好的C语言书籍,慢慢来学习程序设计是一个非常漫长的过程,不要着急,一本书多看两遍三遍,学会交叉学习法,在学习C的过程中,可以看看数据结构,编译原理,操作系统等书籍,对编成都是很有帮助的。最开始学习的时候,先不要编一些比较大的程序,多编一些小程序,比如数组运算,字符组合等等,指针是C语言的精华,是比较复杂的部分。如果指针这部分都可以熟练的应用,那么C语言里你还有什么不明白的吗,我相信你,你一定能学习好C语言的。

可以按照C——C++——JAVA的顺序学习,C++的学习是很有难度的,类,标准库,多态,继承等等比较抽象难道懂的概念,虽然他秉承了C语言的风格,但是有很多很多是C语言不具备的,要多看书,上机实践也是必不可少的。《C++编程思想》,《C++标准库》,这些书都非常好,内容也很全面,例程书籍也是必不可少的,多看源代码对编程是很有帮助的,也会少走很多弯路。总之,C++的学习是一个比较漫长的过程,大概需要两年的时间,这只是底限,如果想学通,学精,还需要更多的时间。

我向你推荐一些C++经典书籍:

c++程序设计教程
c++编程思想
c++大学教程
c++程序设计语言
数据结构算法与应用c++语言描述
c++标准模板库------自修教程与参考手册
泛型编程与STL
深度探索c++对象模型
设计模式---可复用面向对象软件的基础
重构---改善既有代码的设计
Essential c++
Effective c++
More Effctive c++
C++ primer

前五本应该属于入门书籍,后面的属于学习难度比较大的,想提高C++的编程能力,看看这些书籍有好处。建议你把编程思想这本书多看看。多做练习题,对提高编程水平的帮助是很大的。

其实语言是相通的,一门语言学会了,学习其他语言就比较容易了。

业界有这样一种说法,因为JAVA这门语言包含了C++的一些特性,掌握了C++,就等于掌握了JAVA的80%,

在掌握了C++之后(我说的掌握指的是,可以熟练用C++编程序了,并没有要求你完全掌握C++的所有部分,没有人能达到这一点,因为C++太庞大了,如果能坚持不懈的学习C++两年到三年的时间了,你就可以学习其他的语言了)可以试着学习一些其他的语言,如JAVA,VC++等等比较复杂的语言.

这时候可以说你已经对程序设计语言有个大体的认识了,可以明确自己学习的方向,根据自己的学习情况而定,是学习一些自己比较感兴趣的语言啊(从兴趣出发),还是为了找工作啊,开始进行更深入的学习.比如学习windows下的框架编程和.net编程等等比较复杂的语言.

如果是为了找工作的话你一定学好C,C++,JAVA三门语言.

在我国目前的软件开发行业中,C,C++,JAVA的需求量是非常大的.

好了,说了这么多,可以参考一下,为自己做个学习计划,要对自己有信心,最后祝你在学习编程的道路上走的更好更远,祝你学有所成!!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-02-20
编程方面还是先从基本的编程语言学起,如C,C++,java等,网络方面还是要学习一些关于计算机硬件的基础知识。
第2个回答  2011-02-20
给你推荐
你要是学C++就是 c++ primer中文版

还有清华大学出版社的 C++从入门到精通
C语言从入门到精通
看你学哪种语言了。。个人推荐刚开始学C
第3个回答  2011-02-20
首先,学习编程的基础知识,看你感兴趣那种编程语言。非计算机专业的很多人都学C#,因为比较容易上手,买本《C#入门经典》看看,没学过的人,多搞搞一些例子,基本掌握了不少。当然,编程还有一定的思想,这个则慢慢来,边学习边体会。
网络方面的?不知你是想学习网络编程还是只要知道网络的知识就可以了?
网络编程嘛,还是从网上下几个例子,自己分析,看看程序是怎么实现通讯的,做大概的了解吧,碰到具体问题再具体分析。
至于网络的知识,买本《计算机网络基础》看看就行了吧。
第4个回答  2011-02-20
可以去看看java socket 编程,有一本书叫《微博是怎样炼成的》讲得不错,自己去搜一下。复习一下有关Socket编程,线程,IO方面的知识,计算机网络方面了解一下就可以了,Java做网络很少有做到很底层的情况的。可以去看一下《TCP/IP详解:卷1协议》讲得很细致,不过那个是在Unix下用C语言实现的。
再就是JavaWeb了,先学一下HTML、CSS、JavaScript方面的知识,然后是JSP,JDBC,学习一下Spring,Hibernate,Struts框架,学习数据库方面的知识,比如Oracle数据库的一些细节啊,什么触发器啊,序列啊,存储过程啊。然后就是设计模式啊,面向对象设计方法啊,UML啊。到最后你会觉得要学的东西成指数增加趋势。。。
相似回答