編譯原理清華大學第二版書
A. 請問下清華827電路考研參考書目
《電路原理》(第2版)清華大學出版社,2007年3月江輯光、劉秀成等。
827電路原理考研參考書目為:《電路原理》(第2版)清華大學出版社,2007年3月江輯光、劉秀成;《電路原理》清華大學出版社,2007年3月於歆傑、朱桂萍、陸文娟;《電路》(第5版)高等教育出版社,2006年5月邱關源、羅先覺。
(1)編譯原理清華大學第二版書擴展閱讀:
碩士研究生招生要求規定:
1、筆試時專業綜合考試內容:控制理論(經典控制及現代控制)、電子技術(模擬電子技術及數字電子技術)、運籌學、信號與系統、編譯原理和資料庫原理、現代通信原理、軟體工程專業綜合七科中選一門。
2、以考生的總成績排名為錄取參考標准。總成績包括兩部分,即初試成績和復試成績。
3、學習期滿,學完規定的課程,修滿學分,滿足培養方案要求,完成碩士專業學位論文,並通過論文答辯者,經校學位委員會審核批准後,授予國家頒發的清華大學自動化系、計算機系、電子系、軟體學院相應的工程碩士研究生畢業證書和學位證書。
B. 想學《編譯原理》請各位推薦些書
我們學校用的是《編譯原理》與《編譯原理與實踐》這兩本書,這兩本書都是國外的教材。我覺得《編譯原理與實踐》這本書不錯,自學應該能看懂,而且代碼比較多,書最後還有整個小型編譯器的源代碼。
編譯不好學,你就慢慢學吧。
下面的資料請作參考:
當代編譯技術三大聖經級別的教材
1.龍書(Dragon book)
書名是Compilers: Principles,Techniques,and Tools
作者是:Alfred V.Aho,Ravi Sethi,Jeffrey D.Ullman
內容簡介
《編譯原理》作者Alfred V.Aho、Ravi Sethi和Jeffrey D.Ullman是世界著名的計算機 科學家,他們在計算機科學理論、資料庫等很多領域都做出了傑出貢獻。《編譯原理》 是編譯領域無可替代的經典著作,被廣大計算機專業人士譽為「龍書」。《編譯原理》一 直被世界各地的著名高等院校和科研機構(如貝爾實驗室、哥倫比亞大學、普 林斯頓大學和斯坦福大學等)廣泛用作本科生和研究生編譯原理與技術課程的 教材,《編譯原理》對我國計算機教育界也具有重大影響。 書中深入討論了編譯器設計的重要主題,包括詞法分析、語法分析、語法制 導分析、類型檢查、運行環境、中間代碼生成、代飢碼茄碼生成、代碼優化等,並在 最後兩章中討論了實現編譯器的一些編程問題和幾個編譯器實例,而且每章都 提供了大量的練習和參考文獻。
與上一版相比,《編譯原理》第二版進行了全面的修訂,涵蓋了編譯器開發方面的最新進展。每章中都提供了大量的系統及參考文獻。《編譯原理》是編譯原理課程方面的經典教材,內容豐富,適合作為高等院校計算機及相關專業本科生及研究生的編譯原理課程的教材,也是廣大技術人員的極佳參考讀物。
作者爛察簡介
Alfred V.Aho,美國歌倫比亞大學教授,美國國家工程院院士,ACM和IEEE會士,曾獲得IEEE的馮·諾伊曼獎。著有多部演算法、數據結構、編譯器、資料庫系統及計算機科學基礎方面的著作。
Monica S.Lam,斯坦福大學計算機科學系教授,曾任Tensilica的首席科學家,也是Moka5的首任CEO。曾經主持SUIF項目,該項目產生了最流行的研究用編譯器之一。
Ravi Sethi,Avaya實驗室總裁,曾任貝爾實驗室高級副總裁TLucent Technologies通信軟體的CTO。他曾在賓夕法尼亞州立大學、亞利桑那州立大學和普林斯頓大學任教,是ACM會士。
Jeffrey D.Ullman斯坦福大學計算機科學系教授和Gradiance CEO,他的研究興趣包括資料庫理論、資料庫集成、數據挖掘和利用信息基礎設施教學等。他是美國國家工程院院士、IEEE會士,獲得過ACM的KarIstrom傑出教育家獎和Knuth獎。
第一版中文版
第二版中文版
2.鯨書(Whale book)
書名是:Advanced Compiler Design and Implementation
作者是:Steven S.Muchnick
內容簡介
本書迎接現代語言和體系結構的挑戰,幫助讀者作好准備,去應對將來要遇到的編譯器設計的問題。
本書涵蓋現代微處理器編譯器的設計和實現方面的所有高級主題。本書從編譯設計基礎領域中的高級問題開始,廣泛而深入地闡述各種重要的代碼優化技術,分析各種優化之間的相對重模侍要關系,以及實現這些優化的最有效方法。
本書特點
●為理解高級編譯器設計的主要問題奠定了基礎
●深入闡述優化問題
●用Sun的SPARC、IBM的POWER和PowerPC、DEC的Alpha以及Intel的Pentium和相關商業編譯 器作為案例,說明編譯器結構、中間代碼設計和各種優化方法
●給出大量定義清晰的關於代碼生成、優化和其他問題的演算法
●介紹由作者設計的以清晰、簡潔的方式描述演算法的語言ICAN (非形式編譯演算法表示)。
本書是經典的編譯器著作,與「龍書」齊名,稱為鯨書。書中針對現代語言和體系結構全面介紹了編譯器設計與實現的高級論題,從編譯器的基礎領域中的高級問題開始,然後深入討論了各種重要的代碼優化。本書專為編譯器專業人士和計算機專業本科生,研究生編寫,在設計和實現高度優化的編譯器以及確定優化的重要性和實現優化的最有效的方法等方面,為讀者提供了非常有價值的指導。
作者簡介
Steven S.Muchnick,曾是計算機科學教授,後作為惠普的PA-RISC和SUN的SPARC兩種計算機體系結構的核心開發成員,將自己的知識和經驗應用於編譯器設計,並擔任這些系統的高級編譯器設計與實現小組的領導人。他在研究和開發方面的雙重經驗,對於指導讀者作出編譯器設計決策極具價值。
3.虎書(Tiger book)
書名是:Modern Compiler Implementation in C /Java /ML,Second Edition
作者是:Andrew W.Appel,with Jens Palsberg
內容簡介
《現代編譯原理——c語言描述(英文版)/圖靈原版計算機科學系列》全面講述了現代編譯器的各個組成部分,包括:詞法分析、語法分析、抽象語法、語義檢查、中間代碼表示、指令選擇、數據流分析、寄存器分配以及運行時系統等。與大多數編譯原理的教材不同,《現代編譯原理——C語言描述(英文版)/圖靈原版計算機科學系列》採用了函數語言和面向對象語言來描述代碼生成和寄存器分配,對於編譯器中各個模塊之間的介面都給出了實際的 C 語言頭文件。 全書分成兩部分,第一部分是編譯的基礎知識,適用於第一門編譯原理課程(一個學期);第二部分是高級主題,包括面向對象語言和函數語言、垃圾收集、循環優化、 SSA(靜態單賦值)形式、循環調度、存儲結構優化等。
本書是一本著名的編譯原理課程的教材。國際上眾多名校均採用本書作為編譯原理課程的教材,包括美國麻省理工學院、加州大學伯克利分校、普林斯頓大學和英國劍橋大學等。本書在國外享有「虎書」的稱號,與有「龍書」之稱的《編譯原理》(Alfred Aho 等編著)齊名。與編譯原理方面的其他名著相比,本書出版時間晚,內容新。 書中專門為學生提供了一個用 C 語言編寫的實習項目,包括前端和後端設計,學生可以在一學期內創建一個功能完整的編譯器。
作者簡介
Andrew W.Appel,美國普林斯頓大學計算機科學系教授,第26屆ACM SIGPLAN-SIGACT程序設計原理年會大會執行主席,1998-1999年在貝爾實驗室做研究工作。主要研究方向是計算機安全、編譯器設計、程序設計語言等。
C. 學計算機從基礎的開始,請教過來人,該按怎樣的次序學哪些知識
軟體專業推薦書目
因為個人能力有限以及不斷有新書出版,以下推薦難免具有主觀色彩或已經不適合當前的狀況,僅作參考!請根據實際情況選擇!
1.
模擬電路
數字電路
計算機網路
程序設計基礎
書 名: 程序設計基礎(C語言)
書 號:9787302134626
作 者:於帆,趙妮 等主編
出版社:清華大學出版社
高等數學
書 名:高等數學(第三版)(上冊)
書 號:ISBN 978-7-04-024901-9
作 者:金路 童裕孫 於崇華
出版社:高等教育出版社
書 名:高等數學(第三版)(下冊)
書 號:ISBN 978-7-04-024902-6
作 者:金路 童裕孫 於崇華
出版社:高等教育出版社
離散數學
書 名:離散數學習題解答與學習指導(第2版)
書 號:ISBN 978-7-302-16820-1
作 者:屈婉玲 耿素雲 張立昂
出版社:清華大學出版社
計算機組成原理
書 名: 計算機組成原理
作 者:羅克露 俸志剛
出版社:電子工業出版社
ISBN: 9787121095467
匯編語言
網路上流傳較廣的
書 名:匯編語言
書 號:ISBN 978-7-302-07195-2/TP.5237
作 者:王爽
出版社:清華大學出版社
「十一五」國家級規劃教材
書 名:匯編語言程序設計(第2版)
書 號:ISBN 978-7-04-023965-2
作 者:王成端 王宇曉 王豐
出版社:高等教育出版社
軟體工程
書 名:軟體工程(第3版)
書 號:ISBN 978-7-301-15913-2
作 者:王立福
出版社:北京大學出版社
2.
線性代數
書 名:線性代數(修訂版)
書 號:ISBN 978-7-04-024900-2
作 者:郝志峰 謝國瑞 方文波
出版社:高等教育出版社
數據結構
書 名: 數據結構(C語言版)
作 者:嚴蔚敏 吳偉民
出版社:清華大學出版社
資料庫系統
操作系統
書 名:操作系統(第2版)
書 號:ISBN 978-7-121-08858-2
作 者:孟慶昌
出版社:電子工業出版社
演算法設計與分析
書 名:演算法設計與分析(第2版)
書 號:ISBN 978-7-302-19099-8
作 者:呂國英
出版社:清華大學出版社
3.
編譯原理
書 名:編譯原理(第2版)
書 號:ISBN 978-7-04-023963-8
作 者:陳意雲 張昱
出版社:高等教育出版社
數值分析
書 名:數值分析(上冊)
書 號:ISBN 978-7-04-021779-7
作 者:馮果忱 黃明游
出版社:高等教育出版社
書 名:數值分析(下冊)
書 號:ISBN 978-7-04-022661-4
作 者:黃明游 馮果忱
出版社:高等教育出版社
D. 推薦幾本零基礎編程入門的書籍
下面這個可以參考一下,具體還要看個人的情況。
我覺得應該根據你的工作需要或者說你的發展方向而定。基本上兩大類吧:C/C++和Java。比如,如果你要做企業級應用的你應該學習Java和C#;如果你想做嵌入式,那麼應該學好C語言;其他情況下,在你不知道要做什麼之前你可以選擇學習C/C++。學會這兩大類中的一類,對於你學習其他語言都將是比較輕松,包括腳本語言,動態語言„„呵呵,這里想就自己的學習經歷和情況給大家一個建議,僅供參考。
1、我的入門是從學習C語言開始的(其實課程是C++),這是我們學校的公共課,我上課比較認真(雖然老師講得很差,而且一段時間後,我就發現自己的基礎掌握比她好,當然理解深度沒她好),因此,我認為對於完全沒有基礎的人而言,聽別人講比較容易入門。當時的教材是學校自己編的,挺爛的。
建議一(以C/C++為例),對於剛想進入編程的人(就是從來都沒有接觸過編程的人),最好是聽課的方式(自己看的話估計要很慢,而且很痛苦),可以找視頻或者培訓等。C語言推薦入門教材:譚浩強的C語言,最新版是第三版,不過第二版應該也可以了(藍色的)。說明一下:堅決不同意直接看K&R的《The C programming language》,這本書絕對不是初學者可以看懂的,裡面講語法的並不多,語法都是合在程序裡面講。不過這本書非常好,入門以後一定要看的一本書。
當然可以從C++直接入門,C++之父強烈推薦從C++直接入手。C++推薦入門教材:錢能的C++(紅色的,清華大學出版),這本書第一版不是ISO C++,不過比較經典,作者現在也出了第二版了,第二版好像不是太好。國外的最好的入門教材據說是:《Acclerated C++》作者是Koenig和Moo夫婦,非常厲害。他們的著作還有《c陷阱與缺陷》《c++沉思錄》。《Acclerated C++》這本入門的書我沒有看過,我覺得還是先找本國內的書好好看,看的差不多了,國外的經典書籍隨便看就會覺得很有味道,否則你可能會很受打擊。入門的書至少要看兩三遍(要徹底理解哦 ):)。如果是C++,我建議後面類的部分至少要理解三到五遍。說明一下,c++模板的部分可以先不用看,如果有興趣的話,等把c++學的差不多了,我覺得可以把模板、STL、泛型編程結合起來學習,這個又是一個很大的工作量了,又得下很大的功夫。所以說,C++博大精深啊。
建議二、學習過程中要結合簡單的演算法,像冒泡還有類似c語言程序百例這樣的小例子做做;更進一步應該做點大一點的項目,最好是控制台程序。或者你已經著手學習win32、MFC或linux,你也可以結合平台做點小的項目。
2、第一階段是最苦的,接下來相對就知道應該怎麼去學習了。這時候假設你已經有了扎實的c++基礎。這是你可以選擇也應該選擇發展方向了,做企業級應用,還是系統開發,嵌入式設計或者游戲開發„„ 那時我其實並沒有考慮那麼多,因為我不是學計算機的,因此我就把參加一些計算機之類的考試當作學習目標。我當時其實C++語言基礎已經很不錯了,但是上機實踐很少(那時我沒有電腦),因此參加省計算機二級,全國計算機三級和全國計算機四級考試,結果上機都沒有通過。我很郁悶,二級的時候是我不知道怎麼樣進那個DOS界面把題目調出來,三級的時候是很快就編好了,也通過運行了,可是成績出來卻不及格,四級的時候是編好了,可能是我那題目比較難,好像用了兩次循環,結果那破機器竟然承受不了。後來一亂就毀了(當然主要是上機太少了)。不過我那些上機都沒有去補考。二級和三級的時候是自恃水平已經遠遠超過考試要求了,四級的時候則因為自己已經通過高級程序員考試,覺得補考上機好像沒必要。(我高程和四級都是在2003年考的)。
建議三:定位學習方向,並好好學習計算機基礎知識。在你還不確定學習方向,或者你還在大學本科期間,那麼我認為應該先把計算機的基礎知識好好學習一下。我認為計算機必學的基礎課程而且要精學——首先是數據結構,其次是操作系統、軟體工程,資料庫。這四門課不管你將來想從事哪個方向的基本上都會用到。當然,有時間的話,其他基礎課都是應該掌握的,離散數學、組成原理、體系結構、網路、編譯原理甚至跨學科的。方向是很重要的,因為知識其實是無限的,一個小小的領域就夠你研究很久了。本科生可能還沒有什麼方向的感覺,但是到了研究生你一定要清楚自己到底想要做什麼,要往哪個方面發展,不要盲目學,瞎學亂學,否則最後可能看似什麼都會,其實什麼都不會。
E. 編譯原理課程輔導圖書信息
編譯原理課程輔導圖書信息如下:
- 出版社與版本:由清華大學出版社出版,版本為第一版。
- 發行日期:2007年4月1日。
- 裝幀與頁數:採用平裝形式,總頁數為173頁。
- 開本與尺寸:開本為0開,尺寸為26 x 18.5 x 0.6 cm。
- 重量:381 g。
- ISBN號與條形碼:ISBN號為7302140375,條形碼為9787302140375。
- 內容概述:本書主要針對編譯原理課程進行輔導,內容涵蓋了編譯器的各個組成部分,包括詞法分析、語法分析、語義分析、中間代碼生成、代碼優化、目標代碼生成等。同時,本書還詳細介紹了編譯器的實現方法和工具,適合初學者和有一定編程基礎的讀者閱讀。
- 適用人群:無論對於初學者還是有一定編程基礎的讀者,本書都是一本非常有價值的編譯原理輔導圖書。通過本書的學習,讀者可以更好地理解編譯器的工作原理,掌握編譯過程中的關鍵技術,提高編程能力。
F. 武大計算機系考研參考書
這是武大研究生招生網上的信息
211 計算機學院
922 計算機基礎(含數據結構、計算機組成原理):
李春葆:《數據結構教程》(第一版),清華大學出版社2005年版
王愛英:《計算機組成與結構》(第三版),清華大學出版社2001年版
916 計算機圖形學基礎:
唐澤聖、周嘉玉、李新友編著:《計算機圖形學基礎》,清華大學出版社
917 C語言程序設計:
唐浩強著:《C語言程序設計》,清華大學出版社
復試科目參考書目:
資料庫原理:
尹為民:《現代資料庫系統及應用教程》,武漢大學出版社2005年版
操作系統:
黃水松:《計算機操作系統》,武漢大學出版社2003年版
加試科目參考書目:
編譯原理:
何炎祥:《編譯原理》(第二版),華中科技大學出版社2005年版
離散數學:
劉玉珍:《離散數學》(第二版),武漢大學出版社2002年版
G. 編程入門就學c++結果好多概念都不知道怎麼辦
剛接觸編程誰都是滿頭霧水的,尤其是那些曾經根本就沒用過電腦的人,這簡直就是比登天還難!!但是他既然能製造出來,難道還有學不會的道理。。。下面給大家說說學中的一些技巧,也許會對大家有幫助:
很多人對學習C語言感到無從下手,經常問我同一個問題:究竟怎樣學習C語言?
學習了很多年的程序,和很多剛剛起步的人一樣,學習的第一個計算機語言就是C語言。經過這些年的開發,總結最簡單的話就是,C語言對於一個程序設計人員多麼的重要,如果不懂C語言,你想寫底層程序這幾乎聽起來很可笑,不懂C語言,你想寫出優秀高效的程序,這簡直就是天方夜譚。為什麼C語言如此重要呢?
第一:C語言語法結構很簡潔精妙,寫出的程序也很高效,很便於描述演算法,大多數的程序員願意使用C語言去描述演算法本身,所以,如果你想在程序設計方面有所建樹,就必須去學它。
第二:C語言能夠讓你深入系統底層,你知道的操作系統,哪一個不是C語言寫的?所有的windows,Unix,Linux,Mac,os/2,沒有一個里外的,如果你不懂C語言,怎麼可能深入到這些操作系統當中去呢?更不要說你去寫它們的內核程序了。
第三:很多新型的語言都是衍生自C語言,C++,Java,C#,J#,perl...哪個不是呢?掌握了C語言,可以說你就掌握了很多門語言,經過簡單的學習,你就可以用這些新型的語言去開發了,這個再一次驗證了C/C++語言是程序設計的重要基礎。還有啊,多說一點:即使現在招聘程序員,考試都是考C/C++語言,你想加入it行業,那麼就一定要掌握好C/C++語言。
那麼究竟怎樣學習C/C++語言呢?
1:工欲善其事,必先利其器
介紹幾個學習C語言必備的東東:
一個開發環境,例如turbo C 2.0,這個曾經占據了DOS時代開發程序的大半個江山。但是現在windows時代,用turbo C有感覺不方面,編輯程序起來很吃力,並且拖放,更沒有函數變數自動感應功能,查詢參考資料也不方便。建議使用Visual C++,這個東西雖然比較大塊頭,但是一旦安裝好了,用起來很方便。
一本學習教程,現在C/C++語言教材多如牛毛,但推薦大家使用《C語言程序設計》譚浩強主編 第二版 清華大學出版社,此書編寫的很適合初學者,並且內容也很精到。
除此以外,現在有很多輔助學習的軟體,畢竟現在是Window時代了,學習軟體,學習方法多如牛毛,不象當初那些編程工程師學習,只有讀書做題這么老套。向大家推薦一個「(這里不便展示,如有想看@我)」,里邊的知識點總結和常式講解都非常好,還有題庫測試環境,據說有好幾千題,甚至還有一個windows下的trubo C,初學者甚至不用裝其它的編譯器,就可以練習編程了,非常適合初學者。還有一個「C/C++語言學習系統」軟體,不過感覺只是一個題庫系統,如果你覺得題做的不夠,不妨也可以試試。
2:葵花寶典
學習計算機語言最好的方法是什麼?答曰:讀程序,老師教。
沒錯,C/C++語言入門最快,也是最好的方法。如同我,現在學習新的J#,C#等其他語言,不再是抱著書本逐行啃,而是學習它們的常式。當然,對於沒有學過任何計算機語言的初學者,最好還是先閱讀教程,學習完每一章,都要認真體會這一章的所有概念,然後不放過這一章中提到的所有常式,然後仔細研讀程序,直到每一行都理解了,然後找幾個編程題目,最好是和常式類似的或一樣的,自己試圖寫出這段已經讀懂的程序,不要以為常式你已經讀懂了,你就可以寫出和它一樣的程序,絕對不一定,不相信你就試一試吧,如果寫不出來,也不要著急,回過頭來再繼續研究常式,想想自己為什麼寫不出來,然後再去寫這段程序,反反復復,直到你手到擒來為止,祝賀你,你快入門了。
3:登峰造極
寫程序的最高境界其實就是掌握各種解決問題的手段(數據結構)和解決問題的方法(演算法)。
是不是寫出底層程序就是程序設計高手呢?非也,寫底層程序,無非是掌握了硬體的結構,況且硬體和硬體還不一樣,要給一個晶元寫驅動程序,無非就是掌握這塊晶元的各種寄存器及其組合,然後寫值讀值,僅此而已。這不過是熟悉一些io函數罷了。那麼怎樣才算精通程序設計呢?怎樣才能精通程序設計呢?
舉個例子:你面前有10個人,找出一個叫「小劉」的人,你該怎麼辦?
第1種方法:直接對這10個人問:「誰叫小劉」。
第2種方法:你挨個去問「你是不是叫小劉?」,直到問到的這個人就是小劉。
第3種方法:你去挨個問一個人「你認不認識小劉,指給我看」。
不要小看這個問題,你說當然會選第一種方法,沒錯恭喜你答對了,因為這個方法最快,效率最高,但是在程序設計中找到解決問題的最優方法和你用的手段卻是考驗一個程序員程序設計水平的重要標志,而且是不容易達到的。
二,語言學習方法
談談偶的學習方法,拋磚引玉!
學習不論講不講方法,最終都能學會。但是別人1個月學會了,而你卻100年才學會,這不就晚了么?:)所以說,學習還是要講究方法的。學習方法正確,事半功倍;學習方法不正確,事倍而功半。
什麼才是學習C/C++語言的捷徑?我的答案是看書。書中所寫,是前人數十年經驗所寫,看十本書,就相當於汲取了前人數十年的功力,那麼你的內功也會迅速上升1甲子。書當然要看好書,只有好書才營養豐富。假如你花了1天時間看了一本破書,而該書介紹的知識雖然對於你來說是全新的知識,但是由於書中組織不當、或者深度不夠,使你獲取的營養很少,還不如自己研究一天來的快,這種書就不值當看了。
Bjarne Stroustrup的《C++程序設計語言》(The C++ Programming Language)一定要看,這本書裡面對於C的一些基礎概念的定義,比我見過的其他任何C語言書都要全,都要仔細;Bjarne Stroustrup的《C++語言的設計與演化》(The Design and Evolution of C++)和David R.Hanson 的《C語言介面與實現 創建可重用軟體的技術》(C Interfaces and Implaementations Techniques for Creating Reusable Software)一定要看,這兩本書講述了如何用C來實現異常處理、實現類型的封裝和擴展等一些大的項目中經常用到的高級技術。
其他的書,操作系統的要看,編譯原理的要看,演算法的要看,模式的也要看。讀書破萬卷,coding如有神。總而言之,就如《傳》中雲:「生而知之者,上也;學而知之者,次也;困而學之又其次也。」我們不能總是因困而學之,而要做到兵馬未動,糧草先行。
看書是學習的導向,書中能一一介紹清楚概念,但書卻不能把應用的細節一一介紹給你,因為應用總是招數繁復,變化多端。因此我們要想熟悉招數,懂得書中所講怎麼使用,還要多讀源碼。
每天堅持寫6個小時程序,《數據結構》和排列組合、圖論方面的習題反復做了N遍。要培養自己很強的編碼能力和調試能力,對將來的工作有很大的幫助。
學習忌貪多、忌浮躁、忌急功近利、忌目中無人。把學習計劃放的長一些,培養一個好的學習方法,一步一步慢慢走,終能成為高手。 C/C++是編程語言的基礎,建議大家從 C/C++開始!