Ⅰ 新手自學c語言適合看什麼書
新手自學C語言需要先看《C程序設計語言》,這是基礎,必須把基礎知識學牢固了,才能看其他C語言的書。
Ⅱ 誰能給我推薦幾本不錯的<C語言習題>方面的書
可以看看<<Thinking in c>>,在網上可以下載的c語言的電子書有很多,
建議你去一個網站看看:
〔url]http://download.chinaitlab.com/program/list/96_1.html[url]
要學好c只看書是不夠的,編程的細節要在不斷的上機操作和看源代碼中學到的。好的c語言的書也有細節方面的知識,然而不學習源代碼,編程的細節也是不容易理解的。我建議你從網上下載一些源代碼看看,自己多上機寫一些程序,當你自己不知道寫什麼好時,可以把書上的代碼自己寫寫看,看能不能夠實現。
Ⅲ 介紹幾本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語言的嚴肅知識而又不願意多花費哪怕一丁點時間, 這本書就是首選。四書五經:CSDN《程序員》四書五經專欄歷年文章匯總 順便說一句,這本書的索引製作非常出色,極具實用價值,這可能首先要歸功於正文部分 的簡明扼要。此外,盡管它看上去很像一本教程,但其實更是一本寫給專業程序員的指南。如 果你不具備任何其他語言程序設計背景或基本的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語言參考手冊(第五版)》四書五經:CSDN《程序員》四書五經專欄歷年文章匯總 影印版(機械工業出版社)、中文版(機械工業出版社) 在C語言參考手冊類書籍里,Samuel P. Harbison 和Guy L. Steele合著的C: AReference Manual是非常出色的一本。這本手冊的第五版新增了對C99標準的介紹,以便滿足新時期C語 言學習的需要。全書共分為兩大部分,第一部分專注於C語言特性,第二部分則全面討論了C標 准庫。本書涵蓋C99、C89、傳統的C、所有版本的C運行庫以及編寫與C++兼容的C代碼等一 切知識。 這本手冊只是中等厚度,但它比「比它更厚」的其他參考手冊更清晰地描述了C語言的現在和 過去的方方面面。整本手冊技術細節描述精確,組織條理清楚,內容完備詳盡而又簡明扼要。 可以這么說,它在廣度、深度和精度方面都是出類拔萃的。對於中、高級C程序員而言,這本 手冊值得常備案頭,它幾乎肯定要比K&R的著作使用頻率更高。
4. David Hanson,《C語言介面與實現:創建可重用軟體的技術》,機械工業出版社 C語言介面與實現:創建可重用軟體的技術 C語言能夠歷經三十多年而不衰,一個重要的原因在於它的適應能力。在這「復用」、「面向 對象」、「組件」、「異常處理」等先進機制漫天飛舞的年代,C語言仍然能夠憑借它小而優雅的語言 特性,在相當程度上滿足現代軟體體系架構提出的要求。只不過,想要達到這個程度,必須要 在C的應用功力上達到最高層次。在嵌入式、系統軟體以及對性能要求極高的系統開發中,開 發人員必須達到這樣的層次,熟練掌握C語言的高級特性,才能夠同時滿足效率和靈活性、復 用性的要求。可惜,雖然C語言技術圖書汗牛充棟,但是關注這個峰頂之域的作品卻是屈指可 數。David Hanson的C Interfaces and Implementations就是個中翹楚。 David Hanson是業內大名鼎鼎的自由編譯器lcc的合作者。在這個項目中,他負責提供高度四書五經:CSDN《程序員》四書五經專欄歷年文章匯總 可復用的基礎架構。在不斷的實踐中,他完全使用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程序設計教程》(機械工業出版社出版,原書第二版)。除了對技術的正規描述(輔以許 多簡明扼要的例子)外,每一章後面都帶有小結、術語、常見的程序設計錯誤、良好的程序設四書五經:CSDN《程序員》四書五經專欄歷年文章匯總 計習慣、性能忠告、可移植性忠告、軟體工程評述、自我測驗練習及答案等。整書內容清晰, 組織良好,易於閱讀和理解。值得一提的是,有許多入門書讀完一遍即可扔掉,而這一本是個 例外。 結語 以上這幾本書很大程度上局限於描述C語言及標准庫本身,如果希望學習更專業的、領域 相關的C程序設計技術,你可以在選擇閱讀這幾本書的基礎上繼續查閱專門書籍。此外,在C語 言書籍領域,水平不相上下的作品有很多,這幾本只是根據我自身的閱讀體驗而做出的推薦。 我並不是一名C程序員,我的大多數時間都花在C的後裔語言尤其是C++身上了。然而,正 如你知道的那樣,C++並不全是類和模板,不全是面向對象和泛型編程,在較低的層面,C++ 的各個實現一如既往在很大程度上兼容C。C++和C的親密關系決定了每一本C語言經典都應該 是C++程序員的讀物。 這世界變化得真是太快。各色新事物層出不窮,讓人眼花繚亂、目不暇接。人們也很容易 被那些五光十色的花哨玩意兒所吸引,常常會忘記構築過去、現在和未來的堅實基礎。C語言 就是這樣的基礎之一。今天,世界上有許多我們看不見的重要軟體是用C語言(以及C++等)編 寫而成的,正是它們在默默地支撐著這個信息世界的運轉。
Ⅳ 學習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版》
學習程序語言要持之以恆,不浮躁,祝你成功!
Ⅳ 學習C語言的書都有哪些
目前國內普遍使用譚浩強的c語言程序設計,但是看你想學到什麼程度。如果只是入門這本足夠了。如果以後想從事c開發的工作。個人建議找基本國外的書,去書店就有。最好是英文版的,如果英語不是特別好就找翻譯過來的。希望對你有幫助
Ⅵ 推薦幾本學習c語言的書
學習C語言需要:
A.多看書:
基礎類:譚浩強的《C程序設計》、Stephen Prata的《C Primer Plus》;
提高類:RITCHIE(C創造者)的《C程序設計語言》、AndrewKoenig的《C陷阱與缺陷》、Peter Prinz的《C語言核心技術》;
拔高類:《C專家編程》(經典);
應用類:《C程序員成長攻略》、《演算法導論》、《數據結構》等等;
你可以按照這個順序來看書,這樣下來肯定會成為高手的。
B.多讀代碼;
C.多抄襲代碼;
D.多動手;
Ⅶ 學習C語言有什麼書適合新手看
學習C語言不是一朝一夕的事情,但也不需要花費十年時間才能精通。如何以最小的代價學習並精通C語言是本文的主題。請注意,即使是「最小的代價」,也絕不是什麼捷徑,而是以最短的時間取得最多的收獲,同時也意味著你需要經歷艱苦的過程。
一、要讀就讀好書,否則不如不讀
所有初學者面臨的第一個問題便是:如何選擇教材。好的開始是成功的一半,選擇一本優秀的教材是事半功倍的關鍵因素。不幸的是,學校通常會幫你指定一本很差勁的C語言課本;而幸運的是,你還可以再次選擇。
大名鼎鼎的譚浩強教授出了一本《C語言程序設計》,據說發行量有超過400萬,據我所知,很多學校都會推薦這本書作為C語言課本。雖然本人的名字(譚浩宇)跟教授僅僅一字之差,但我是無比堅定地黑他這本書的。這本書不是寫給計算機專業的學生的,而是給那些需要考計算機等級考試的其它專業學生看的。這本書的主要缺點是:例子程序非常不專業,不能教給你程序設計應該掌握的思考方式;程序風格相當地不好,會讓你養成亂寫代碼的惡習;錯誤太多,曾經有人指出過這本書的上百個錯誤,其中不乏關鍵的概念性錯誤。好了,這本書我也不想說太多了,有興趣大家可以網路一下:)
Kernighan和 Ritchie的《The C Programming Language》(中譯名《C程序設計語言》)堪稱經典中的經典,不過舊版的很多內容都已過時,和現在的標准C語言相去甚遠,大家一定要看最新的版本,否則不如不看。另外,即使是最經典最權威的書,也沒有辦法面面俱到,所以手邊常備一本《C語言參考手冊》是十分必要的。《C語言參考手冊》就是《C Reference Manual》,是C語言標準的詳細描述,包括絕大多數C標准庫函數的細節,算得上是最好的標准C語言的工具書。順便提一句,最新的《C程序設計語言》是根據C89標准修訂的,而《C語言參考手冊》描述的是C99標准,二者可能會有些出入,建議按照C99標准學習。還有一本《C和指針》,寫得也是相當地不錯,英文名是《Pointers on C》,特別地強調指針的重要性,算是本書的一個特點吧。不過這本書並不十分適合初學者,如果你曾經學過C語言,有那麼一些C語言的基礎但又不是很扎實,那麼你可以嘗試一下這本書。我相信,只要你理解了指針,C語言便不再神秘。
如果你已經啃完了一本C語言教材,想要更進一步,那麼有兩本書你一定要看。首先是《C Traps and Pitfalls》(中譯名《C陷井與缺陷》),很薄的一本小冊子,內容非常非常地有趣。要注意一點,這本書是二十多年前寫成的,裡面提到的很多C語言的缺陷都已被改進,不過能夠了解一些歷史也不是什麼壞事。然後你可以挑戰一下《Expert C Programming》(中譯名《C專家編程》),書如其名,這本書頗具難度,一旦你仔細讀完並能透徹理解,你便可以放心大膽地在簡歷上寫「精通C語言」了。
切記一個原則,不要讀自己目前還看不懂的書,那是浪費生命。如果你看不懂,那你一定是缺失了某些必需基礎知識。此時,你要仔細分析自己需要補充哪些內容,然後再去書店尋找講述的這些內容的書籍。把基礎知識補充完畢再回頭來學習,才會真正的事半功倍。
二、Unix/Linux還是Windows,這是個很大的問題
不同的編程環境會造就出不同思維的程序員。Windows的程序員大多依賴集成開發環境,比如Visual Studio,而Unix程序員更加鍾愛Makefile與控制台。顯而易見,集成開發環境更容易上手,在Windows上學習C語言,只需要會按幾個基本的Visutal C++工具欄按鈕就可以開始寫Hello, World!了,而在Unix下,你需要一些控制台操作的基本知識。有人也許認為Unix的環境更簡潔,但習慣的力量是很大的,大家都很熟悉 Windows的基本操作,而為了學習C語言去專門裝一個Unix系統,似乎有點不劃算。
對於一個只懂得Windows基本操作、連 DOS是什麼都不知道的新手而言,盡快做一些有趣而有意義的事情才是最重要的。用C語言寫一個小程序遠比學習ls、cat等命令有趣,況且我們要專注於C 語言本身,就不得不暫時忽略一些東西,比如編譯鏈接的過程、Makefile的寫法等等等等。
所以我建議初學者應該以Visual C++ 6.0(不是VisualC++ .NET)或者Dev C++作為主要的學習環境,而且千萬不要在IDE的使用技巧上過多糾纏,因為今後你一定要轉向Unix環境的。Visual C++ 6.0使用很方便,調試也很直觀,但其默認的編譯器對C標準的支持並不好,而Dev C++使用gcc編譯器,對C99的標准都支持良好。使用順帶提一下,很多大學的C語言課程還在使用Turbo C 2.0作為實驗環境,這是相當不可取的,原因其一是TC 2.0對C標准幾乎沒有支持,其二是TC 2.0編譯得到的程序是16位的,這對今後理解32位的程序會造成極大的困擾(當然,用djgpp之類的東西可以使TC 2.0編譯出32位程序,不過那過於復雜了)。
等你學完一本C語言的教材,你一定要轉向Unix平台繼續學習,幾乎所有的C語言高級教程都是基於Unix平台的(比如《C專家編程》)。轉變的過程是痛苦的,你需要面對的是各種紛繁復雜的命令,完全不同於Windows平台的思考方式,但是這種痛苦是值得的。Unix與C是共生的,Unix的思考方式和習慣更加符合C語言的思考方式和習慣。在Unix下,你可以找到無數優秀的源代碼供你盡情閱讀,你可以方便地查看某個庫函數的聯機手冊,還可以看到最優秀的代碼風格(說到代碼風格,我會專門寫一篇文章詳細敘述)。
歸結起來就是一句話:初學C語言,建議使用Windows系統和集成開發環境,在准備向「高手」方向努力時,請先轉向Unix平台。
三、萬事俱備,你就是東風
書已選定,環境配置完成,正所謂萬事俱備,只欠你自己的努力了。請從書的前言開始,仔細地閱讀手頭的教材,很多人看書喜歡直接從第一章開始看,這是錯誤的做法。前言是作者對整本書的大體介紹,作者一般會告訴你需要什麼基礎才能夠順利閱讀本書,這可以幫助你檢驗自己的基礎知識是否已經具備。看完前言,還要瀏覽一下目錄,了解一下書的整體結構,順便給自己安排一下學習計劃。
學習C語言,必需注意每一個細節,書上的例子代碼一定要自己親自敲一遍,編譯執行輸出都跟書上說的一致才能算是學完了一個例子,如果不一致,就要仔細找原因。出了書本上有的例子,自己還要「創造」一些例子,比如學習運算符優先順序的時候,可以寫幾個相同的表達式,在不同的位置加上括弧,看看有哪些不同的行為,比如*p++和(*p)++,又比如a = b == c、(a = b) == c和a = (b == c)等等。自己抄的書上的例子以及改造之後的例子,還有自己「創造」的例子,都應該仔細地歸類保存,並且要在源代碼中寫上簡短的注釋,闡述這個例子的意圖。
例子之後就是習題了,我建議初學者把所有的習題都獨立做一遍,然後對照答案的代碼,看看自己的代碼有那些不足,再試著修改自己的代碼。很多人不重視習題,這是極大的錯誤,因為作者通常會在習題中說明一些重要的道理,而不是單純地檢驗前面的知識。
也許你認為這樣學習太慢,其實不然。學得細致就不用走回頭路,等你學到後面才發現自己前面沒搞清楚,那才是真的得不償失。一般說來,整本書讀完,你應該完成數千行乃至上萬行的代碼,無論是原封不動照抄書上的,還是自己心血來潮寫就的,都是今後繼續學習的一筆財富。以我自己舉例,閱讀《Windows核心編程》時(我只閱讀了3/4的內容),除了抄書上的代碼,還自己寫了很多例子,一共有5574行(用unix下的wc工具統計),時隔多日,我早已記不清 Windows的系統編程了,但只要花幾分鍾翻出以前的代碼看看,便會重新瞭然於胸。所謂好記性不如爛筆頭,就是這個道理。
仔細讀書、認真抄寫源代碼、獨立完成習題外加更進一步的實驗,最後將所有的代碼留下,成為自己的經驗和財富,絕對的辛苦,也絕對的事半功倍。當然,這種方式只適合學習需要精通的技術,如果不是學習C語言,你還要具體情況具體分析。
寫到最後,還有非常非常重要的一點沒有提及──代碼風格,從最開始學習就必須強迫自己模仿最優秀的代碼風格。因為代碼風格太重要內容也太多,我會用專門的一篇文章來詳細討論,請大家關注《程序員之路──關於代碼風格》。
Ⅷ 推薦一本好的練習C語言編程的書
最近很多人都在問如何學習編程。我覺得學習編程最重要的是入門,如果你入門的時候有一個好的方法和思路,打下比較扎實的基礎,對今後的編程工作是很有益處的。即使在學習新的編程語言也無所謂,因為它們有很多相通之處,可以相互借鑒。
我認為可以先學習一下pascal,這個語言比較嚴謹,適合初學者。pascal它被稱為教學語言,結構嚴謹,不像C語言那麼靈活,易於理解和學習。 然後可以繼續學習C語言,這個語言比較靈活。有了pascal的基礎,在進行C語言編程就不會因為C語言的靈活而有問題 。後面的就可以學習VC什麼的了。
C語言的書推薦譚浩強的,比較好。
我當時學習pascal和C語言的時候是將書後的習題都做了一遍,感覺效果很好。
當然了,學習什麼語言也要看你具體准備從事什麼行業。例如你要進行嵌入式開發,C就是很好的選擇,如果是Windows開發,那麼VC就不錯。還有資料庫方面的開發、網路開發等等。不同的語言適合不同的方面。要看自己的選擇的,呵呵 。
還有很多人說自己的基礎很差,甚至中學畢業什麼的。其實這個並不重要,比較說英語,在計算機語言里所用到的單詞量很少,而且都是常用詞,經常使用就記住了。當然,如果你要看原文資料或者幫助的話,專業詞彙比較多,不過在金山詞霸的幫助下,經常看,也是沒什麼大的問題的。至於數學什麼的,其實數學只是培養你一個邏輯思維能力,在初學編程的時候影響不是很大。況且,作為一個基礎編程人員來說,上面還有系統分析師、項目經理,他們會把需求分析、概要設計和詳細設計做好的,你只要按照文檔寫代碼就OK了。不過,要上更上一步的話,其他基礎知識就非常重要了,畢竟你不能寫一輩子代碼。
在你學習好C語言以後,個人建議好好學習一下數據結構和軟體工程。這兩門對你的水平提高都是很有幫助的。特別是軟體工程,它能夠使你按照科學的工程方法進行軟體開發,對今後的發展很有好處。
只是一家之言,有不到之處,還望見諒!
參考資料:http://hi..com/deathdog/blog/item/de92046eea406dde81cb4ab4.html
Ⅸ 學習C語言的最好書籍
這個去網上搜會有一大堆,不知道樓主以前有沒有編程經驗,有的話就看網上英文原版,一、The C Programming Language C程序設計語言 二、Pointers on C C和指針 三、Expert C Programming C專家編程 四、C Traps and Pitfalls C陷阱與缺陷 五、《C語言介面設計與實現》
慚愧我也沒看完這幾本書,如果沒有編程經驗,推薦譚浩強的《C語言程序設計》,作為入門篇也很好,掌握基礎語法後,最重要的是多寫程序,多練。再讀上面的書你會有一種醍醐灌頂的感覺。望採納。
Ⅹ 推薦幾本關於C語言的學習的書
覃浩強咯 C語言程序設計