本文目錄一覽:
c語言入門自學書籍都有哪些?
鏈接:
提取碼: y42j
《C語言基礎》深入淺出地介紹了C語言程序設計的基礎知識,內容涉及C語言基礎、演算法基礎、變數、數據類型、運算符、輸入/輸出相關函數、選擇結構、循環結構、各種表達式、數組、字元串、指針、函數、結構體、ISO C99的擴展語法等。全書內容豐富,結構嚴謹,層次清晰,語言生動,論述精準而深刻,實例豐富而實用。
學習C語言 必看的書籍
Brian W.Kernighan, Dennis M.Ritchie,《C程序設計語言》
清華影印版、習題集;機械譯文版(新版、老版):習題集
這是迄今為止在所有程序設計語言書籍中最廣受尊敬的一部經典,是任何一名C程序員的必讀之作。因為出自C語言的設計者Dennis M.Ritchie和著名的計算機科學家Brian W.Kernighan之手,它被昵稱為「KR C」。是它首先引入了「Hello World!」程序,這個程序幾乎成了後來任何一本入門性程序設計語言書籍中的第一個例子。
如同C語言本身簡潔緊湊而極具威力一樣,這本書輕薄短小而極富張力。通過簡潔的描述和典型的示例,它全面、系統、準確地講述了C語言的各個特性以及C程序設計的基
法,內容涵蓋基本概念、類型和表達式、控制流、函數與程序結構、指針與數組、結構、輸入與輸出、UNIX系統介面以及標準庫等內容。
簡潔清晰是這本書最大的特色。這本小書可以教給你許多比它厚幾倍的「大部頭」的知識。我認為那些動輒洋洋洒洒拼湊出好幾百頁乃至上千頁的技術作者應該好好向KR學一學。對於中、高級程序員而言,如果希望迅速獲得C語言的嚴肅知識而又不願意多花費哪怕一丁點時間,這本書就是首選。
順便說一句,這本書的索引製作非常出色,極具實用價值,這可能首先要歸功於正文部分的簡明扼要。此外,儘管它看上去很像一本教程,但其實更是一本寫給專業程序員的指南。如果你不具備任何其他語言程序設計背景或基本的C語言知識,這本書也許並不適合用作你的C語言啟蒙讀物。
2. Perter Van Der LinDen,《C專家編程》
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程序員而言,這本手冊值得常備案頭,它幾乎肯定要比KR的著作使用頻率更高。
4. David Hanson,《C語言介面與實現:創建可重用軟體的技術》,機械工業出版社
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兩本書。
C專家編程
Andrew Koenig是世界上屈指可數的C++專家,他的這本書可能是最薄的一本C語言經典。它簡明扼要地講述了C程序設計中的陷阱和缺陷,包括詞法陷阱、語法陷阱、語義陷阱、連接、庫函數、預處理器以及可移植性缺陷等,最後一章還給出了關於如何減少程序錯誤的建議以及前面各章問題的參考答案。儘管這個小冊子成書於C89標準制定之前,然而,即使到了C99早已頒布的今天,書中提到的大多數陷阱和缺陷一如十五年前那樣使我們警醒。
C程序設計教程
Deitel父子合著的C How to Program一直是非常好的C語言入門教程,我手頭的中譯本名為《C程序設計教程》(機械工業出版社出版,原書第二版)。除了對技術的正規描述(輔以許多簡明扼要的例子)外,每一章後面都帶有小結、術語、常見的程序設計錯誤、良好的程序設計習慣、性能忠告、可移植性忠告、軟體工程評述、自我測驗練習及答案等。整書內容清晰,組織良好,易於閱讀和理解。值得一提的是,有許多入門書讀完一遍即可扔掉,而這一本是個例外。
結語以上這幾本書很大程度上局限於描述C語言及標準庫本身,如果希望學習更專業的、領域相關的C程序設計技術,你可以在選擇閱讀這幾本書的基礎上繼續查閱專門書籍。此外,在C語言書籍領域,水平不相上下的作品有很多,這幾本只是根據我自身的閱讀體驗
新手自學C語言適合看什麼書呢?
現在,市面上的
C語言書籍多的數不過來,但是很多不適合你這種初學者使用,作為一名老程序員,我給你推薦幾本我看過認為還不錯的書:
1)
《C語言小白變怪獸》:既適合對計算機一竅不通的小白,也適合有編程基礎的讀者,還可以用來進階。同時,最重要的是,這本書的作者還在不斷地更新這本書,我認為最大的特點是通俗易懂,深入淺出,只要認真看,就一定能看懂,我認為這是C語言入門的首選教材,吐血推薦,經典中的經典!!!
2)
《啊哈C語言》:適合對計算機一竅不通的純小白,有編程基礎的讀者請忽略。這本書語言幽默,生動形象,通俗易懂,給人耳目一新的感覺,但是這本書非常淺顯,並不深入,所以適合純小白入門,找到門以後也就扔了。這本書著重於語言藝術,針對純小白下足了功夫,小學生坐在馬桶上都能學會編程。說實話,我非常欣賞作者的創意和用心,國內像這樣寫書的少之又少,入門的書就應該是這個樣子。
上邊這兩本書是我推薦給你用於C語言入門的,我不建議你使用譚浩強的《C語言程序設計》這本書入門,雖然這本書的知名度很高,因為很多大學把它作為C語言的授課教材,然而,這本書被吐槽最多,不但代碼不標準,而且有很多錯誤,據說可以找出幾十個錯誤,這樣很容易誤導你這種小白。
等你有一定的C語言基礎了,可以看下面的這幾本書,進一步提升你的編程水平:
1)
《C
Primer
Plus》:暢銷
30
余年的C語言入門經典書籍,至今無人能撼動它的地位,它是最符合C語言標準的書籍,作為一名C語言程序員,不收藏一本都覺得自己很水。
2)
《C程序設計語言,The
C
Programming
Language》:C語言創始人丹尼斯·里奇(Dennis
MacAlistair
Ritchie)的著作,和《C
Primer
Plus》並駕齊驅,很難分出伯仲,這兩本書都是一樣的優秀,都是C語言程序員必須收藏的。
3)
《C專家編程》:適合已經具備C語言基礎、想進階的讀者。這貌似是一本吐槽C語言的書,基本上介紹了大多數C語言的坑,有不少精髓,在C語言界久負盛名,進階時一定要看。
4)
《C陷阱與缺陷》:和《C專家編程》類似,也是給C語言挑刺的,闡述了很多容易讓人誤解的語法細節,重在幫助C程序員繞過編程過程中的陷阱和障礙。
5)
《程序員的自我修養
—
鏈接、裝載與庫》:這真是一本深入骨髓的書,讓你徹底明白程序的編譯、鏈接、裝載和運行的全過程,你會從此上天,拉開和別人的差距,看任何問題都有了深度和高度。重點推薦!
所有的這些書我都有電子版,需要可以找我要!
學習c語言看什麼書好?
如果是自學的話,最好不要看潭浩強的書,他喜歡用數學公式做例題,不適合初學者或自學。
其實潭浩強的書並不怎麼樣,比國外的教程差遠了,只是國內高校缺乏創新意識,跟風現象嚴重,從高校到職校,《C程序設計》幾乎人手一本,這才創下了「發行量第一」現象。而且潭浩強已公開表示:不再就他的書回答任何技術性的問題!這分明是對自己技術沒信心、落後於時代的表現。
國外教程:
《21天學通C語言》
《C語言三日通》(很多人國外自學者都是看了這本書才入門的,所用的例題簡單易懂)
再介紹以下兩本真正經典的教材:
1.《The C Programming Language》
2.《Expert C Programming — Deep C Secrets》
如果E文好就看原版,否則只有買譯本了。
強調一句:如果您是自學(初學者),千萬別表譚浩強的書,否則你很難看懂。他的書到處都是,您自己找一本先體驗一下就知道了。
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黑板報百萬點擊)
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語言的各項技術及實戰技能。
為什麼C語言是最好的入門語言?
現在java大行其道,特別是中國互聯網的快速發展,app以及服務端的開發現在流行的程度大大的蓋過了傳統的c語言和c++,從各個公司的招人簡章上面就可以看出。弄得很多做了很多年的嵌入式老工程師喊著別學c語言,招的人太少了,抓緊學習app開發吧。這架勢弄得很多小白都覺得用c語言作為入門語言是一種錯誤的選擇,難道c語言真的過時了嘛?
c語言相比較java,c#,php,python等之類的語言顯得有點過時的感覺。但是c語言本身附屬的影響力以及歷史地位都是值得初學者以c語言作為初級的入門語言,選擇c語言作為入門語言幾種理由。
(1).對於想從事嵌入式底層開發以及對開源操作系統特別是linux感興趣的小夥伴,學好c語言是必須具備的功課,底層操作系統實現語言基於c語言或者彙編,絕大部分還是c語言。對於有志於了解整個計算機系統架構或者做架構師的小夥伴,c語言是必須要深刻掌握的語言。
(2).c語言作為存在歷史這麼長久的語言,基於c語言的架構體系留存在各個大公司,所以基於這點來說工作機會還是相當多的,而且現在大家經常使用的掌上遊戲機,自動拖地機器人,冰箱,空調裡面的晶元的驅動以及應用程序絕大部分還是c語言來實現,哪能輕易就說c語言就這麼不行了,所以學好c語言就業的前景還是一片光明。
(3).如果具備了c語言基礎再去學習更加高級的語言,對於高級語言系列的編程絕對是個利好。因為有了對底層語言實現上面的了解,特別是對指針的了解,對於上層語言編寫大型的程序或者定位工程的性能或者內存問題,會有比較深刻的認識。算是對知識層次一個很好的補充。
(4).最早的開源代碼很多都是基於c語言實現,後來別的語言的開源社區也慢慢的豐富起來了,有了c語言基礎也可以火熱的加入到開源社區裡面,加入開源社區可以學習標準的代碼規範,了解最前沿的技術發展方向,也可以利用開源項目,提升自身的項目經驗,為找工作或者提升代碼修養提供一個很不錯的基礎。
說了這麼多,c語言作為入門語言,從多個層面了解利用c語言作為初級的編程入門語言,還是相當靠譜的。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/150935.html