需要綜合看待這個問題。
第一:學習的動力
興趣是最好的驅動力。記得上學時除了正常上課之外,週末時間都是在隔壁學校的機房度過。設定很多程式設計題目進行練習,當輸出正確之後,會把程式碼打印出來進行再思考。
第二:學習基礎
邏輯是程式設計的基礎,而邏輯學是融入在數學課程之中的。說到這裡,覺得邏輯教育領域沒有單獨教學還是挺可惜的。工作後又補充看了一些邏輯書籍。這裡展示一本簡單參考。
第三:幾本經典語言書籍
c是典型的過程語言,由三種語句結構組成。分別是順序語句、判斷語句及迴圈語句組成。程式設計就是將這三種句型穿插使用。最好看機械工業出版社外文翻譯類書籍,一定物超所值。該出版社的品味還是值得信任的。
再就是資料結構,比如陣列、連結串列、樹等等。這是屬於能力進階不可跨越的內容。前人的經驗總結,可以讓我們快速進步。
對作業系統也需要有基本的掌握,下面這本書剛在京東找時,發現封面搞得很時尚,比我買的那個版本炫多了。看這本書是要求搞明白什麼是程序,什麼是執行緒,什麼是控制代碼等。如何使用系統內建的訊號量(原子加減、鎖、互斥區等)來完成執行緒間資料同步等。
Stl標準庫有興趣也看看,只是臺灣人說話習慣有點差異,慢慢習慣吧
另外的一些經歷與建議:
在學校學習,講解到指標時真是雲裡霧裡,遞迴更是沒有講解就期末考試了。
現在回想起來,指標真是c語言最大的敗筆之處。當初發明指標應該是考慮快速執行,現在計算機運算速度極快,這點開銷應該可以忽略不計了。商業軟體經常因為指標造成野地址~記憶體洩露等coredump問題。比如程式為了便於維護,通常會採用mvc結構。其中的資料類是需要對外隔離的,當外面使用時一般需要複製。此時資料類使用指標反而會比較麻煩。
遞迴是一個很好的程式設計技巧,在資料結構一書中一定會提到。只要掌握基本的語句除錯技巧,死迴圈還是比較簡單被識別的。
需要綜合看待這個問題。
第一:學習的動力
興趣是最好的驅動力。記得上學時除了正常上課之外,週末時間都是在隔壁學校的機房度過。設定很多程式設計題目進行練習,當輸出正確之後,會把程式碼打印出來進行再思考。
第二:學習基礎
邏輯是程式設計的基礎,而邏輯學是融入在數學課程之中的。說到這裡,覺得邏輯教育領域沒有單獨教學還是挺可惜的。工作後又補充看了一些邏輯書籍。這裡展示一本簡單參考。
第三:幾本經典語言書籍
c是典型的過程語言,由三種語句結構組成。分別是順序語句、判斷語句及迴圈語句組成。程式設計就是將這三種句型穿插使用。最好看機械工業出版社外文翻譯類書籍,一定物超所值。該出版社的品味還是值得信任的。
再就是資料結構,比如陣列、連結串列、樹等等。這是屬於能力進階不可跨越的內容。前人的經驗總結,可以讓我們快速進步。
對作業系統也需要有基本的掌握,下面這本書剛在京東找時,發現封面搞得很時尚,比我買的那個版本炫多了。看這本書是要求搞明白什麼是程序,什麼是執行緒,什麼是控制代碼等。如何使用系統內建的訊號量(原子加減、鎖、互斥區等)來完成執行緒間資料同步等。
Stl標準庫有興趣也看看,只是臺灣人說話習慣有點差異,慢慢習慣吧
另外的一些經歷與建議:
在學校學習,講解到指標時真是雲裡霧裡,遞迴更是沒有講解就期末考試了。
現在回想起來,指標真是c語言最大的敗筆之處。當初發明指標應該是考慮快速執行,現在計算機運算速度極快,這點開銷應該可以忽略不計了。商業軟體經常因為指標造成野地址~記憶體洩露等coredump問題。比如程式為了便於維護,通常會採用mvc結構。其中的資料類是需要對外隔離的,當外面使用時一般需要複製。此時資料類使用指標反而會比較麻煩。
遞迴是一個很好的程式設計技巧,在資料結構一書中一定會提到。只要掌握基本的語句除錯技巧,死迴圈還是比較簡單被識別的。