C語言小白走過的彎路
第三章 C語言 自學有道
一、門檻
看網課、做筆記、以為學會很多,一開Dev C++還是啥題也寫不出來。
網課也學得磕磕絆絆:
資料型別(嗯。)→判斷、迴圈(哦~)→陣列(這,有點難)→指標(這啥呀?)→函式(似懂非懂)
接著,沒什麼動力了,自學的時間彷彿也隨動力一起消失了,擱置許久許久,等哪一天再心血來潮,想繼續時:
當時的分支結構(判斷、迴圈)好像沒學紮實,再鞏固一下。
陣列,要認真聽,好,勉強可以懂,可我好像自己寫不出來。
指標,這裡最難,注意力集中!嘶,嗯,額,不 不會、不懂,啊啊啊啊(抓頭)
然後又再次擱置(學習熱情不再如初,加上有其他事要忙),每次就這樣死迴圈,我至少被陣列指標這樣勸退了三輪。(後來我悟道了doge)
二、明解C語言
自學C語言,是我高考後暑假萌生的想法。
心路歷程:自學?→知乎高贊回答→入門網課→入門書籍
網課 中國大學Mooc 程式設計基礎 浙大翁愷
(ps:bilibili也有人把這位老師的網課整理出來了)
書籍: 一開始 選擇了 《C Primer Plus》
先別急著做筆記!不推薦這本,推薦的在下面!
這也許是一部好書。為什麼說“也許”呢?因為幾百頁的書我也就看了幾十頁而已,給人感覺就是很詳細,太詳細了,以至於過於專業和枯燥,只能心血來潮時候學幾頁,沒有辦法長久讀下去。
比如 光是資料型別,整型、浮點型、字元型、布林型那一塊,這本書展開講了好多好多好多頁,
不按順序讀,作為初學者我心裡膈應;
按順序逐頁讀,這麼多概念性的我一時半會又用不到,又很難受
首先我們要承認:
入門初學 與 學完總結(事無鉅細的那種)的知識模組順序真的是不一樣的。
初學重用,總結重全。
初學順序,要用什麼,我學什麼,這才記得住,用得活;
而總結順序,側重知識體系的建立,越全面越好,這才學得紮實。
所以這本書大概更適合C語言入門後 查漏補缺 用。而我真正推薦的,是下面這本!
搬了寢室後,我和另外三位一樣機械轉計科的同學住在一起。
好笑的是,我們不約而同人手一本《C Primer Plus》卻沒有一個閱讀超過半本書。
直到後來,我發現了一位舍友的寶藏——《明解C語言》。
作者是一位日本人,你不得不承認,日本在設計的簡約 實用方面做得很不錯。(如下圖)
(網圖有點糊,回頭我自己拍)
第一次見,裡面的程式碼樣式、以及視覺化的解釋,真的讓我感到驚豔!
包括各種各樣的存取和呼叫,我花了好久走過的彎路,領悟出的道理,被他一次性幾張圖捋出了捷徑,相見恨晚。
感興趣的小夥伴可以試試。(非廣告!)
三、突破
從這裡悟道。 什麼時候覺得學C語言真的悟出了點東西呢?
第一次,是關於for迴圈。是當我把for迴圈和遍歷相聯絡起來的時候。這時候的突破在於:
我對於這條語句的理解,不再僅僅停留在怎麼記住哪裡小括號哪裡大括號、怎麼記憶分號間隔開的是初始化還是條件還是balabala,而是進階到我終於知道怎麼用它,在什麼地方用它了!
把那些無關緊要的語句格式記憶拋開,真正理解到了語句的用法核心,也是慢慢內化,學會使用的關鍵步驟
第二次,是克服陣列 指標的魔障。是我真正刷題解題,開始硬著頭皮,把半懂的陣列和指標用起來的時候,開始在實踐中掌握。
回顧這兩次突破,不難發現,關鍵在“用”!
有句話這麼說:我可以詳細地教你騎自行車的各種技巧和注意事項,可當你騎上車的時候,還是會摔跤。
是啊,還是會摔跤,那為什麼一定要聽完再上車呢?如果我邊騎邊學邊悟呢?這就是我接下來要講的****。
四、哈工大題庫
在轉專業後,跟著大一新生補程式設計基礎,一起上課,一起做作業,一起練習。
接觸到哈工大題庫(我這自己麼叫,學校給了IP地址並給我們註冊好了賬號),是一種程式設計練習系統,開始了做題、刷分之旅,一點點積累、一點點鞏固。
看著排行榜的分值上漲,很有成就感,也願意繼續練習下去。
一點點一點點,做的題目多了,犯錯也犯夠了 (低階錯誤很少重犯、debug也更有預判性) , 逐漸的,寫程式碼的習慣就養成了,思路和演算法也越來越明晰。
原來練習和測試,真的很重要!
五、黑馬程式設計師
B站發現的寶藏up.
C++課程講解真的很棒很棒,因為C++與C也有很多重合的地方,初入門後(陣列、指標隱約懂了),可以考慮看看他的網課。
講解很清晰,有示例、有程式碼、有執行、最後還能用提綱總結收尾。
(非廣告++,誠心推薦,不看也la行dao)
第三章 END
下回預告《剛學會出海 便遭遇風暴》——轉專業後的挑戰
相關文章
- C 語言到 C++ 過度C++
- c語言實用小程式C語言
- 沒學過C語言的代價C語言
- 10個經典的C語言小程式C語言
- 新手的第一個c語言小程式C語言
- C語言輸出多位小數C語言
- 你走過最長的路 ,就是機器學習過程中的彎路機器學習
- 關於學習過程中走過的彎路
- 通過 GDB 學習 C 語言
- C語言編譯全過程C語言編譯
- 【開發語言】PHP、Java、C語言的編譯執行過程PHPJavaC語言編譯
- 小豬的C語言快速入門系列(一)C語言
- 小豬的C語言快速入門系列(二)C語言
- 小豬的C語言快速入門系列(三)C語言
- 小豬的C語言快速入門系列(四)C語言
- 小豬的C語言快速入門系列(五)C語言
- 小豬的C語言快速入門系列(六)C語言
- 小豬的C語言快速入門系列(七)C語言
- 小豬的C語言快速入門系列(八)C語言
- 小豬的C語言快速入門系列(九)C語言
- 1.C語言有關的小學習C語言
- C語言 C語言野指標C語言指標
- C語言---“C語言 誰與爭鋒?”C語言
- 3- C語言編譯過程C語言編譯
- C語言編譯過程簡介C語言編譯
- C語言實現BMP圖片的放大縮小C語言
- C語言動態陣列小作業C語言陣列
- 一個小而美的 C 語言專案
- C語言與嵌入式C語言的區別C語言
- C語言的本質(32)——C語言與彙編之C語言內聯彙編C語言
- C語言的HelloWorldC語言
- go語言與c語言的相互呼叫GoC語言
- C語言的編譯連結執行過程C語言編譯
- 從彙編角度分析C語言的過程呼叫C語言
- 深入理解 C 語言的函式呼叫過程函式
- 深入理解C語言的函式呼叫過程C語言函式
- C語言C語言
- C語言判斷輸入小寫字母的個數C語言