首先告訴你的是,零基礎學習開始學習C語言/c++肯定難,C語言的專業程度本身就不簡單,學習這事本來就是一件非常煎熬的事情,人都不願意學習,可是沒辦法,為了生存掌握一個技能,你必須學,如果你不認真的對待,你就找不到高薪水的工作。
提醒大家幾點
一:盲目的去學 當初我在對於C語言這個行業什麼都不了解的情況下,比如:不知道未來發展趨勢,不知道學習C語言應該注意哪些初始問題,不知道具體的學習規劃學習路線等等,一味的買書看書,看視頻,到了中期階段萌生放棄的想法,和主要是因為覺得自己越學越迷茫,也知道自己這樣學找不到工作,這是初學者最大的誤區。
二:孤軍奮戰 當初在學C語言的時候,從來都沒有跟別人交流過,就感覺活在自己的世界裡,總認為自己什麼都可以搞定,而且很多知識不會了,直接就過去了,並沒有深究,而這種學習態度也註定了我的學習是失敗,學習C語言一定要有討論的過程,只有跟不同的交流才能了解到你自己不知道的東西。
三:沒人指點 C語言對於我來說是從來不了解的行業,而我當時從來沒有想過找一個這個行業比較厲害的人去請教下,現在我終於認識到了一點什麼叫「方法不對,努力白費」所有的C語言大神都有自己的學習方法,而學C語言的學習也基本是一致,而對於一個什麼都不懂的初學者根本不會知道怎麼學,這也是造成失敗的最直接原因。
四:盲目看書 對於新手來說,學習一個技能肯定是買書看書,但是後來我才實踐的證明,對於一個啥都不懂的初學者來說看書基本可以成為無用的,因為這樣的結果就勢必會造成大多數人的情況:能看懂,但是永遠不會寫,這就是我最初出現的問題,非常煩人,所以建議初學者少看書,多動手,必須弄清楚C語言的效率學習方法。
五:到處搜集視頻 好像大家都有一個毛病,就是到處搜集資源,雲盤裡有很多東西,但是基本是從來都不看,所以說視頻在精不在於多,我當時自學C語言的時候也搜集了各種視頻,這裡看看,那裡看看,學的一點都不系統,而且學了之後也找不到工作,視頻一定要最新的,C語言更新的快,舊的是不可以的。
C語言同C++、Python等都是通用性的程式語言,它們不針對某一個特定的方向,能做的事情很多。C語言主要用於底層開發,Windows、Linux、Unix 等作業系統的內核90%以上都使用C語言開發,開發硬體驅動,讓硬體和作業系統連接起來,這樣用戶才能使用硬體、程式設計師才能控制硬體。
借用我一個朋友的名言:「現在的程式設計師,不掌握好幾門語言都不好意思跟別人打招呼。」就目前的企業的崗位設置來說,只會C語言的話(當然,能達到深究算法、作業系統、資料庫、網絡協議的C語言工程師除外),基本上是找不到工作的。首先我們要選定一個方向,繼續學習其他知識,後面就會發現,C語言不過是冰山一角,是一項基本求生技能而已,除此以外,程式設計師要學習的東西還有很多。
對於很多C語言初學者,都會存在如下誤區:學習C語言之後今後就要在C語言這條路上走到黑。其實學習C語言並不一定要從事與C語言有關的開發工作。C語言是一門簡單、底層、較早的程式語言,後來的很多語言在語法上都和C語言類似,稱為「類C語言」,例如 Java、C++、C#、PHP、JavaScript 等,學完C語言再學這些語言都很容易上手。或者也可以這麼理解,學好C語言,可以奠定我們今後學習其他程式語言(類C語言)的基礎。
零基礎學習C語言如何入門
如果你是零基礎學習C語言的小白,我建議大家先想明白以下幾個問題:
▌未來從業方向:學習C語言能幹什麼?
C語言既有高級語言的特點,又有彙編語言的特點。它可以作為工作系統設計語言,編寫系統應用程式,也可以作為應用程式設計語言,編寫不依賴計算機硬體的應用程式。因此,它的應用範圍廣泛,不僅僅是在軟體開發上,而且各類科研都需要用到C語言,具體應用比如單片機以及嵌入式系統開發。
C語言是面向過程語言,C語言通過windows平臺下編譯的,是直接運行在windows平臺下的,而Java始終是運行在他的虛擬機之上的;所以理論上C語言能做一些相對於比較底層的工作,像Java就不能編寫Windows病毒。
一句話概括:如果要利用編程來做一些windows優化工作的話,建議還是利用C語言。C語言是目前世界上流行、使用最廣泛的高級程序設計語言
▌需要掌握哪些技能才能滿足企業用人需求?
C語言常規崗位職責:
1、伺服器軟體開發;
2、負責項目架構設計,TCP/IP協議定義;
3、負責系統的架構設計、性能瓶頸分析、性能調優工作;
4、負責技術難點的攻破。
C語言常規崗位任職要求:
1、3年以上伺服器相關開發經驗,熟悉TCP/IP協議,及制定和規範協議;
2、熟練TCP、UDP協議編程,熟練socket網絡通訊編程;
3、熟練C語言編程,熟悉C++編程;
4、熟悉Linux系統編程,多線程和多進程編程;
5、熟悉epoll、select等伺服器端異步高併發模式,libevent或者libev等應用;
6、熟悉Mysql資料庫,及API編程。熟悉SQL語言;
7、能處理資料庫連接池性能瓶頸優先考慮。
▌零基礎學習C語言,怎麼入門?
能接受枯燥學習法的初學者,啃書效果肯定是奏效的,基礎入門書籍吃透一本,收穫頗豐。
推薦幾本入門書籍:
1、《C程序設計語言》
推薦理由:全面、系統、準確地講述了C語言的各個特性以及程序設計的基本方法。對於計算機從業人員來說,《C程序設計語言》是一本必讀的程序設計語言方面的參考書。
零基礎學習C語言如何入門(內附工具書推薦+視頻教程)
2、《C primer plus》
推薦理由:本書全面講述了C語言編程的相關概念和知識。適合希望系統學習C語言的讀者,也適用於精通其他程式語言並希望進一步掌握和鞏固C編程技術的程式設計師。
零基礎學習C語言如何入門(內附工具書推薦+視頻教程)
3、《C陷阱與缺陷》
零基礎學習C語言如何入門(內附工具書推薦+視頻教程)
推薦理由:結合自己的工作經驗,創作了這本對C程式設計師具有珍貴价值的經典著作。出發點不是要批判C語言,而是要幫助C程式設計師繞過編程過程中的陷阱和障礙。分別從詞法分析、語法語義、連接、庫函數、預處理器、可移植性缺陷等幾個方面分析了C編程中可能遇到的問題。
小編整理的C語言/C++工程師必備知識的思維導圖。
初學者看到這麼密集的知識點,是不是有點眼暈呢?的確,C/C++是一門知識面覆蓋很廣的學科。想學好C/C++的你並不需要慌張,內容雖多,但依然有法可依。只要有足夠的耐心和毅力,加上正確的學習方法,就不怕你學不好C/C++