深入理解c語言
⑴ c語言怎樣深入學習
多看書:譚浩強《C程序設計》、C創造者的《C程序設計語言》、《C陷阱與缺陷》、《C專家編程》(經典)、《C程序員成長攻略》、《演算法導論》、《數據結構》等等;
多讀代碼;多抄襲代碼;多動手;多瀏覽相關網站;多問;另外還要了解一些電路方面的知識,會看SCH和PCB電路,反復閱讀相關晶元資料,多做相關方面的開發工作,積累工作經驗,光看是不行的,必須親自凍手設計,初學者可以用開發板來學習,用人家的常式。
努力就會成功!祝你早日入門啊!
⑵ 如何深入了解和運用C語言
C語言算是很貼近底層的高級語言,看《深入理解計算機系統》這本書,我有電子版的,才能深入理解C語言的內涵。在看看林瑞博士的《高質量C/C++編程指南》。最後看看《你必須知道的495個C語言問題》這本書。
然後最主要的還是要多編程。
最後建議選擇linux
⑶ c語言怎麼學,從什麼地方開始學
那麼實際的學習我建議大家從以下四點入手,也就是說,只要你能按照這四點的內容去做,那麼基本上就大功告成了
一、多看代碼 在有一定基礎以後一定要多看別人的代碼,同時注意代碼中的演算法和數據結構,因為數據結構和演算法是程序的靈魂。提到數據結構,指針是其中重要的一環,絕大多數的數據結構是建立在指針之上的,如鏈表、隊列、樹、圖等等,所以只有學好指針才能真正學好C。別的方面也要關注一下,諸如變數的命名、庫函數的用法等等。有些庫函數是經常用到的。對於這些函數的用法就要牢牢記住。沒有交流學習地方都可以來的
很多人對學習C語言感到無從下手,經常問我同一個問題:究竟怎樣學習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語言,你想加入it行業,那麼就請一定要掌握好C語言,這樣才可以讓自己走得更遠。
⑷ 想深入的學習c語言(不是c++),不知道有什麼好的書籍可以使自己能把c語言學精通。請高手指教
作為一個經典書籍收藏閱讀者,在此,我再次推薦我的書列~~
大學期間我也走了很多彎路,學習c一直不得章法~~這些書籍還是工作了才了解到,慚愧
樓上也提到了很多,但是沒有給出合理的順序,我按照自身的曲折路線給你推薦下吧~~希望對你有所啟發。
0. 一點編程基礎都沒有,看下《編碼的奧秘》和《c語言大學教程》或者樓上說的《the c programming language》(此書有c++版本的,把c換成c++作為書名的,兩者都是經典!)也適合作以後的工具書,ps:編碼的奧秘出新版了,即使有編程基礎,看了此書有百利無一弊,了解計算機系統的發展史,同時對整個計算機體系的整體上的把握會有助於你學習程序員的英語 --- c語言,因為c比較接近機器的思維!
1. 如果之前學習過c語言,學的不扎實,想徹底學的扎實,如果看過國內的c語言的教程,那麼你應該買一本《c和指針》,絕對沒有爭議!
2. 如果c和指針,認真讀完了,並且把習題也做了,例子也照著編寫了,思考了,學的還可以了,仍想進一步提高,再看一下《c專家編程》,《c缺陷與陷阱》(這個我沒看過,但是別人推薦過,也不厚)
3. 《windows程序設計》是一本經典的書籍,和《編碼的奧秘》是同一個作者,如其名,此書涉及到windows編程的各個方面,不算是c語言的入門書籍,屬於針對某個操作系統平台的應用開發書籍。
4. 《windows核心編程》一書也是經典,也是屬於拔高性質的書籍,此書側重於講解和使用windows的API進行操作系統相關的各種編程。
目前我也就看了這么多編程以及和你題目相關的書籍,如果你很勤奮,不會太久,上述書籍我是畢業這兩年期間看完的,不過時常重新翻看,好書本就不是一蹴而就,讀完束之高閣的~~
工作的時候買本國人的《系統程序員成長計劃》(c語言的)看看,難得的國產好書~~實踐出的真知~
最後與你分享下我的感受,編程習慣和思想比語言本身更重要!學習語言不能孤立地去單獨學習一門語言,要從一開始養成良好的編程習慣,使用數據結構和庫,同時順帶了解系統API,循序漸進~~
優秀的程序員應該對自己編寫的每個位元組都了如指掌,與君共勉!
不是不推薦國產的書籍,確實和國外差距很大,我當初對c語言的興趣完全被譚浩強的那本概念書籍整沒了~~好書很多,但是針對自己的情況制定學習路線才是明智的,否則會打消積極性,適得其反。
以上都是我的個人經驗,走了很多彎路,終於入門了,提升了~~也希望我的回答能夠拋磚引玉~~
⑸ 深入學習C語言的具體步驟
1、入門後多看代碼
在有一定基礎以後一定要多看別人的代碼。 注意代碼中的演算法和數據結構。 畢竟學C之後的關口就是演算法和數據結構。提到數據結構,指針是其中重要的一環,絕大多數的數據結構是建立在指針之上的,如鏈表、隊列、樹、圖等等,所以只有學好指針才能真正學好C。別的方面也要關注一下,諸如變數的命名、庫函數的用法等等。有些庫函數是經常用到的。對於這些函數的用法就要牢牢記住。
2、要自己動手
編程序是個實乾的活,光說不練不行。剛開始學的時候可以多練習書上的習題。 對於自己不明白的地方,自己編個小程序實驗一下是最好的方法,能給自己留下深刻的印象。 自己動手的過程中要不斷糾正自己不好的編程習慣和認識錯誤。有一定的基礎以後可以嘗試編一點小游戲,照著編作為練習。基礎很扎實的時候,可以編一些關於數據結構方面的東西。之後.....學匯編、硬體知識。
3、選擇一個好的編譯器
GCC或者VS都是一個號的選擇
4、關於養成良好的編程習慣
⑹ 如何進行C語言的進一步學習深入
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語言
1、學好c語言,你可以很好地應付任何一種編程工具。
2、一定要多上機練習,通過程式了解相關知識。幾經反復方得正果。
3、不要把學習c語言當成一種任務,更不要把它看成很難完成的任務。要充滿自信,只要是一個智力正常的人都能學好c語言。始終保持游戲的心態,多發現其中的樂趣。當感到編程趣味無窮,那你在電腦方面將前程無量。
4、如果一個程式一時無法弄清楚最後暫時放在一邊,過一段時間你可能會從其他的程式中悟出道理。
5、c語言是一個整體,各個方面是有機聯系的,要從總體上把握它,不要把它割裂成互不關聯的部件。
6、不要完全相信教材(包括本講義),所有結論最好都上機驗證。
怎樣學好c語言
1.
工欲善其事,必先利其器
准備工作:一個開發環境,如turbo
c
2.0、visual
c++等開發工具;一本好教材,如譚浩強主編的《c語言程序設計》(第二版)。我當時看的是他的第一版,就為它的簡潔、完美所吸引,簡直愛不釋手,用了兩個星期一口氣看完。
2.
秘密武器
初學者學習計算機語言要會「讀程序」,要對小型的應用型、游戲型程序感興趣,並模仿去加深對c語言程序設計的理解和操作,只有不斷地寫程序、調試程序才能得到編寫程序的經驗和加深對程序的理解,這也是學習編寫優秀高級程序的秘密武器。
3.
發揚探索精神
學習c語言程序設計有點像做數學難題,只要我們善於思考,善於探索,發揚探索精神去尋找好的設計思想和方法,才能把c語言的精髓真正地掌握。
備戰c語言考試要訣
1.
了解大綱,臨陣不亂
各類筆試中,大多數考題是與大綱要求的基本內容一致的,難度不高,但內容十分廣泛,應牢固掌握c語言考試大綱要求的基礎部分。只有熟悉題型,理解語法、句法,做到心中有數,才能臨陣不亂。
2.
善於歸納,強化記憶
對於需要記憶的計算機基礎知識和基本概念,如果考試時因此失分就十分可惜。如:c語言中有幾種不同的數據類型?運算的優先順序別是怎樣的?因此我們需要善於歸納這些計算機基礎知識,並在理解的基礎上強化記憶。
3.
重視實踐,善於調試
計算機科學是一門理論性、實踐性都很強的學科,對c語言考試的參加者來說,基礎理論方面要求不高,而上機試題往往是很多考生不能通過考試的重要原因,因此要勤於實踐。
4.
多做練習,查漏補缺
在認真地學完指定用書後,最好再找些試題,認真地測試一下,一則可以檢查自己的復習情況;二則可以查漏補缺;三則可以調節心理狀況,以備正式考試時沉著冷靜、萬無一失。
⑻ 我該怎樣深入學習C語言
1. 在工作中自然會提高 10w行代碼,達到這個數量的時候你自然就會形成自己的編程風格,也更深刻的理解C語言。
2. linux如果你從來沒有接觸過的話先學些基本的操作吧。這些隨便找些相關的書看就是了,外加google,linux本身的幫助做的很不錯,什麼不懂man一下或者info一下基本都能有個答案。
關於linux系統管理有一本《linux系統管理員手冊》作為備忘手冊翻翻蠻不錯(其實一般我還是看linux自帶的幫助)
如果要在linux下寫代碼就要掌握一整套工具了,包括gcc,vi,make,gdb,autotools,等等一系列的工具了。每個工具都有各自的相關書籍,這個應該很容易找,隨便看一本上手就可以了,之後在使用過程中自然會慢慢熟悉,不要一下子就指望精通,像gcc的pdf文檔300多頁。。當手冊查就是了,用啥學啥。。
3. linux內核的話
有個 Linux內核完全注釋-1.9.5 的pdf文檔,全面分析了0.11版的最簡單的一個linux的內核。
然後就是linux內核情景分析。我也沒有看過多少,呵呵,基本上都是用到哪一部分了就直接去看代碼,一邊在書上學習相關部分。
4. 提高編程水平不光看內核,看一些open source的代碼也很有幫助,有些open source的代碼寫的非常漂亮的(當然也有寫的bug無數的。。自己判斷了,呵呵)
我是邊工作邊學的,就是這樣子,我也不是高手,希望這些能對你有用