把譚浩強的c語言學了一遍,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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 12:05
下一篇 2024-12-12 12:05

相關推薦

  • AES加密解密算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演着非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28
  • Python語言實現人名最多數統計

    本文將從幾個方面詳細介紹Python語言實現人名最多數統計的方法和應用。 一、Python實現人名最多數統計的基礎 1、首先,我們需要了解Python語言的一些基礎知識,如列表、字…

    編程 2025-04-28
  • Python作為中心語言,在編程中取代C語言的優勢和挑戰

    Python一直以其簡單易懂的語法和高效的編碼環境而著名。然而,它最近的發展趨勢表明Python的使用範圍已經從腳本語言擴展到了從Web應用到機器學習等廣泛的開發領域。與此同時,C…

    編程 2025-04-28
  • Python基礎語言

    Python作為一種高級編程語言擁有簡潔優雅的語法。在本文中,我們將從多個方面探究Python基礎語言的特點以及使用技巧。 一、數據類型 Python基礎數據類型包括整數、浮點數、…

    編程 2025-04-28

發表回復

登錄後才能評論