本文目錄一覽:
- 1、學完譚浩強的c語言後需要再學習什麼
- 2、自學完了譚浩強的C語言程序設計後
- 3、學完譚浩強的C語言程序設計,是不是C就學完了?
- 4、最近在學編程 學完了譚浩強的c語言基礎視頻教學 我接下來應該學什麼呢?
- 5、學完譚永浩的c語言 應該在學什麼?
學完譚浩強的c語言後需要再學習什麼
找一個簡單的項目練手。比如XX售票系統,從中再學會界面以及數據庫的知識,並強化C語言能力。
自學完了譚浩強的C語言程序設計後
其實還有很多事情可以做…………..當然 ,方向重要:
①、計算機專業領域一共有幾個大方向,十幾個分支方向,而每個分支方向又有幾十個小方向,每一個方向的深入學習與熟練到一定火候都不是一朝一夕,互相之間也不是完全沒聯繫的,但是無論是初學者還是中前期學習者都應該選擇一個大方向並在其中的一個小方向內深入(為什麼要這麼早就選擇具體的分支方向?後面說)。
②、這裡列出計算機的幾個大方向(非編程開發類的我就不說了):
基本方向:
1、單片機、嵌入式方向
2、網絡編程:涉及到服務器程序、客戶端開發、腳本設計等。
3、系統編程:基礎API開發、桌面開發、系統程序開發、服務程序
4、圖形學:3D、2D、圖像識別、人臉識別
5、音頻:語音識別、音頻解碼、音頻軟件
6、編譯原理:編譯器設計、腳本解釋器、虛擬機、非自然語言翻譯系統
7、應用層開發:利用高層語言去開發表層應用
8、安全:反工程、病毒、反病毒、木馬、反木馬、軟件破解、軟件加殼
附加方向:
9、人工智能:遺傳算法、神經網絡、灰色系統等等
10、遊戲設計:各種遊戲引擎設計以及業務邏輯設計等
③、基本方向是學習者一定要選的,附加方向只是基於基本方向的一些錦上添花,但是不管學習者怎麼選,最開始某些東西一定要深入而不是只是懂就夠(當然學習者對自己要求不應該低),我把這個列出來:
數據結構:下面其他理論的基礎。(必看:《算法導論》
操作系統原理:理解操作系統的架構和細節,學習者才能對以後關於多線程、文件管理、內存管理、指令優先級等有一個正確理解和運用。(必看:《操作系統:精髓與設計原理》
編譯原理:能夠升華學習者對計算機編程語言的理解,對以後出現的各種編譯、解釋、兼容、移植、優化、並發與並行算法等有一個深入理解。(必看:三本聖經和《PT》,哪三本具體百度
數據庫系統原理:這個是進入公司都要會的,也是大型軟件開發的基礎。(這就有很多經典,但都不是必看的,具體douban
軟件工程:這個是學習者能夠在經驗不足還能保證大項目正常完成的理論基礎。(設計模式能夠有助於軟工的架構設計,一定要看
網絡技術:這個是必須學的,因為目前幾乎沒有一款裝幾率很高的軟件或者平台跟網絡無關。(很多很牛的書,具體douban
數學的話,主要是:離散數學、線性代數、高等數學、計算機圖形學、概率論(各自都有很牛很好的書以及習題,具體douban
以上幾個基礎就是學習者成為一個融匯各個主要分支牛人必須學的(當然不是指理論,而是理論+實踐編碼能力)
④以上都是大的基礎,要一一攻破並深入學習,雖然網絡時代計算機專業知識爆炸式的增長,但是以上幾個基礎掌握後,會發現,以後的什麼新的理論和技術都是基於這些大基礎,學習者就很容易理解了(或者且當你對方法論比較感興趣,在方法論的催化下+以上渾厚基礎,會有一種被打通任督二脈的感覺)。
⑤我為什麼開頭不講學習者要具體學什麼怎麼順序學呢?因為那些技術學習者要掌握的話,根本可以自己解決(翻書+實踐的反覆循環),但是如果沒有一個對自己現在投入的努力和【以後形成的能力和層次積澱的預測】的基本了解,那麼畢業後雖然也能找到不錯的工作,薪水也可能高,但是卻不是一個大牛(雖然這之間確有轉化關係,僅個人見解)。
現在才開始講學習順序(一種可能的順序,並且大部分被我驗證或預測過)。
C語言是可以寫很多核心和高級的東西,而不只是小東西,編碼技巧有很多可以提高的空間之處。
學習者的學習順序應該是:
C:建議有時間的話,學到這個程度-做一個超級馬里奧出來,並能夠讀取文本腳本來更新關卡。
C++:寫一個2D圖形引擎,封裝掉細節,實現面向對象設計和可復用設計(但是2D圖形引擎注重效率,對復用的設計理念顯然不需要太在乎,所以最具有復用挑戰力的是外表簡潔,內部設計複雜而高度靈活如WPF的GUI),並且用到《設計模式》中提到的一些設計模式,這樣才能算對C++有一個很好的掌握。
MFC:MFC技術雖然據說前期一段時間冷下來了(近期又有新的熱度,貌似融入了新的血液),但是學習者能熟練掌握它,才能短期內證明學習者的C++OO技術夠純熟,嚴格證明學習者掌握了MFC很簡單,學習者只要用MFC做出一個非內核的殺毒引擎簡化版就差不多了。推薦的書有《深入淺出MFC》。
《Windows程序設計》:和MFC不同的是,用的是windows核心SDK,也就是Windows API,這本書學完後,學習者才能從操作系統層面上算掌握了win32 平台下的機理(其實win64和win32大部分API機理類似)。
C#:C#里集合了當代和前沿計算機科學裡最先進的一些語法(雖然執行效率一直被人質疑),但是學習者學完C#並深入後,至少能夠算是對計算機語言有一個更加深刻的理解了。如何證明學習者C#學的不錯了?也很簡單,再次寫一個隨便什麼遊戲。如果更加證明自己呢?用它寫一個P2P網絡對戰遊戲。
⑥作為進階學習編程語言的附加要求,其它語言建議也學習下,學之前可以先看《冒號課堂》(告訴你各種範式語言之間的關係,讓你對編程語言有一種截然不同的全新視野的掌握)。
(如果學習者注意的話,會發現我說的學習順序都是沿着語言和某些技術的,為什麼呢?因為這些語言和技術涉及到特定的領域技術和計算機理論思想,比如【真正】學完了C++或C#的話,就不單指學完了C++或C#,而是把多種語言範式都學習了一遍,以及現代的程序開發思維(因為裡面用到了很多讓學習者一勞永逸的技術))
以上5個步驟都是基礎大步驟,要解決的話要沒1-2年應該不夠。
與此同時,要儘快選出文中學習者感興趣的方向作為3-5年的長期方向,不要擔心過早選擇分支方向會有什麼損失,因為計算機很多分支是相通的,只有學習者把分支方向深入進去,才能真正理解很多理論的實踐意義。並且一旦學習者在某個分支領域形成了較強的優勢(比如,到公司里只有學習者這方面最強),那麼學習者就是稀缺人才。
關於大方向的細分步驟就暫時先說到此處,有興趣學習者的主要就是要把我說的這幾個基礎步驟先解決,同時平時要注重大方向理論結合實際去編碼和開發。
⑦最後,再從資本論的角度去度量一下為什麼要深入至少1-2門技術,而非只是泛泛的都學。
1.一個公司不需要一個功能對應的所有可選技術類型,通常只要其中1-2種(就如服務器腳本語言,為了便於開發維護和人員更替,也都是集中在1-2種
2.就算會N種技術,一個時間段只能從事其中一種工作
3.完全不用擔心自己好不容易深入的技術公司正好不用(你進公司之前,不光是公司選你,你也在選公司),另一方面,技術也是相通的,深入一個再深入另一個同類技術,是【極其】容易的(建立在時間+實踐)。
4.泛學的東西,你能用1個月、半個月、1星期、幾天學會,別人也能(再者,學會不難,熟練成習慣並轉化為開發效率,才是問題,因為這不是技巧問題,而是時間成本問題),那麼這就完全沒有競爭優勢了,你泛學了N種技術,而公司正好需要其中之一時,別人只要投入也同樣這麼短的時間就能臨時追上你的泛學程度的步伐,何必呢?而你要趕上別人花了幾年的深入程度的東西,不可能只需要花幾個月(除非你之前早已深入了類似的東西,但這就推翻了你是在泛學的前提,所以不用考慮這種情況)。
5.我評估兩個人之間的領域能力的差距是這麼來的:一個人如果想超過另一個人的某個分支領域能力,要花多久?如果要花幾天或幾個月,說明差距不大,如果要花幾年,就是很大的能力差距了。(時間是衡量能力的最終極標準:當然建立在正態分布和個體特殊差異之上)
曾經有人問我,怎麼才算深入的學習了某東西,有個專攻JAVA的人問我這個問題(”如何徹底深入理解JVM”),我不假思索就果斷的回答他:要真的深入一個東西,只需要實現一個類似的東西。
他還是沒對上號,然後當時我進一步說:如果你能實現一個類似於JVM的東西,不就代表你深入理解了JVM嗎?
學完譚浩強的C語言程序設計,是不是C就學完了?
不是的 只能說你已經入門了
你好好考慮一下 你現在能寫出什麼樣的程序 應該都是很簡的那種吧 而且C的函數也還沒有完全吃透, 建議你多多使用它們
差不多了時,學習下C# 因為有了C的基本 這個學起來就容易多了 很快(一兩天就夠了吧)你就可以寫出功能強大且實用的WINDOWS程序 不再像C那樣只是些控制台程序 C#是很有趣的 我剛過了二級C 現在正在學C# 有興趣的話可以加我一起學
最近在學編程 學完了譚浩強的c語言基礎視頻教學 我接下來應該學什麼呢?
接下來去找點更厚更系統的C語言 在系統的去學習下
然後就去學VC就是去學習下編程軟件的具體操作
再接着就看你是想往那個方面了不過一般學C都是去邊單片機的程序了和一些應用程序 這個階段就去找點這方面得書去看看
最後就是 找些實例去看看學習研究了
其中最重要的是實踐 多去聯繫 否則 真給你個課題 你就會無所適從的
多多把課後的習題都在電腦上編出來 會對你幫助很大的
希望能幫到你
補充
當然需要了 就在你去找一本更厚的更系統的書的同時去看 意思就是說你在弄明白基本語法後在去看一些關於算法 結構的書 否則那是屬於自虐 還沒有什麼效果的 如果你基本語法搞明白了 以後的許多東西你會感到很輕鬆的
學完譚永浩的c語言 應該在學什麼?
C語言是一門實踐課,僅是書本過了一遍,代碼量肯定不夠,下一步應該要學C語言實戰或C語言算法一類的內容,在實戰編程中查漏補缺。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/237542.html