大三小生淺談如何學C

來源:互聯網
上載者:User

這篇算是自己的隨想錄吧,反正考試周,寂寞的要死~ 我想說的是:考試周,去你的~

 

1. 首先學習標準C.

     學習C,當然先從標準C學起了,如果你對標準C模糊的話,那麼請去google吧,實在不行就度娘.直到搞明白為止,要不然

     說其他的等於沒說. 標準C學習推薦一本比較好的書 - << c prime plus >>. 個人感覺這本書還不錯. 看完這本書就可以嘗試去了

      解一下C標準庫了,同樣有本書推薦 - << c 標準庫 >>.

 

2. 你喜歡的是windows還是*nix?

     不要告訴我說,你一直都是使用windows,不知道什麼是*nix.我想,要是一個IT的孩紙不知道*nix,悲劇的程度無法想象.要是你

     說你只會*nix,不會windows,那麼小弟在這裡膜拜了,您是強人,還請以後多多指教,必將感激不盡。

 

3. 選擇一個你自己喜歡的IDE.

    可共選擇的優秀IDE很多,一籮筐,列舉幾個典型的,當然這和你選擇的開發平台還是有點關係的.(遠程開發的例外).windows下面

    最典型的就是visual studio,eclipse,code-block,netbeans.Linux下有eclipse,code-block,netbeans 等等.對於一個新手來說,手

    動構建項目還是比較困難的,剛開始都不知道如何去寫makefile,也不知道怎麼去使用項目構建工具.而IDE是做好這些功能的,所

    以選擇一個適合自己的IDE吧,並且盡量多嘗試一下其他的IDE,體會一下他們的不同.

 

4. 開始討厭IDE了嗎?

    不知道什麼時候,開始討厭IDE了.在有的時候可能會經常去折騰自己的電腦,就像抽風一樣子不停的去換系統.每次折騰就意味著要

    重新搭建一次開發環境,這些繁瑣的工作在被一次又一次的重複之後就變成了無謂的體力活,你是不是乾脆就用notepad去編碼了呢?

     也學這個時候你應該去嘗試自己構建項目和選擇一款文字編輯器作為自己的開發工具了?這樣子更省事,不是嗎?

  

 5. 如何自己構建項目呢?是不是該去學習一下makefile了呢?或者是有其他的替代選擇呢?

     你是否對makefile有印象呢?你在平時自己的練習和寫一些小程式的時候有沒有嘗試寫一些簡單的makefile呢?說起來,這不算陌生吧.

     此時你可以去詳細瞭解一下makefile了. 推薦 - <<跟我一起寫makefile>> 陳皓

     如果瞭解了一下makefile之後發現自己寫makefile很繁瑣,那有什麼其他的辦法推薦嗎? 這個時候你可以去嘗試一下項目自動構建工具了.

     cmake? autotools? qmake?或者是你放棄了,我乾脆還是裝個IDE吧,最最差的就是,算了,學C這麼麻煩,看來不適合我!!

 

6. notepad編寫代碼用起來不是很舒服,有好的文字編輯器嗎?

    你確定你使用過很多IDE了嗎?或者是堅持使用一個IDE很長時間並對其有自己的理解.這個時候你需要問自己的問題是:我到底需要的是一

    個怎樣的編輯器呢?我需要它有什麼樣子的功能?

     這時候你可以去嘗試一下學習emacs/vim了.要是你對linux/unix有一定的瞭解和學習,對這兩款優秀的編輯器是不會懷疑的.那麼就學習去使用

     他們吧! 不要告訴我說,經過一個晚上的使用,我想我學會操作它了. 那麼我笑了,不妨去google搜搜關於emacs/vim使用方面的部落格或者是

     書籍,相信你會發現很多的.一本書介紹的使用方法,怎可被說的那麼輕鬆.

     在學會了滿足你日常使用的操作之後,就應該學習去定製自己的編輯器或者說是自己的IDE了. 這就是emacs/vim被廣大程式員喜愛的原因.

    不會? 不要這麼說.因為你有google.去google搜搜"emacs c/c++ ide", "vim c/c++ ide" 搜到的資料很多很多,不是嗎?剩下的直到該怎麼做了吧.

 

7. 你還在堅持學習資料結構和演算法嗎?

     程式的靈魂在於演算法,而資料結構輔助實現演算法.IT的同學都知道當初教我們的C/C++老師是如何強調資料結構和演算法的重要性的吧?

     那麼就去圖書館或者是書店選幾本資料結構和演算法的書,回家慢慢鑽研吧.

 

8. 作業系統? 你身邊還隨時備著一本書嗎?

     不能隨便去評論關於作業系統方面書籍的好壞,因為作業系統博大精深.既然如此精深,為何不仔細研究學習呢?要記住,作業系統是很重要的

     別小看了學習作業系統的重要性,很多時候對一些問題的理解和思想在學習作業系統的時候都會遇到.那為什麼不在書桌上面長備一本呢?

 

9. 有一段時間沒有感覺到自己的提升了?很焦急?怎麼辦?

     方法很多.我自己常用的方法是:

             a. 重新仔細的看一下C語言方面的書籍,閱覽牛人的部落格.

             b. 重新拜讀作業系統書籍或者是往常查閱資料.

             c. 去寫部落格,總結自己近段時間學習的知識.

     如果還是感覺不到提升,還是感覺到很迷茫.那麼恭喜你,你要進階了.

 

10. 對庫 編譯連結方面的知識瞭解嗎?

      如果不瞭解那麼就去閱讀一下<<程式員的自我修養 連結 裝載與庫>>這本書吧. 相信你會有收穫的.

 

11. 嘗試去使用一些優秀的庫了嗎? 同時你還在看別人在部落格中寫的關於一些庫的小教程嗎?

      要學會去官網瀏覽資料,不要去搜尋資料的時候總是習慣性的在後面加上"中文",告訴你,那樣子不好.雖然剛開始去瀏覽英文資料比較困難,

      而且速度比較慢,但是慢慢練習會好的.

 

12. 有衝動想要去瀏覽一些優秀源碼嗎? ngix? apache ? glib?

       基於前面的學習已經滿足不了你了,你想要往更高的層次去邁進,想要去解讀大牛們在編寫代碼時候的思路和設計. 這個過程是很痛苦的,要做好

       思想準備.千萬不要覺得好像自己寫出的代碼和大牛們差很多,有種對自己譴責或者是不自信的想法,要堅持去學習. 有時候不僅僅要後臉皮,還要死纏

       爛打,這個道理和追女朋友是一樣的,這個大家都懂的. -,-.

 

    

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.