學習C語言有哪些技巧?

用戶3708573094


技巧 什麼得明白這三個問題就搞定了,C/C++要學什麼東西?C/C++學完能幹什麼?學了又能當飯吃嘛?

前言

普遍問題

  1. 學校的課程設計不完善,涉及面廣,什麼都不深入。
  2. 老師缺乏實際的工作經驗,比如說我經常看到老師經常教學生做數學題之類的小程序,但是,實際工作中,我們並不玩這個。

在我看來,要學習某種編程語言,沒必要去侷限課堂,一方面是進度慢,另一方面,如果你要學習某種語言,關鍵在學而不在教,你的態度和決心是關鍵,只要你有決心,沒人教也能學會,現在互聯網這麼發達,什麼內容都可以找得到。但是,如果有人教,並且方法合適,肯定會快很多。好了說了這麼多,先進入我們今天的主題:C/C++要學什麼東西?C/C++學完能幹什麼?學了又能當飯吃嘛?

C/C++要學什麼?

基礎篇

C語言這好像不用想,必須學的。C++語言:配合對OO的學習,也是必須的。剛開始接觸C/C++時,如果是學校開了C/C++課程的話那就更好了,可以跟著老師的進度學習,在課餘時間可以多做一些習題或上機練習。如果你是完全自學,你可以找一本面向大學生的教材。掌握了一些基本的C/C++語法,那就開始學習面向對象的部分了,這部分內容比較多,初學者理解起來也會感覺比較吃力,建議多上機練習。在基本瞭解了C++的面向對象之後,可以開始學習模板庫,比如STL,因為STL在我們的軟件開發中非常重要,甚至有些招聘都要求會STL,(STL:標準模板庫),這裡麵包含了大量的數據結構和算法的實現,有些可以直接拿來用,但是如果你對數據結構有特殊需求,那麼你就要自己去實現這些數據結構。

進階篇

如果C/C++基礎部分沒什麼問題,那麼你就可以進階學習了,學習了這些你或許感覺有疑惑,為什麼我不能開發出一個帶界面的程序呢,呵呵,如果你又這樣的需求,那麼你可以學習一些界面庫,比如QT,MFC等,這兩個是比較常用的,QT入門稍微容易些,但是往後深入會比較困難,MFC入門起來會麻煩一點,有很多人也就是因此而放棄,但是甜頭在後面,只要入門了後面的路將會是一馬平川,障礙比較少,順帶提一下,中間要學習的數據庫自行研究。(oracle:數據庫方面業界的老大,我們的應用基本上都使用ORACLE數據庫,又怎麼不學呢)

中間如果你對某一領域感興趣,你就需要去了解和學習相關的庫,比如三維圖形庫OpenGL,網絡通信庫ACE等等,這些庫基本是都是標準C/C++寫成的,一般都是跨平臺的。

學完這些可以常識把windows桌面上的東西更新一波,把這些應用軟件變為自己做的,你就很了不起了。

禿頂篇

學完上面的,基本工作這塊沒什麼問題,想要後期提高,不妨研究下系統內核編程這塊,研究各種系統內核,以及算法的深度學習這塊也是可以的。或者是往更專業化方向研究。注意這裡不是學習了,是研究了。

C/C++學完能幹什麼?

1、服務器端開發:很多遊戲或者互聯網公司的後臺服務器程序都是基於C++開發的,而且大部分是linux,unix等類似操作系統,所以說,你如果想做這樣的工作,你需要熟悉linux操作系統及其在上面的開發,熟悉數據庫開發,精通網絡編程。

2、遊戲:目前很多遊戲客戶端都是基於C++開發的,除了一些網頁遊戲可能不是,這個領域需要學習的東西就比較多,個人不太瞭解就不多說。

3 、虛擬現實仿真:這個也是發展很快的計算機領域,目前各種數字地球,數字城市,虛擬地理環境什麼的,出現了這方面的大量應用,不過也不限於這些方面,比如科學計算可視化也是其中一個方向。這個方向重點需要學習的是圖形學。

4 、數字圖像處理:現在市面上有很多VC++圖像處理的書籍,可見在這個領域的應用軟件開發也是佔了很大比重,需要深入學習數字圖像處理和模式識別等課程。

總的來說:

服務器開發工程師、人工智能、雲計算工程師、信息安全(黑客反黑客)、大數據 、數據平臺、嵌入式工程師、流媒體服務器、數據控解、圖像處理、音頻視頻開發工程師、遊戲服務器、分佈式系統、遊戲輔助等

