因?yàn)橐?jīng)典,不敢寫得太多,歡迎大家繼續(xù)補(bǔ)充。這里只是涉及編程的東東,如果想要關(guān)于破解方面的資料請(qǐng)到“工具下載”欄目的置頂帖。
ps.網(wǎng)上這些書的電子版大都是未經(jīng)作者同意而發(fā)布的,我并不能保證給出的鏈接長(zhǎng)期有效。我的看法是您可以先下載試看;),如果覺(jué)得物有所值,還是推薦去買一本紙質(zhì)書,也是支持一下作者的辛勤勞動(dòng)。
有用的網(wǎng)站:
MSDN Library
http://msdn.microsoft.com/library/CSDN
http://www.csdn.net/經(jīng)典書籍:
=======================
WINDOWS編程類
=======================
Windows程序設(shè)計(jì)中文版(Programming Windows,Charles Petzold著)
http://www.a5d.com/SoftView/SoftView_673.asp這個(gè)不用我多廢話了,地球人都知道的經(jīng)典,用C語(yǔ)言+WinSDK寫成。
Windows核心編程(Programming Applications for Microsoft Windows, Fourth Edition, Jeffrey Richter著)
http://www.infoxa.com/asp/book/xxnr.asp?id=494內(nèi)容較深的一本書,同樣經(jīng)典,如果能通讀一遍,可以說(shuō)基本上就掌握了Windows的精髓。
Win32 ASM Tutorial Resource Kit
http://www.pediy.com/document/Win32ASMTRK.rar(解壓密碼:dREAMtHEATER)dREAMtHEATER收集的WIN32ASM教程,內(nèi)容很全,包括32位匯編的基礎(chǔ)知識(shí),Iczelion的經(jīng)典教程中英文版,羅云彬的32位匯編教程,還有PE格式和VxD的一些內(nèi)容。
Windows環(huán)境下32位匯編語(yǔ)言程序設(shè)計(jì)(羅云彬著)
http://www.infoxa.com/asp/book/xxnr.asp?id=2243匯編語(yǔ)言版的Programmin Windows ,可以與上面Iczelion的教程相互參照著學(xué)習(xí)。
=======================
程序設(shè)計(jì)語(yǔ)言類
=======================
C語(yǔ)言程序設(shè)計(jì)(The C Programming Language (2nd Edition), Brian W.Kernighan & Dennis M.Ritchie著)
作者是C語(yǔ)言和UNIX系統(tǒng)的發(fā)明人,這一本書是如此經(jīng)典,以至于兩位作者名字的縮寫 K&R 成了一個(gè)專有名詞,以至于書里的"Hello,World"這個(gè)簡(jiǎn)單的句子被無(wú)數(shù)人用無(wú)數(shù)種程序語(yǔ)言寫出來(lái)。很薄的一本書,卻成了一個(gè)不朽的傳奇。個(gè)人看法,學(xué)好C語(yǔ)言,這一本小書足矣。
C++語(yǔ)言程序設(shè)計(jì)(The C++ Programming Language (Special Editon),Bjarne Stroustrup著)
作者是C++語(yǔ)言的發(fā)明人,這本書之于C++就好比上本書之于C,不同的是這本書巨厚無(wú)比,畢竟C++復(fù)雜了太多太多。這本書介紹到了C++的方方面面,巨細(xì)無(wú)遺,畢竟是作者發(fā)明的么,不過(guò)我只看了幾章就暈得受不了了。
btw:關(guān)于C++的好書還有很多,如<< C++ Primer >>, << Thinking in C++ >>, << Essential C++ >>、<< Effective C++ >>等等,因?yàn)槲覍?duì)C++不很感冒,這里不敢妄加評(píng)論,請(qǐng)大家多補(bǔ)充。
再btw:對(duì)Java, .Net, Python這些新東東(Java好像也不新了吧,看來(lái)是我老了)了解不是很多,也不敢亂寫,同樣請(qǐng)各位補(bǔ)充。
=======================
面用對(duì)象WINDOWS編程類
=======================
也不知道這么說(shuō)合適不合適,總之就是像MFC,VCL之類的東東啦。這類圖書大概是最多最雜的了,像什么XX從入門到精通啦,XX編程寶典啦, XX編程100例啦……魚龍混雜,泥沙俱下,也說(shuō)不出哪個(gè)是經(jīng)典。這里只選出幾本有一定深度的,大家基本公認(rèn)的好書。
深入淺出MFC(第二版)(侯捷著)
侯捷網(wǎng)站:http://jjhou.csdn.net/
關(guān)于侯先生寫的和譯的書,贊的人很多,罵的人也有,我是很推薦這本書的,雖然我不喜歡MFC,只硬著頭皮看了前幾章。感覺(jué)如果能通讀下來(lái),可以試著自己架一個(gè)類庫(kù)了,呵呵。需要注意的是,讀這本書先要有一定的SDK編程的基礎(chǔ),這本書不是教你如何用VC寫程序的,好像有許多人不明白這一點(diǎn),所以來(lái)罵侯先生,如果你只想快點(diǎn)用VC寫個(gè)程序出來(lái),建議去看看《21天VC++無(wú)師自通》之類的書。
btw:侯先生的網(wǎng)站上有很多有趣的東東,順便推薦一下。
Delphi源代碼分析(周愛(ài)民著)
我只在很早之前玩過(guò)Delphi,水平就是只知道Form上放幾個(gè)Button,Edit,雙擊兩下就開(kāi)始寫代碼,因?yàn)橐郧皩W(xué)過(guò)Pascal,看著語(yǔ)法很熟悉,玩得不亦樂(lè)乎,什么也不管,N久以后才知道有Object Pascal這回事,汗……因?yàn)镹多大牛推薦這本書,所以我也推薦一下,雖然里面東西基本都不懂。同樣,這本書也不是教你如何畫個(gè)窗口擺個(gè)控件的,那樣的書遍地都是……
=======================
數(shù)據(jù)結(jié)構(gòu)與算法類
=======================
算法、數(shù)據(jù)結(jié)構(gòu),這是計(jì)算機(jī)程序的靈魂所在。下面介紹的書可以在http://lib.verycd.com/2004/12/16/0000031024.html找到,而且那里有更詳細(xì)的評(píng)論,強(qiáng)烈推薦!
Introduction to Algorightms (算法導(dǎo)論,Thomas.H.Cormen等著)
此書簡(jiǎn)稱CLRS(四位作者名字的縮寫),被人們稱做“計(jì)算機(jī)算法的圣經(jīng)”絕不為過(guò),是ACM競(jìng)賽的必讀書,影印版由高等教育出版社出版,共1180頁(yè),厚度約五公分雖然書很厚而且是英文,但是由于大師深入淺出的講解,反而很好讀懂,有時(shí)候我學(xué)一個(gè)算法,看相關(guān)中文書看得一頭霧水,翻翻這本書卻能豁然開(kāi)朗。
The Art of Computer Programming vol1,2,3(計(jì)算機(jī)程序設(shè)計(jì)藝術(shù)I-III卷,Donald.E.Knuth著)
簡(jiǎn)稱TAOCP,經(jīng)典中的經(jīng)典,名氣可能比上一本書還大,此系列書原計(jì)劃出七卷,目前為止只出版了三卷,已經(jīng)被評(píng)為20世紀(jì)最重要的20部著作之一。因?yàn)槔锩嬗靡环N奇怪的程序語(yǔ)言寫成,而且只出了三卷,內(nèi)容沒(méi)有CLRS全面,這套我沒(méi)有買,只在圖書館里翻翻(有中譯本),但絕對(duì)是值得一看的好書。
Concrete Mathematics A Foundation for Computer Science (具體數(shù)學(xué),Donald.E.Knuth & Ronald L.Graham著)
同樣是ACM競(jìng)賽必讀書之一,幾乎包含了所有計(jì)算機(jī)科學(xué)里涉及到的數(shù)學(xué)問(wèn)題,里面有眾多的經(jīng)典問(wèn)題與經(jīng)典解法,對(duì)開(kāi)拓人的數(shù)學(xué)思路有極大的幫助。看這書給我的感覺(jué)是,如果你能把每章后面所有的習(xí)題都解出來(lái),估計(jì)離圖靈獎(jiǎng)也不遠(yuǎn)了
=======================
關(guān)于編程競(jìng)賽
=======================
下面是幾個(gè)比較大的在線提交系統(tǒng)(Online Judge)里面有大量歷年的競(jìng)賽題目,注冊(cè)一個(gè)ID,然后用自己熟悉的語(yǔ)言(一般有Pascal/C/C++/Java)寫好源代碼提交即可,會(huì)實(shí)時(shí)返回信息告訴你是否正確。采用黑箱測(cè)試,系統(tǒng)里有一套標(biāo)準(zhǔn)的輸入輸出數(shù)據(jù)(對(duì)外保密,而且通常數(shù)據(jù)很多很怪),你的程序的輸出和標(biāo)準(zhǔn)輸出完全符合即可。常見(jiàn)的返回信息有AC(Accepted,通過(guò))WA(Wrong Answer,輸出有錯(cuò)誤)TLE(Time Limit Exceeded,超時(shí))MLE(Memory Limit Exceeded,內(nèi)存溢出)RE(Runtime Error,發(fā)生實(shí)時(shí)錯(cuò)誤)等,只有AC了才算做對(duì)一題。這里只是一個(gè)簡(jiǎn)要介紹,請(qǐng)大家在做題時(shí)先看看各網(wǎng)站上的FAQ,Enjoy it~~~
浙江大學(xué) Online Judge(ZOJ)http://acm.zju.edu.cn
國(guó)內(nèi)最早也是最有名氣的OJ,有很多高手在上面做題。特點(diǎn)是數(shù)據(jù)比較刁鉆,經(jīng)常會(huì)有你想不到的邊界數(shù)據(jù),很能考驗(yàn)思維的全面性,現(xiàn)在我主要在這個(gè)OJ上做題
北京大學(xué) Online Judge(POJ)http://acm.pku.edu.cn/JudgeOnline/
建立較晚,但題目加得很快,現(xiàn)在題數(shù)和ZOJ不相上下,特點(diǎn)是舉行在線比賽比較多,數(shù)據(jù)比ZOJ上的要弱,有時(shí)候同樣的題同樣的程序,在ZOJ上WA,在POJ上就能AC
同濟(jì)大學(xué) Online Judge
http://acm.tongji.edu.cn/index.php這個(gè)OJ題數(shù)上不能與上兩個(gè)相比,推薦這個(gè)OJ的原因是它是中文的,這對(duì)很多對(duì)英文不太感冒的兄弟是個(gè)好消息吧。它也因此吸引了眾多高中的OIer,畢竟他們的英文還差一些呵呵,上面的題目也更偏向高中的信息學(xué)競(jìng)賽一些。
西班牙Valladolid大學(xué) Online Judge(UVA)http://online-judge.uva.es/problemset/
世界上最大最有名的OJ,題目巨多而且巨雜,數(shù)據(jù)也很刁鉆,全世界的頂尖高手都在上面。據(jù)說(shuō)如果你能在UVA上AC一千道題以上,就盡管向IBM、微軟什么的發(fā)簡(jiǎn)歷吧,絕對(duì)不會(huì)讓你失望的。
俄羅斯Ural立大學(xué) Online Judge(URAL)http://acm.timus.ru/
也是一個(gè)老牌的OJ,題目不多,但題題經(jīng)典,我在高中的時(shí)候就在這上面做題的。
UsacoGate Online Judge(USACO)http://ace.delos.com/usacogate
全美計(jì)算機(jī)奧林匹克競(jìng)賽(USACO)的訓(xùn)練網(wǎng)站,特點(diǎn)是做完一關(guān)才能繼續(xù)往下做,與前面的OJ不同的是測(cè)試數(shù)據(jù)可以看到,并且做對(duì)后可以看標(biāo)準(zhǔn)解答,所以如果大家剛開(kāi)始的時(shí)候在上面那些OJ上總WA卻找不到原因的話,可以試著來(lái)這里做做,看看測(cè)試數(shù)據(jù)一般是從什么地方陰你的。