零基礎如何學好C語言/C++

2021-02-25 編程kiko

首先告訴你的是,零基礎學習開始學習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++

相關焦點

  • 如何學好C語言
    如何學好C語言        很多同學都想畢業以後從事計算機行業,獲得令人羨慕的薪水。
  • 如果是初學C語言請看完,如何學好C語言絕對精品
    同學們,從C語言入手,努力學好C語言!旁觀者李四說:此人大笨也!我用滑鼠隨便拖幾個控制項,就是一個xxx管理系統了,你用C語言怕是一年也寫不出來吧!好了,到這裡,我們基本解決了在學習C語言程序設計時的一些方法論的東西,關於具體的學習過程,如果你要我在這裡給你們講指針要如何學習?函數要如何學習?那我講的內容也不會多於任課老師的內容,或者開個專題叫「如何學好指針」,當然,如果你願意和我探討一下指針的本質和高級應用的話,課後,課後啊!現在,我們要談最後一個問題!
  • c語言的選擇結構(一)
    例如:(一)工程師崗位面試(關係運算符和邏輯運算符)題目要求:上海一家IT企業招聘c/c++開發工程師,滿足以下任職要求者可以獲得面試機會。(1)學歷:計算機相關專業畢業,碩士及以上學歷;(2)工作年限:兩年以上c/c++開發工程師崗位從業經驗;(3)業務要求:熟練或精通c/c++和數據壓縮算法。
  • 一個資深C語言工程師說如何學習C語言
    一個資深C語言工程師說如何學習C語言談及C語言,我想凡是學過它的朋友都有這樣一種感覺,那就是「讓我歡喜讓我憂。」
  • 學習c語言筆記——C庫函數printf()
    c語言中的printf是什麼來的?」。我答:「它是一個函數,主要用來輸出運算結果。」 ,下面就給大家介紹C庫函數printf()使用方法。下面我們通過一個調用c庫函數的c語言案例來說明printf()函數的使用方法,如c語言1。
  • C/C++ 筆試、面試題目大匯總
    這樣,模塊B中調用模塊A中的函數時,在編譯階段,模塊B雖然找不到該函數,但是並不會報錯;它會在連接階段中從模塊A編譯生成的目標代碼中找到此函數extern "C"是連接申明(linkage declaration),被extern "C"修飾的變量和函數是按照C語言方式編譯和連接的,來看看C++中對類似。
  • C語言可以不用,但是不能不會!
    對於C語言怎麼學習這個話題,很多讀者一直在問,因為網上類似的文章很多了,這裡就不長篇大論,可能你也看過不少
  • 怎麼自學C語言 入門
    第一階段:C語言基礎
  • 【C語言程序設計】C語言統計單詞個數,單詞個數算法
    這就給我們留下了一個問題:如何又快、又準確地統計一篇英文文章中的單詞數?算法思想要解決這個問題,最自然的算法是,讀取文章的所有內容,然後一個單詞一個單詞地統計,然而,我們在這裡遇到了一個難題:程序看不懂英文,如何知道什麼是一個單詞,什麼不是一個單詞呢?似乎在這裡遇到了障礙,可是,如果換個角度思考問題,也許會柳暗花明又一村:文章中的單詞都是用空格間隔開的,換句話說,單詞數=空格數+1。
  • 零基礎如何學習編程?
    文 | Simon我是真正零基礎開始學Python的,從一開始的一竅不通,到3個月後成功搭建了一個動態網站(沒有用任何框架)。相比於計算機大牛,我更加知道一個小白將會遇到什麼坑,遇到哪些難點。我把我的學習過程寫在下面,並附上在每個階段的學習資料,希望對零基礎的Python學習者有所幫助。在知乎上常常看到想要轉行IT,或者是想學習編程但不知如何開始的朋友。
  • 怎樣學習C語言(獻給迷茫的C愛好者)!
    同學們,從C語言入手,努力學好C語言!    旁觀者李四說:此人大笨也!我用滑鼠隨便拖幾個控制項,就是一個xxx管理系統了,你用C語言怕是一年也寫不出來吧!好了,到這裡,我們基本攻克了在學習C語言程序設計時的一些方法論的東西,關於詳細的學習過程,假設你要我在這裡給你們講指針要怎樣學習?函數要怎樣學習?那我講的內容也不會多於任課老師的內容,或者開個專題叫「怎樣學好指針」,當然,假設你願意和我探討一下指針的本質和高級應用的話,課後,課後啊!如今,我們要談最後一個問題!
  • 自學C語言的最大難題是什麼?
    萬事開頭難,自學C語言最大的困難在於遇到問題不知道如何解決,還有不知道學到什麼程度才能找到工作,這是自學程式語言最大的障礙,學到中間不知道什麼時候是個頭
  • C語言自學入門技巧
    別灰心,我以前也是自學C語言的。現在我已經會了C、C++、java等多種語言。
  • 自學C語言真的有用嗎?
    拿我一個朋友的故事來講,小滔作為非科班學金融的大學生,在大二的時候迷上了IT這個行業,於是準備轉專業IT,說幹就幹,每次下課有時間小滔便去蹭課,沒有蹭課的空閒時間就在中國大學MOCC上觀看C語言的教學視頻,一個學期下來雖然將C語言的基礎知識都了解了,但是像一些深一些的層面都是一問三不知的那種。那麼真的自學C語言是沒用的嗎??答案肯定是錯誤的。
  • C語言 | 選擇1或2調用max或min
    「要成為絕世高手,並非一朝一夕,除非是天生武學奇才,但是這種人…萬中無一」這道理放在C語言學習上也一併受用
  • C語言 | 大寫字母A轉換為小寫a
    「要成為絕世高手,並非一朝一夕,除非是天生武學奇才,但是這種人…萬中無一」這道理放在C語言學習上也一併受用
  • C語言 | 三目運算實現判斷大寫
    「要成為絕世高手,並非一朝一夕,除非是天生武學奇才,但是這種人…萬中無一」這道理放在C
  • 零基礎學Java的幾大必知問題!
    我是:小職(z_zhizuobiao)找我:✅ 解鎖高薪工作 ✅ 免費獲取乾貨教程Java是一門永不言敗的開發語言,隨著軟體行業的興盛,現在學習java的人員也是越來越多了,但是想要學好java的話自學是沒有那麼容易的事情。特別是對於零基礎的學員來,所以對於零基礎的學員來說都是要參加java培訓機構才是最合適的學習方式。
  • 從零開始學習C語言,一起衝衝衝!
    每年都有很多跨考和零基礎的同學考計算機的研究生,而準備計算機考研的第一步就是入門C語言