c語言經典書
1. 推薦幾本c語言有關的書籍
譚浩強的c語言程序設計(大學教材,通俗易懂,就是內容枯燥了點)c語言入門經典(很適合新手,內容簡單,這是國外的書)c語言從入門到精通(也很不錯)
進階的書籍 c陷阱與缺陷,c標准庫等
2. c語言推薦參考書
你要是說權威的書,《C++編程思想》,《C++primer》都是很權威的書,但是內容太多,不太適合初學者,個人覺得譚浩強寫的書比較好,簡單易懂,適合初學者,你可以自己考慮一下
3. 學習C語言 必看的書籍
給C++初學者的50個忠告
1.把C++當成一門新的語言學習(和C沒啥關系!真的。);
2.看《Thinking In C++》,不要看《C++變成死相》;
3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因為他們很難而我們自己是初學者所以就不看;
4.不要被VC、BCB、BC、MC、TC等詞彙所迷惑——他們都是集成開發環境,而我們要學的是一門語言;
5.不要放過任何一個看上去很簡單的小編程問題——他們往往並不那麼簡單,或者可以引伸出很多知識點;
6.會用Visual C++,並不說明你會C++;
7.學class並不難,template、STL、generic programming也不過如此——難的是長期堅持實踐和不遺餘力的博覽群書;
8.如果不是天才的話,想學編程就不要想玩游戲——你以為你做到了,其實你的C++水平並沒有和你通關的能力一起變高——其實可以時刻記住:學C++是為了編游戲的;
9.看Visual C++的書,是學不了C++語言的;
10.浮躁的人容易說:XX語言不行了,應該學YY;——是你自己不行了吧!?
11.浮躁的人容易問:我到底該學什麼;——別問,學就對了;
12.浮躁的人容易問:XX有錢途嗎;——建議你去搶銀行;
13.浮躁的人容易說:我要中文版!我英文不行!——不行?學呀!
14.浮躁的人容易問:XX和YY哪個好;——告訴你吧,都好——只要你學就行;
15.浮躁的人分兩種:a)只觀望而不學的人;b)只學而不堅持的人;
16.把時髦的技術掛在嘴邊,還不如把過時的技術記在心裡;
17.C++不僅僅是支持面向對象的程序設計語言;
18.學習編程最好的方法之一就是閱讀源代碼;
19.在任何時刻都不要認為自己手中的書已經足夠了;
20.請閱讀《The Standard C++ Bible》(中文版:標准C++寶典),掌握C++標准;
21.看得懂的書,請仔細看;看不懂的書,請硬著頭皮看;
22.別指望看第一遍書就能記住和掌握什麼——請看第二遍、第三遍;
23.請看《Effective C++》和《More Effective C++》以及《Exceptional C++》;
24.不要停留在集成開發環境的搖籃上,要學會控制集成開發環境,還要學會用命令行方式處理程序;
25.和別人一起討論有意義的C++知識點,而不是爭吵XX行不行或者YY與ZZ哪個好;
26.請看《程序設計實踐》,並嚴格的按照其要求去做;
27.不要因為C和C++中有一些語法和關鍵字看上去相同,就認為它們的意義和作用完全一樣;
28.C++絕不是所謂的C的「擴充」——如果C++一開始就起名叫Z語言,你一定不會把C和Z語言聯系得那麼緊密;
29.請不要認為學過XX語言再改學C++會有什麼問題——你只不過又在學一門全新的語言而已;
30.讀完了《Inside The C++ Object Model》以後再來認定自己是不是已經學會了C++;
31.學習編程的秘訣是:編程,編程,再編程;
32.請留意下列書籍:《C++面向對象高效編程(C++ Effective Object-Oriented Software Construction)》《面向對象軟體構造(Object-Oriented Software Construction)》《設計模式(Design Patterns)》《The Art of Computer Programming》;
33.記住:面向對象技術不只是C++專有的;
34.請把書上的程序例子親手輸入到電腦上實踐,即使配套光碟中有源代碼;
35.把在書中看到的有意義的例子擴充;
36.請重視C++中的異常處理技術,並將其切實的運用到自己的程序中;
37.經常回顧自己以前寫過的程序,並嘗試重寫,把自己學到的新知識運用進去;
38.不要漏掉書中任何一個練習題——請全部做完並記錄下解題思路;
39.C++語言和C++的集成開發環境要同時學習和掌握;
40.既然決定了學C++,就請堅持學下去,因為學習程序設計語言的目的是掌握程序設計技術,而程序設計技術是跨語言的;
41.就讓C++語言的各種平台和開發環境去激烈的競爭吧,我們要以學習C++語言本身為主;
42.當你寫C++程序寫到一半卻發現自己用的方法很拙劣時,請不要馬上停手;請盡快將餘下的部分粗略的完成以保證這個設計的完整性,然後分析自己的錯誤並重新設計和編寫(參見43);
43.別心急,設計C++的class確實不容易;自己程序中的class和自己的class設計水平是在不斷的編程實踐中完善和發展的;
44.決不要因為程序「很小」就不遵循某些你不熟練的規則——好習慣是培養出來的,而不是一次記住的;
45.每學到一個C++難點的時候,嘗試著對別人講解這個知識點並讓他理解——你能講清楚才說明你真的理解了;
46.記錄下在和別人交流時發現的自己忽視或不理解的知識點;
47.請不斷的對自己寫的程序提出更高的要求,哪怕你的程序版本號會變成Version 100.XX;
48.保存好你寫過的所有的程序——那是你最好的積累之一;
49.請不要做浮躁的人;
50.請熱愛C++!
建議你買本書,書比網上的電子版教程好的多,如計算機屆超級權威教授 譚浩強 老先生寫的《C語言程序設計(第三版)》,全國發行了700萬冊,可以說是學C語言的人必看的書,我們大學就用這本書,很適合自學,通俗易懂
建議你學習其它計算機知識時也看他的書,他出的書很多,涵蓋面廣,每一本都很經典
這里有他的教程word版下載
另外,機械工業出版社的 計算機叢書系列也相當經典,全是翻譯國外經典教材,國外計算機發展早,水平比國內高很多,看這些教材事半功倍,推薦(美)Al Kelley Ira Pohl的《C語言教程第4版》
學習程序語言要持之以恆,不浮躁,祝你成功!
4. c語言的經典書籍有哪些
《The C Programming Language》
《C Primer Plus》
《C 現代方法》
《C和指針》
《C專家編程》
《C陷阱和缺陷》
..................
5. C語言入門經典書籍有哪些
1.C語言入門經典(第5版)
C語言是每一位程序員都應該掌握的基礎語言。C語言是微軟.NET編程中使用的C#語言的基礎;C語言是iPhone、iPad和其他蘋果設備編程中使用的Objective-C語言的基礎;C語言是在很多環境中(包括GNU項目)被廣泛使用的C++語言的基礎。C語言也是Linux操作系統及其很多功能的基礎。學習C語言可以給編程職業生涯提供牢固的基礎,也有助於更好地理解更為現代的語言(如Java)。
2.C語言編程:一本全面的C語言入門教程(第三版)
C語言編程:一本全面的C語言入門教程(第三版)是一本極負盛名的C語言入門經典教材,其第一版發行至今已有20年的歷史。本書內容詳實全面,由淺入深,示例豐富,並在每個章節後面附有部分習題,非常適合讀者自學使用。除此之外,《C語言編程》一書對於C語言標準的最新進展、C語言常見開發工具以及管理C語言大型項目等重要方面,也進行了深入淺出的說明。
3.C語言從入門到精通
《C語言從入門到精通》以零基礎講解為宗旨,用實例引導讀者深入學習,採取「基礎知識→核心技術→趣味題解→項目實戰」的講解模式,深入淺出地講解C語言的各項技術及實戰技能。
6. 有什麼經典的c語言演算法書推薦一下嗎
演算法導論
數據結構 嚴蔚敏
數據結構與演算法分析——c語言描述
演算法珠璣
c編程專家
這幾個都可以考慮.
7. 誰能推薦幾本比較好的C語言書籍
1、清華大學出版社的:跟我學 C程序設計;但書中錯誤不少,錯誤多這個特點是國內寫的書的主要特點。
2、C和指針(美)。
3、C Primer Plus(第五版)中文版。
4、C程序設計語言(第2版•新版)。徐寶文、李志譯。04年版。ISBN9787111128069。英文名:The Programming Language Second Edition。
5、二級C語言考試用書,也不錯,知識點也很全面。
8. C語言進階學習有哪些經典書籍
《C語言程序設計》
作者:郭有強 編
出 版 社:清華大學出版社
評價:書很利索,該有的都有,如果你還沒有一本滿意的C語言課本,買它沒錯。(也可以閱讀外國的經典C語言書籍)
《C和指針》
POINTERS ON C Kenneth A.Reek、
徐波 人民郵電出版社
評價:不算厚的書,糾正對指針的錯誤理解,這是必讀經典,相信會帶給你很多思考。(單單一本還不夠,繼續往後看)
《C陷阱與缺陷》
Andrew Koenig、 高巍
人民郵電出版社
評價:172頁,應當1-2天看完,讀完豁然開朗,對C語言常見的陷阱進行剖析,必須經典。
《C專家編程》
Expert C Programming Deep C Secrets Peter Van
Der Linden 人民郵電出版社 (2008-02出版)
評價:200多頁,應當2天左右看完,本書讀起來很舒坦,不可多得的好書,帶你領略語法之外的奧秘,必讀經典。
②數據結構與演算法:
《清華大學計算機系列教材•數據結構(C語言版)(附光碟1張)》
吳偉民、 嚴蔚敏
清華大學出版社
評價:數據結構都是類C的偽代碼描述,初次接觸編程的同學可能理解不了,我也一樣。我是看嚴蔚敏視頻學會的數據結構,希望這個辦法對你們也同樣有效。
《計算機演算法設計與分析(第3版)》
王曉東
電子工業出版社
評價:這是我們的課本,不過的確是學習它才把數據結構和演算法入門了,為後面進階做了鋪墊。
《演算法藝術與信息學競賽•演算法競賽入門經典》
劉汝佳
清華大學出版社
評價:了解數據結構怎麼用,常用演算法與思想,書不厚,但很給力。初學可能有障礙,但這的確是入門經典書籍,請不要放棄。
《演算法導論(原書第2版)》
科曼(Cormen T.H.)、等、 潘金貴
機械工業出版社 (2006-09出版)
評價:經典中的經典,無需多說,不要問我看哪些內容,負責任的說:有能力就多看點,其實都能看懂,書中的內容與思想將會終身受用。
《編程之美:微軟技術面試心得 》
《編程之美》小組
電子工業出版社
評價:微軟出品,像是一本小故事集,將數學和編程之美展露無疑,學起來很輕松,反復回顧收獲頗豐。
《編程珠璣(第2版)》
Jon Bentley、黃倩、 錢麗艷
人民郵電出版社
評價:主要是數據結構和演算法,都是常用的內容,不過作者思維新奇,跟隨作者一起思考會碰撞出不少火花,評價非常高的一本書,本人沒有順序閱讀,感興趣的內容翻了翻。
《演算法藝術與信息學競賽 》
劉汝佳
清華大學出版社
評價:放在最後,因為此書的確很專業,我這點智商也駕馭不了,信息學競賽必備。
《程序員面試寶典(第3版)》
歐立奇、劉洋、 段韜
電子工業出版社
評價:這本書很神奇,大二下學期的時候我就買了並看完了,等到大三找工作的時候發現里邊的提到的陷阱題目還是有點意思的,C語言掌握的怎麼樣拿這本書驗一驗就知道了。
《數學之美》
(《浪潮之巔》作者吳軍最新力作,李開復作序推薦,Google黑板報百萬點擊)
9. 歷史上最權威最經典的關於C語言的書是哪本
C程序設計之四書五經
自從Dennis M.Ritchie於1973年設計並實現C語言以來,計算機程序設計領域已經發生了巨大的變化。以C語言為根基的C++、Java和C#等面向對象語言相繼誕生,並在各自領域大獲成功。今天,C及其後裔幾乎統治了計算機程序設計世界。可以這么說,C語言的誕生是現代程序語言革命的起點,它改變了程序設計語言發展的軌跡,是程序設計語言發展史中的一個里程碑。
然而,C並不僅僅是其他語言的起點和基礎,否則它早已成為程序設計語言發展過程中又一個被遺棄者。和當初發明時一樣,C語言今天依然至關重要。它的表達力、效率、簡練、緊湊、對機器的最終控制以及跨平台的高度移植性,使其在系統編程、嵌入式編程等領域一直占據著統治地位,而C99標準的制訂則再一次使C語言煥發出新的活力。下文介紹C程序設計領域中的幾本好書,其中一些堪稱經典。
1. Brian W.Kernighan, Dennis M.Ritchie,《C程序設計語言》,機械工業出版社
這是迄今為止在所有程序設計語言書籍中最廣受尊敬的一部經典,是任何一名C程序員的必讀之作。因為出自C語言的設計者Dennis M.Ritchie和著名的計算機科學家Brian W.Kernighan之手,它被昵稱為「K&R C」。是它首先引入了「Hello World!」程序,這個程序幾乎成了後來任何一本入門性程序設計語言書籍中的第一個例子。
如同C語言本身簡潔緊湊而極具威力一樣,這本書輕薄短小而極富張力。通過簡潔的描述和典型的示例,它全面、系統、准確地講述了C語言的各個特性以及C程序設計的基本方法,內容涵蓋基本概念、類型和表達式、控制流、函數與程序結構、指針與數組、結構、輸入與輸出、UNIX系統介面以及標准庫等內容。
簡潔清晰是這本書最大的特色。這本小書可以教給你許多比它厚幾倍的「大部頭」的知識。我認為那些動輒洋洋灑灑拼湊出好幾百頁乃至上千頁的技術作者應該好好向K&R學一學。對於中、高級程序員而言,如果希望迅速獲得C語言的嚴肅知識而又不願意多花費哪怕一丁點時間,這本書就是首選。
順便說一句,這本書的索引製作非常出色,極具實用價值,這可能首先要歸功於正文部分的簡明扼要。此外,盡管它看上去很像一本教程,但其實更是一本寫給專業程序員的指南。如果你不具備任何其他語言程序設計背景或基本的C語言知識,這本書也許並不適合用作你的C語言啟蒙讀物。
2. Perter Van Der LinDen,《C專家編程》,人民郵電出版社
C語言是嚴肅的程序員語言,但這並不意味著C語言書籍必須板著面孔說教。在這本被C程序員昵稱為「魚書」(封面上有一條「醜陋的」腔棘魚)的著作中,作為SUN公司編譯器和操作系統核心開發組成員之一,Peter淋漓盡致地展示了其深厚的技術沉澱、豐富的項目經驗、高超的寫作技巧以及招牌式的幽默。在這部作品中,作者以流暢的文字、詼諧的筆法將逸聞典故、智慧和幽默自然地融入技術描述中,讀來宛若一本小說,極富趣味。
本書講述了C語言的歷史、語言特性、聲明、數組、指針、連接、運行時以及內存使用等知識,揭示了C語言中許多隱晦之處,尤其深入解析了聲明、數組和指針、內存使用等方面的細節。要想成為一名專家級C程序員,這些內容都是必須掌握的。和其他滿是抽象例子的C語言書籍不同,這本書充滿了大量的來自真實世界的C程序設計實例,它們對C程序員具有很高的參照價值。另外,每一章都以極富趣味的「輕松一下」收尾,而附錄A「程序員工作面試的秘密」則是任何語言的程序員在應聘工作前增強自信的好材料。
我懷疑真正的C專家可能用不著看這本書 — 從內容到組織方式到行文風格都決定了這是一本輕松愉快的「從菜鳥到高手」的進階讀本,所以,它理應擁有更廣泛的讀者群。初級程序員往往更需要熱情的鼓勵,在閱讀這本書的過程中,你定會深深地被作者對編程的激情所感染。
世間並無完美。我認為這本書的缺陷在於,和大多數平庸的C語言書籍一樣,它畫蛇添足地加入了一章關於C++的描述。在今天看來,這個描述既不全面也有失公允。不過,鑒於作者是在1994年從一名C程序員的角度去觀察C++,這一點也就不足為奇了。
3. Samuel P. Harbison, Guy L. Steele,《C語言參考手冊(第五版)》(影印版),人民郵電出版社
在C語言參考手冊類書籍里,Samuel P. Harbison 和Guy L. Steele合著的《C: A Reference Manual》是非常出色的一本。這本手冊的第五版新增了對C99標準的介紹,以便滿足新時期C語言學習的需要。全書共分為兩大部分,第一部分專注於C語言特性,第二部分則全面討論了C標准庫。本書涵蓋C99、C89、傳統的C、所有版本的C運行庫以及編寫與C++兼容的C代碼等一切知識。
這本手冊只是中等厚度,但它比「比它更厚」的其他參考手冊更清晰地描述了C語言的現在和過去的方方面面。整本手冊技術細節描述精確,組織條理清楚,內容完備詳盡而又簡明扼要。可以這么說,它在廣度、深度和精度方面都是出類拔萃的。對於中、高級C程序員而言,這本手冊值得常備案頭,它幾乎肯定要比K&R的著作使用頻率更高。
2004年2月1日補充:我手頭有這本書的中文版:《C語言參考手冊》(機械工業出版社出版)。它在很大程度上減輕了我的查閱負擔,不過偶爾也增加了理解上的困難。
4. David Hanson,《C語言介面與實現:創建可重用軟體的技術》,機械工業出版社
C語言能夠歷經三十多年而不衰,一個重要的原因在於它的適應能力。在這「復用」、「面向對象」、「組件」、「異常處理」等先進機制漫天飛舞的年代,C語言仍然能夠憑借它小而優雅的語言特性,在相當程度上滿足現代軟體體系架構提出的要求。只不過,想要達到這個程度,必須要在C的應用功力上達到最高層次。在嵌入式、系統軟體以及對性能要求極高的系統開發中,開發人員必須達到這樣的層次,熟練掌握C語言的高級特性,才能夠同時滿足效率和靈活性、復用性的要求。可惜,雖然C語言技術圖書汗牛充棟,但是關注這個峰頂之域的作品卻是屈指可數。David Hanson的《C Interfaces and Implementations》就是個中翹楚。
David Hanson是業內大名鼎鼎的自由編譯器lcc的合作者。在這個項目中,他負責提供高度可復用的基礎架構。在不斷的實踐中,他完全使用ANSI C形成了一整套可復用組件庫。這套組件庫架構清晰,性能優異,而且提供了很多高級的特性,比如類Win32 SEH的異常處理機制,可移植的線程庫,高性能的內存池,豐富的可復用數據結構組件。David Hanson把他在創作這些組件的過程中所積累的心得以及對其源碼的精緻剖析原原本本地寫在了這本書里。這樣的著作,當然堪稱C語言領域里的銘心絕品。難怪已故著名技術作家Richard Stevens對此書贊不絕口,他說:「這本書中的技術,對於大部分C程序員來說,已經遺忘得太久了。」對於希望能在C語言應用上達到最高層次的核心程序員而言,這本書是難得的必讀之作。
其他
除了以上四本書以外,我還樂意推薦Andrew Koenig的著作《C陷阱和缺陷》(人民郵電出版社)和Deitel父子合著的《C How to Program》兩本書。
Andrew Koenig是世界上屈指可數的C++專家,他的這本書可能是最薄的一本C語言經典。它簡明扼要地講述了C程序設計中的陷阱和缺陷,包括詞法陷阱、語法陷阱、語義陷阱、連接、庫函數、預處理器以及可移植性缺陷等,最後一章還給出了關於如何減少程序錯誤的建議以及前面各章問題的參考答案。盡管這個小冊子成書於C89標准制定之前,然而,即使到了C99早已頒布的今天,書中提到的大多數陷阱和缺陷一如十五年前那樣使我們警醒。
Deitel父子合著的《C How to Program》一直是非常好的C語言入門教程,我手頭的中譯本名為《C程序設計教程》(機械工業出版社出版,原書第二版)。除了對技術的正規描述(輔以許多簡明扼要的例子)外,每一章後面都帶有小結、術語、常見的程序設計錯誤、良好的程序設計習慣、性能忠告、可移植性忠告、軟體工程評述、自我測驗練習及答案等。整書內容清晰,組織良好,易於閱讀和理解。值得一提的是,有許多入門書讀完一遍即可扔掉,而這一本是個例外。
結語
以上這幾本書很大程度上局限於描述C語言及標准庫本身,如果希望學習更專業的、領域相關的C程序設計技術,你可以在選擇閱讀這幾本書的基礎上繼續查閱專門書籍。此外,在C語言書籍領域,水平不相上下的作品有很多,這幾本只是根據我自身的閱讀體驗而做出的推薦。
我並不是一名C程序員,我的大多數時間都花在C的後裔語言尤其是C++身上了。然而,正如你知道的那樣,C++並不全是類和模板,不全是面向對象和泛型編程,在較低的層面,C++的各個實現一如既往在很大程度上兼容C。C++和C的親密關系決定了每一本C語言經典都應該是C++程序員的讀物。
這世界變化得真是太快。各色新事物層出不窮,讓人眼花繚亂、目不暇接。人們也很容易被那些五光十色的花哨玩意兒所吸引,常常會忘記構築過去、現在和未來的堅實基礎。C語言就是這樣的基礎之一。今天,世界上有許多我們看不見的重要軟體是用C語言(以及C++等)編寫而成的,正是它們在默默地支撐著這個信息世界的運轉。
10. 學習c語言,有哪些經典的書
《C程序設計語言》 - 比較短小,跟《C++程序設計語言》的洋洋千頁,娓娓道來的風格比較而言,應該說也是C的簡潔凝練的體現吧。此書適合有一定實踐經驗的人作為一個全面熟悉和鞏固語言的工具書,不是很適合初學者用來了解和學習。當然了,本書有一定的歷史意義,可以買一本純收藏,亦或安慰一下自己,對K&R稍表敬仰之寸心。總得來說,K&R網上評價一直非常高,這一點我個人持保留意見。
《C和指針》 - 不要被書名騙了,此書看似專說指針,實則是C語言較完整的語言和運行環境的描述。雖然有一些復制粘貼充篇幅的嫌疑(後面的字元串,數據結構,IO,標准庫什麼的顯得有點大雜燴,好吧我真的不是黑,不過真的有必要把F1一下就能看到的文檔都弄進來嗎?),不過對一些編譯器的實現細節有一些探討還是值得一讀的。對了,有的練習題還不錯。總得來說,值得買來略掃一遍。
《C專家編程》 - 好吧,這個書裡面有不少八卦和無厘頭,適合宅男們消磨時間用。舉個栗子吧,卡耐基梅隆大學的計算機系經常搞活動,有一次搞了個編程競賽,實現功能巴拉巴拉巴拉,要求就一條——盡可能的快。我會隨便說第一名消耗的時間是負數嗎?是的,你沒看錯!這廝寫的程序消耗了負數的時間!!想知道真相嗎?去找一本來翻翻吧,呵呵。再來一個吧,大家知道MIT人工智慧研究室的宅男們整天都在研究什麼嗎?這些熱情的傢伙們用LISP去控制自己樓上的電梯升降(據說這貨還能自檢自己是不是真身,免得被黑客利用了讓自己人卡在電梯里出不來)。他們還專門設計了個網路協議(運行在七十年代的互聯網上),用來查詢樓道里的可樂機里有沒有貨,夠不夠涼(就為了少跑點路)。我勒個去,宅到這個地步,家裡人知道嗎?這下大家知道為啥人工智慧多年來都沒啥進展了吧。唉,控制不住啊,一說起八卦就停不下來。你是不是已經看到了謝耳朵同學的影子了?是的,我看這個書就有看《生活大爆炸》的感覺,可以買來樂一下。
《C陷阱與缺陷》 這本書是典型的挑刺黨了,不過在我看來,(可能是成書比較古老的緣故),它挑的刺普遍不夠硬,沒啥殺傷力,基本上都屬於初級(勉強中級)錯誤。實打實寫過幾年C語言的同學應該明白我的意思,想看那些真正的缺陷和陷阱還是得在實際項目里找啊(我是說的那種一槍把自己的腳轟碎了的那種)。這書沒啥好看的,誰要的話我五毛賣給他。