學了又能當飯吃嘛?

這個沒什麼好說的,自己上招聘網上看,先看的不是工資,而是需求的能力你是否具備?別人給多少不是問題,問題是你的肩膀能不能扛得起這個事兒。現實就是如此。

結束語

和大家說了這麼多,並不是告訴大家我的技術有多麼多麼的牛,而是想告訴大家,只要你有決心和意志,要好學C/C++並沒那麼難。要混口飯吃也不是這麼難哦


C語言基礎


現在國內大部分院校的計算機程序語言還是以c語言開始教學,採用的教材都是譚浩強的《c語言程序設計》。教材確實是有一些年代了,不過內容看著還行吧,如果是新手的話看著有些枯燥,可能還是需要更多的興趣來支持。


建議是可以跟著教材或者一些視頻看,一般都會有不少配套的習題之類的,在各個知名的站點也有很多算法題供你練習,一些高校的oj平臺(像杭州電子科技大學oj)、leetcode等等。學習編程這種事情。無他,唯手熟爾!從printf("hello,world!")開始,儘量保證每天都要敲幾行!


一定要抓好基礎!從常量、變量開始,到判斷、循環語句,再到函數、類等概念。要知道為什麼這麼定義,還要知道原理。像c,c++這種編譯類的語言也比較接近於底層,需要了解變量在內存中是如何分配的,不同類型的變量在內存中佔據多少個字節,例如short, int, float等等。


計算機編程語言有它自身特性,不要盲目把平常生活學習的認知代入進去,這都是一些常識性的錯誤。我最近就碰到有幾個朋友讓我幫著看代碼,例如下面這個身體健康的BMI指數公式代碼

BMI=weight/high^2

如果是自己手寫出來確實是沒有問題,但是在計算機中表示則不然。首先,次方運算不能直接用 '^'表示,有特定函數;第二,計算機進行算數運行有特定的運算符優先級順序限制。


最後,其實大家碰到的大部分問題其他人肯定也早就碰到過了!自己百度,google或者查博客都是可以解決的,這樣也可以鍛鍊自己的搜索能力!有問題,先看看自己能不能解決,然後查搜索引擎,最後不行就問問邊上的朋友或者老師都是可以的。碰到bug其實才是好事,這樣才能讓你更深刻的意識到問題在哪!


ps:編譯器個人推薦,windows上可以用codeblocks,linux可以用clion。


WuqueYu


首先在此說明,我是1992年開始進行c語言開發的,經歷了tc2.0,vc++6.0及現在的vc2010。不要過多地看參考書,這點很重要。先從網上下載一個vc的典型程序,如具有編輯,lan通訊及文件操作的c十十程序,分析。這樣很容易明白。對一些庫函數對照MSDN查看原型,弄懂各參數之含義。 學習語言入門很簡單,但要深入就要學習很多軟件,硬件理論。比如,圖形顯示。圖元填充,畫園,brush顏色等是最簡單的。要更高級的,必須上網找相關的成熟的類,以豐富畫面質感。高級的,如架構研究,也需要深入學習。 總之,要月收入5000一10000,認真學習兩三個月足矣。如果委20000一50000,需要下翻功夫的。當然沒有天資是不行的。


beijingwanger


剛開始學習的時候,都面臨著選教程的問題,畢竟好的開始是成功的一半,選一個好的教程,在學習的過程中能夠讓你事半功倍。


在選教程的時候,如果對於初學者的話,儘量選一些比較經典的視頻教程來學習,來提升自己對編程的興趣,而不是剛開始學習C語言就面對著黑窗口,可以通過更好玩的方式來進行學習的。


就比如說最開始學習C語言,看的是“如鵬網”的《C語言也能幹大事》系列視頻教程,課程體系的設置可以極大的激發對編程的興趣,通過開發飛機大戰,超級瑪麗,連連看等經典小遊戲,用C語言來開發網站等來講解C語言的基礎知識點,適合初學者學習。


在學習的過程中,一定要記住,多練習,跟著教程上的例子去練習,老老實實敲代碼。如果自身條件允許的話,還可以在已有的例子上進行拓展,舉一反三。


至於課程後面的習題的話,也做一下,可以先自己實現,然後再去參考老師的代碼,這樣提升會更快一些。總之,學習C語言,多練習,多思考,多總結,做好筆記,保存好寫過的額代碼,這些都是少不了的。


分享到:


相關文章: