作為一個什麼都不懂的初學者,應當從哪裡開始學習編程?

C語言如何自學?


先聲明啊,以下就當我在開玩笑

前兩天給我侄子(小學四年級)買了本-『啊哈c!』

我就教了他dev-cpp的使用。。。

小傢伙兒玩了半天就高興的給我發了照片

想當初我自學時花了好幾天才會輸出這玩意兒


題主想從C語言入門編程,和我的經歷很像。

高考志願被調劑到軟體工程,於是高三暑假,什麼都不懂的我準備入門編程。

當時是找了教程網,郝斌老師的C語言自學視頻,感覺挺不錯的,開頭講了計算機編程的一些預備知識,比如計算機的cpu、內存條、顯卡之類的知識,內容也算是循序漸進。感覺一個好的編程教學視頻,起碼要在視頻中親手演示一遍,而不是只講一些條條框框。這個教程基本上做到了。

如他所說,不要求讀者對計算機有任何專業的了解,但起碼要操作過計算機,如粘貼複製,新建文件夾等等要會。

C語言自學視頻教程視頻教程 - 中國教程網 - Powered by Discuz!

這視頻推薦的書籍是潭教授的《C語言程序設計》,當時我覺得挺高大上的,內容淺顯易懂,不過等你大概摸清門路後,就會覺得這本書沒那麼...

所以我推薦一本廣受好評的書《C Primer Plus》

這裡還要推薦一個很好的IT學習網站,不僅免費,內容豐富,質量也是非常不錯。

慕課網(IMOOC)-程序員的夢工廠

想學好編程不能僅僅看書或者看視頻,而是要多敲代碼,就算把書上的代碼照著敲一遍,也比只看一遍好多了,比如新手就可能會遇到標點符號,中英文輸入錯誤導致的程序不能運行等問題,都是要動手敲一遍才能影響深刻的。


一個什麼都不懂的初學者?應該從何學起,如果題主是大學新生,我覺得這不是最重要的問題,我覺得最重要的是的引導學生喜歡上編程,了解它能幹什麼,以後怎麼就業。

暑假時期我推薦大部分學校的入門課程C語言,儘管很多人吐槽C語言多麼所么不好

入門課程:

C語言是大學生最早接觸語言,我覺得最重要的是要培養興趣,黑框框或許部分沒有趣味,會有野指針很多麻煩事,但是當你學完最基礎的語法以及指針之後就可以嘗試動手做一些小東西,比如彩票搖號程序,俄羅斯方塊等等。這樣在代碼的循環中你可以反覆運用到你們所學的知識,也會慢慢增加你的成就感,這些代碼google github上都可以找到,不會可以抄下來理解後再自己主動實現。

具體資源我推薦這一些:

課程:

C語言程序設計_浙江大學_中國大學MOOC(慕課)

C語言視頻教程_C語言基礎教程-慕課網課程

[免費]郝斌C語言教程全套視頻180集下載地址

書籍:

C語言程序設計現代方法 (豆瓣)

C Primer Plus (豆瓣)

啊哈C!思考快你一步 (豆瓣)

(推薦程度依次排列)

學習主線

建議:掌握一門編程語言+數據結構+演算法+實踐

這樣的路線就是一條簡單的路線,大部分學校大一大二也是這條路線,多門語言也可以。但是我覺得各種語言中都有一些共同點,好好掌握共同點,如果想往深處發展,可能會學到操作系統/彙編/編譯器等

如果有一些女生對開發不是很感興趣可以轉前端,比如網頁設計,開發,web開發之類,這時候就需要html+css+JavaScript,這樣的課程一般學校大三會教,但是你要是有心人,w3school 在線教程

w3school是一個很不錯的網站。

另外一般本科大學都會學到高等數學,線性代數,統計學,概率論。這些都是以後發展的助推劑,在大學花時間學好,以後工作時就會輕鬆很多。

當然又回到了如何激發編程興趣

計算機歷史發展全貌的科普書當然推薦吳軍老師的《浪潮之巔》:

《浪潮之巔 第三版 套裝上下冊》(吳軍)【摘要 書評 試讀】- 京東圖書

計算機發展的前生前世:

穿越計算機的迷霧 (豆瓣)

計算機數學科普:

程序員的數學 (豆瓣) 數學之美 (豆瓣)

當然我最近也發現了一本書,知乎答主寫的給初學者做遊戲,C語言學一半感興趣就可以開始了

《C語言課程設計與遊戲開發實踐教程(面向「工程教育認證」計算機系列課程規劃教材)》(童晶,丁海軍,金永霞,周小芹)【摘要 書評 試讀】- 京東圖書

說了這麼多,當然編程最重要的是動手實踐啦,自己去找資料,寫代碼,debug,做總結。這一切沒人能幫你。

長路漫漫。。。。。


我覺得這個題目我答一下還是可以的,畢竟自己也從小白過來的!

2015年研究生畢業,直接進了互聯網公司,我是怎樣通過面試的呢:計算機之類的課程,我真正認真學習過的只有C語言和數據結構,而且編程經驗幾乎為零,找工作前夕,我把C++的書拿起來從頭看到尾,把它背上,然後把面試寶典也背上,面試各大公司,筆試全部通過,但到面試問到項目經驗時候確實被好多公司給卡了。

最後進入上海一家網路公司,一入職第一個任務就是用Java寫個反編譯jar包,就這樣一個小白坐那裡一個星期把任務逼得完成了,接下來的任務就是寫app,參與過的項目有:咪咕影院,澎湃新聞等,自己也獨立完成了幾個app,之後換了一個組,一心做Java了,用過RCP框架、Spring,SpringMVC,hibernate框架,每次都是任務來了,直接做,不會網上查。

建議樓主直接從Java學起來,當然你要是覺得時間充足從C學習會更好,無論哪種語言,先翻一遍書,然後直接給自己定個目標,去實現一個什麼東西,遇到問題了,再翻書,查資料,個人覺得這是最快的學習方法,語言很簡單,不要想難了,實踐是關鍵!


從 hello world! 開始


你需要一本教材和一個能教你如何使用開發調試工具的師父


首先要要有高中所有數學理論知識的基礎……然後可以通過一些基礎的入門書逐漸深入(如果你基礎好的話一切都很簡單),網上有一些教學視頻也可以參考。最重要的一點就是練,只要你肯練,沒有練不成的事兒!


推薦閱讀:

如何選擇業餘學習編程的方向?
你們是如何成為編程大牛的?
一個合格的 Python 程序員應該具備怎樣的基本能力?包括哪些具體方面?
C++ 有哪些缺點?
if嵌套的代碼風格哪種好?

TAG:程序員 | 編程 | C編程語言 |