您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關學習c語言的方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
學習C語言不要心急,要循序漸進,須知欲速則不達的道理。千萬不要盲目的寫大量的代碼,這樣做只會堆出大量的低檔次代碼,同時使你形成不好的代碼習慣。先買本基礎的教材來看看,使得對C語言有個初步的認識。
如果你的身邊有高水平的開發人員,那么再好不過了,多多向別人請教。但是就我了解的情況來看,大部分的初學者并沒有在進入IT行業后得到一個資深的軟件工程師的指導,而恰恰是在入司后就被推向前線,替老板們騙取客戶口袋里的錢,在這個過程中很多人都是在苦苦的堆代碼,賺著可憐的薪資。盡管我也是在拿著可憐的錢,但是有一點我是幸運的,因為我在我的第一家公司里遇到了帶領我走向Unix和C語言領域的導師,正是他的一句“Unix和C語言是你一生都要去學習的技術”讓我狂熱的愛上了它們,正是他的一句“你有root口令,并不是你有root口令這么簡單,更多的是一種責任”(說這句話的前提是我用root口令進入SUN服務器后刪除了別人的東西,因為我認為這些是無用的東西)使我對責任這兩個字有一個非常具體的認識。所以在這里請廣大讀者允許我用一些篇幅來對我neusoft的導師yuhj表示深深的感謝。同時也對CU的朋友們表示深深的感謝,可以說,你們是我的第二導師,我已經離不開你們了。
希望大家都比我幸運,沒有得到幸運之神垂青的朋友們也不要灰心,多上CU上來和大家交流交流,討論討論吧,但是注意在論壇上討論的時候不要刨根問底,很多事情不是一句話就說的清楚的,別人只能給你一個指引,再具體的只有靠自己多研究研究、琢磨琢磨。閑暇的時候去精華區看看,你會有意外的收獲的。
千萬不要一看到英文就頭大,盡管我也是這樣,并不是看不懂(畢竟也接受過CET4、6級啞巴英語的教育,還是能看懂的)。man的幫助是最好的教材并且很多國外的論壇對技術的描述是很清楚的,也是很簡單的,更重要的是,你會在上面看到些在國內論壇上看不到的東西(計算機的技術一直都是由西方向東方傳遞,希望有朝一日老外都到我們中國的論壇上來尋找技術資料)。
學習C語言有一件事情也是必須要學的,而且最好是同時學,有的朋友可能已經猜出來了,沒錯,是Unix。Unix和C語言可以說大家提的很多了,有Unix的地方就有C語言,同時也正是有了C語言,才有了Unix(我們還是先討論討論雞生蛋還是蛋生雞的哲學問題吧,誰拿西紅柿打我),甚至有人說C語言就是為了Unix而設計的,可見Unix和C語言之間的非同尋常的關系。學習Unix現在容易多了,以前Unix都是運行在大型的服務器上的,可是現在有了Linux(按照GNU的意思,Linux就是Linux還不能叫Unix),大家可以在自己的PC上裝一套Linux來學習,注意學習Linux不要拿Linux和Windows來比較,它們不可同日而語。Linux會讓你知道什么是經典,永遠讓你在一個方向上大展宏圖,Windows只會讓你在別人的套子里耍上大刀,不時的還要換一個套子耍耍。下面羅列了一些我在學習Unix的一些經驗:
1、學習Unix和C語言,先向大家推薦一本書《Unix高級環境編程》,這本書是學習Unix和C的經典之作,盡量把書中提到的系統調用都寫個練習程序,先感性的認識一下Linux系統提供給用戶的系統調用都是干什么的,怎么用。系統調用是內核提供給用戶的功能用以申請內核服務,對于Linux內核的學習,從系統調用入手是個不錯的辦法。學習過程可以參看Linux的聯機幫助,和網絡上的資料。當你覺得差不多了的時候,那我給大家出一道聯系題目吧:實現一個ftp服務器和客戶端的功能,完全可以自己定義一些應用層的協議,只要能實現用簡單的命令傳輸文件就可以了。
這個題目可以使你練習到TCP/IP的基本編程方法和文件操作的基本方法對于后面學習內核的文件系統會有幫助的。
2、當你對Unix系統有了些了解后,同時對于大部分的系統調用(關鍵是關于文件的系統調用,對于Linux系統的內核來說從文件系統入手相對容易一些)也有了清楚的認識后,再推薦你一本書《Linux內核情景分析》,該書是關于Linux內核的經典之作唯一美中不足的是沒有關于網絡子系統的詳細介紹。你可以從文件系統的系統調用入手,慢慢的你就會對Linux有了一個更深入的認識。同時注意很多經典的方法和思想在Linux中的運用。你會認識到為什么Unix把所有的東西都看成文件,對什么東西操作都是對文件操作,你會慢慢體會到Unix的經典之處了。
3、當你對Linux內核有了些了解后,你就可以找個方向來專門發展了,如果你想對眼下流行的網絡編程感興趣,那么再推薦你一本書《TCP/IP詳細解釋》,這本書是關于TCP/IP協議的經典之作。你會學習到TCP/IP協議棧是如果實現的,為什么,各層協議之間是如何工作的。你看完了這本書后,你就可以自己寫一個dos攻擊程序和sniffer了。
我說的簡單,其實我提到的每本書至少都夠你研究很長時間的,所以希望初學者別著急不驕不躁,相信只要努力過,一定會成為高手的。
在寫代碼的時候大家要注意養成好的代碼習慣和風格還有抽象能力。
下面給出大家在寫代碼的時候的20字方針:
1、函數要小
盡量的把函數弄的通用點,代碼行少點,一個函數只完成一個簡單的功能,一眼就能看出來此函數有沒有代碼錯誤,每個函數都是健壯的,那么你的程序就是健壯的。
2、代碼要少
完成一個功能的時候在邏輯清楚的情況下代碼越少越好,千萬不要比代碼誰寫的多啊。
3、算法要好
在完成一個功能的時候要考慮效率,目前計算機的內存很大,所以內存已經不是首要考慮的因素了,但是在某些特殊的地方效率還是很重要的。有效率高的算法,就不用效率低的算法,看看本版有一篇精華貼子是關于把一個字符竄兩邊的空格去掉的帖子(trim),很多人都提出了算法,但是有一個算法是最好的,效率最高,代碼最少,是算法要好的最好體現
4、命名要清
命名要清楚,最要用漢語中的謂賓結構如set_buffsize()
5、文件要多
盡量把一個大的程序安功能分成多個文件,一個文件盡量不要超作1000行,這樣就很清楚的知道那個文件代碼是健壯的,那個文件有可能有隱患,在代碼檢查的時候可以有針對性的檢查某幾個文件
關于“學習c語言的方法”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。