如何才能算是熟練掌握C語言?
要怎樣做才能熟練掌握呢?前提是完全靠自學。
謝邀。你的問題,我不會直接回答你,因為覺得在學習目的上你可能有一點偏差。問一下:編程語言有N多種,為什麼一定要追求「熟練掌握C語言」?你的目的是什麼?
事實上,就算你對C語言的各種語法特性倒背如流,其實也就相當於孔乙己知道茴字有四種寫法罷了。
編程語言是工具,掌握編程語言不是目的,熟練掌握它們也不應該成為努力的目標,真正應該追求的目標是:開發出牛逼的軟體,推動信息更順暢地流動、更快更好的被加工和處理、更好地解決各種現實問題,創造價值,去改變人們的工作、學習和生活方式!為達到這個目的,才去學編程語言,才需要熟練掌握編程語言,並且在實現這個目的的開發實踐過程中,你「熟練掌握XXX編程語言」的目的會不知不覺地達到。取法乎上,得乎其中,取法其中,得乎其下。如何自學從而熟練掌握 C 語言?
既然題主強調自學,那麼我也強調一點,即使是專業相關的學生,想要熟練掌握 C 語言也是要靠自學的,並不能因為有專業課所以可以不用很累很麻煩就能熟練掌握 C 語言。
大學裡對於 C 語言,老師只教授語法和概念。和上面的那位老師說的一樣,C 語言作為一種工具,而不是目的,真正重要的東西是在工具的背後。而且,C 語言作為一種相當初級的語言,能做的事情是很有限的,你可以說很多遊戲引擎是 C 寫的,但是如果有更快更好的工具,為何不去學習?
好,跑題到此結束。
下面就我自學 C 的經驗稍微寫一點,算是拋磚引玉,如有錯誤,請批評指正,不勝感激。如果題主英語不錯,可以看下 Learn C The Hard Way,從編程的基本開始,程序怎麼編譯,怎麼鏈接,不用 IDE 怎麼寫程序。
純入門的話可以再讀 C語言的科學和藝術,從一開始就接觸模塊化編程是很好的主意,學習一些編程技巧,怎麼構建一個程序。(其中的關於圖形化編程的章節實在過舊,不妨自己拿 OpenGL 實現它。)
有一定基礎可以接著看 C程序設計語言,C和指針,書有些舊,但是簡潔的代碼讓人慾罷不能,記一些編程範式,學會了就能用。
對語法和概念有很深刻的理解之後,如果你真要進一步學,C語言參考手冊 大概是避不開的一本書。全書對 C99 標準進行了一次梳理,儘力地介紹了關於 C 的一切內容。要不讀的話我大概永遠也不知道可以這樣玩:system("ping zhihu.com &>ping.txt");
C陷阱與缺陷
C專家編程
這兩本更注重思維,對程序的深入理解。讀起來也蠻輕鬆,像是讀小說。以上。
本人水平有限,也只學到這種程度,不知道這樣是否達能到題主所要求的熟練掌握。
希望幫到題主。(嘿嘿嘿,寫 iOS 去了,寫 C 太累……真心煩如果僅僅是針對語言本身(語法層次)而言,還是很容易掌握的,然並卵。你還需要了解一定的彙編語言、計算機系統結構、演算法與數據結構、編譯原理、操作系統等知識來輔助你理解C語言的實現與運行時情況。
冰蛙做了dota,但是wcg他也沒拿過冠軍。眾大神打某些位置溜,也不是全部英雄都打到極致。
根據實際項目,可以恰到好處的完成,就是熟練了把那些函數 數據結構 自己手動實現
學好上乘的內功心法最重要,不能單單就學c,這個不行。
推薦閱讀:
※暫時只有一台 Windows 電腦,如何入門 iOS 開發?
※畫畫應該自學還是報班?
※怎樣有效地學習 Node.js?
※業餘人士想要學習編曲需要具備些什麼?