深入學習c語言
⑴ 深入學習c語言的具體步驟
①、對於你能寫這么長的問題描述,說明你很認真。
②、你的目的性較強,但是你也想有更加明確的目標,我可以給你講一下怎麼自己去尋找目標和路線以及怎樣學習。
③、計算機專業領域一共有幾個大方向,十幾個分支方向,而每個分支方向又有幾十個小方向,每一個方向的深入學習與熟練到一定火候都不是一朝一夕,互相之間也不是完全沒聯系的,但是你現在就應該選擇一個大方向並在其中的一個小方向內深入(為什麼要這么早就選擇具體的分支方向?後面說)。
④、這里列出計算機的幾個大方向(非編程開發類的我就不說了):
基本方向:
1、單片機、嵌入式方向
2、網路編程:涉及到伺服器程序、客戶端開發、腳本設計等。
3、系統編程:基礎API開發、桌面開發、系統程序開發、服務程序
4、圖形學:3D、2D、圖像識別、人臉識別
5、音頻:語音識別、音頻解碼、音頻軟體
6、編譯原理:編譯器設計、腳本解釋器、虛擬機、非自然語言翻譯系統
7、應用層開發:利用高層語言去開發表層應用
8、安全:反工程、病毒、反病毒、木馬、反木馬、軟體破解、軟體加殼
附加方向:
8、人工智慧:遺傳演算法、神經網路、灰色系統等等
9、游戲設計:各種游戲引擎設計以及業務邏輯設計等
⑤、基本方向是你一定要選的,附加方向只是基於基本方向的一些錦上添花,但是不管你怎麼選,最開始某些東西一定要深入而不是只是懂就夠(當然你對自己要求似乎不會很低),我把這個列出來:
數據結構:下面其他理論的基礎。
操作系統原理:理解操作系統的架構和細節,你才能對以後關於多線程、文件管理、內存管理、指令優先順序等有一個正確理解和運用。
編譯原理:能夠升華你對計算機編程語言的理解,對以後出現的各種編譯、解釋、兼容、移植、優化、並發與並行演算法等有一個深入理解。
資料庫系統原理:這個是進入公司都要會的,也是大型軟體開發的基礎。
軟體工程:這個是你能夠在經驗不足還能保證大項目正常完成的理論基礎。
網路技術:這個是必須學的,因為目前幾乎沒有一款裝幾率很高的軟體或者平台跟網路無關。
數學的話,主要是:離散數學、線性代數、高等數學、計算機圖形學、概率論
以上幾個基礎就是你成為一個融匯各個主要分支牛人必須學的(當然不是指理論,而是理論+實踐編碼能力)
⑥以上都是大的基礎,要一一攻破並深入學習,雖然網路時代計算機專業知識爆炸式的增長,但是以上幾個基礎掌握後,會發現,以後的什麼新的理論和技術都是基於這些大基礎,你就很容易理解了。
⑦我為什麼開頭不講你要具體學什麼怎麼順序學呢?因為那些技術你要掌握的話,根本可以自己解決,但是如果你由於興趣,沉迷於一些自己可見的小范圍技術的話,那麼畢業後雖然也能找到不錯的工作,薪水也可能高,但是不能成為一個大牛。
現在才開始講學習順序,雖然你說不要推薦書,不過我還是要用書來做順序。
C語言是可以寫很多核心和高級的東西,而不只是小東西,但是從你代碼來看,居然用到了 goto,我不是說你那些程序用到GOTO有什麼不好,而是一定要避免用GOTO,goto是錯誤之源,如果你有什麼內容非要用到goto才能寫到,說明你的編碼技巧還有不少提高空間。
你的學習順序應該是:
C:做一個超級馬里奧出來,並能夠讀取文本腳本來更新關卡。
C++:寫一個2D圖形引擎,封裝掉細節,實現面向對象設計和可復用設計,並且用到《設計模式》中提到的一些設計模式,這樣才能算對C++有一個很好的掌握。
MFC:MFC技術雖然近期已經冷下來了,但是你能熟練掌握它,才能證明你的C++OO技術夠純熟,嚴格證明你掌握了MFC很簡單,你只要用MFC做出一個殺毒引擎就差不多了。推薦的書有《深入淺出MFC》。
《Windows程序設計》:和MFC不同的是,用的是windows核心SDK,也就是API,這本書學完後,你才能從操作系統層面上算掌握了win32 平台下的機理(其實win64和win32大部分機理類似)。
C#:C#里集合了當代和前沿計算機科學里最先進的一些語法(雖然執行效率一直被人質疑),但是你學完C#並深入後,至少能夠算是對計算機語言有一個更加深刻的理解了。如何證明你C#學的不錯了?也很簡單,再次寫一個隨便什麼游戲,比如俄羅斯方塊。如果更加證明自己呢?用它寫一個P2P網路對戰游戲。
(如果你注意的話,會發現我說的學習順序都是沿著語言和某些技術的,為什麼呢?因為這些語言和技術涉及到特定的領域技術和計算機理論思想,比如【真正】學完了C#的話,就不單指學完了C#,而是把多種語言範式都學習了一遍,以及現代的程序開發思維(因為裡面用到了很多讓你一勞永逸的技術))
以上5個步驟都是基礎大步驟,要解決的話要沒1-2年應該不夠。
與此同時,要盡快選出文中你感興趣的方向作為3-5年的長期方向,不要擔心過早選擇分支方向會有什麼損失,因為計算機很多分支是相通的,只有你把分支方向深入進去,才能真正理解很多理論的實踐意義。並且一旦你在某個分支領域形成了較強的優勢(比如,到公司里只有你這方面最強),那麼你就是稀缺人才。
關於大方向的步驟就不說了,你主要就是要把我說的這幾個基礎步驟先解決,同時平時要注重大方向理論結合實際去編碼和開發。
⑵ 深入學習C語言
學習WINODWS SDK編程吧,你已經有一年的C語言基礎了,應該沒什麼問題。。
主要就是理解WINDOWS程序的原理而已。
⑶ 如何深入學習C語言
多看書:自譚浩強《C程序設計》、RITCHIE(C創造者)的《C程序設計語言》、《C陷阱與缺陷》、《C專家編程》(經典)、《C程序員成長攻略》、《演算法導論》、《數據結構》等等;
多讀代碼;
多抄襲代碼;
多動手;
選擇方向,一般C是底層、後台的。基本這樣了。
本人切身體會。
⑷ 深入學習c語言
練習題不是看一遍就行的,得多做幾遍,多看用C語言寫的程序,再學學C++,專多讀多用
要想對一些簡屬單的算數程序.對C語言的圖象處理/以及庫函數的運用有深一些的了解,就得看看C++以及有它的具體操作的書集了
很多時候函數庫不用背,用的時候查查就行
要是沉不下心看,就多做題,
也可多看看用C編寫的數據結構
真要想學個差不多至少要深入學習半年
COPY人家的 呵呵
⑸ 怎麼深入學習c語言
可以學習 嚴蔚敏的數據結構 c語言版 是數據結構中的經典 非常好至於你想學api mfc 卻不想學 c++ 是不內可能的容 因為mfc是微軟建立在c++下的基礎類庫框架 mfc很難 比時下流行的c# Java都難 但如果學好了 前途無量啊 如果你想深入學習 建議接觸c++ 理解面向對象 等孫鑫老師的vc教程是偏向mfc的 如果你感覺c基礎很好了 又想轉向mfc 就去看看吧 祝你成功!!
⑹ 深入學習C語言,哪本書好
樓主,深入學習不是哪本書就解決得了的。樓上的建議說看C語言之父Kernighan的<The C Programming Language>,沒回錯。個人認為答學C言需要三步走,第一步是入門,這個時候應該有一本深入淺出的入門教材,比如說<C Primer Plus>,第二步拜讀<The C Programming Language>這本C Bible,同時參考<C: A Reference Manual>,第三步多讀多寫。一二步只是打基礎,第三步多讀多寫才是深入學習。多讀多寫才是深入學習的關鍵。
⑺ 如何深入學習C語言
怎樣才能學好C語言
第一:C語言語法結構很簡潔精妙,寫出的程序也很高效,很便於描述演算法,大多數的程序員願意使用C語言去描述演算法本身,所以,如果你想在程序設計方面有所建樹,就必須去學它。
第二:C語言能夠讓你深入系統底層,你知道的操作系統,哪一個不是C語言寫的?所有的indows, Unix, Linux, Mac, os/2,沒有一個里外的,如果你不懂C語言,怎麼可能深入到這些操作系統當中去呢?更不要說你去寫它們的內核程序了。
第三:很多新型的語言都是衍生自C語言,C++,Java,C#,J#,perl...哪個不是呢?掌握了C語言,可以說你就掌握了很多門語言,經過簡單的學習,你就可以用這些新型的語言去開發了,這個再一次驗證了C語言是程序設計的重要基礎。還有啊,多說一點:即使現在招聘程序員,考試都是考C語言,你想加入it行業,那麼就一定要掌握好C語言。
那麼究竟怎樣學習C語言呢?
1:工欲善其事,必先利其器
這里介紹幾個學習C語言必備的東東:
一個開發環境,例如turbo C 2.0,這個曾經占據了DOS時代開發程序的大半個江山。但是現在windows時代,用turbo C有感覺不方面,編輯程序起來很吃力,並且拖放,更沒有函數變數自動感應功能,查詢參考資料也不方便。建議使用Visual C++,這個東西雖然比較大塊頭,但是一旦安裝好了,用起來很方便。
一本學習教程,現在C語言教材多如牛毛,但推薦大家使用《C語言程序設計》譚浩強主編 第二版 清華大學出版社,此書編寫的很適合初學者,並且內容也很精到。
除此以外,現在有很多輔助學習的軟體,畢竟現在是Window時代了,學習軟體多如牛毛,不象我們當初學習,只有讀書做題這么老套。我向大家推薦一個「集成學習環境(C語言)」,里邊的知識點總結和常式講解都非常好,還有題庫測試環境,據說有好幾千題,甚至還有一個windows下的trubo C,初學者甚至不用裝其它的編譯器,就可以練習編程了,非常適合初學者。還有一個「C語言學習系統」軟體,不過感覺只是一個題庫系統,如果你覺得題做的不夠,不妨也可以試試。
2:葵花寶典
學習計算機語言最好的方法是什麼?答曰:讀程序。
沒錯,讀程序是學習C語言入門最快,也是最好的方法。如同我,現在學習新的J#,C#等其他語言,不再是抱著書本逐行啃,而是學習它們的常式。當然,對於沒有學過任何計算機語言的初學者,最好還是先閱讀教程,學習完每一章,都要認真體會這一章的所有概念,然後不放過這一章中提到的所有常式,然後仔細研讀程序,直到每一行都理解了,然後找幾個編程題目,最好是和常式類似的或一樣的,自己試圖寫出這段已經讀懂的程序,不要以為常式你已經讀懂了,你就可以寫出和它一樣的程序,絕對不一定,不相信你就試一試吧,如果寫不出來,也不要著急,回過頭來再繼續研究常式,想想自己為什麼寫不出來,然後再去寫這段程序,反反復復,直到你手到擒來為止,祝賀你,你快入門了。
3:登峰造極
寫程序的最高境界其實就是掌握各種解決問題的手段(數據結構)和解決問題的方法(演算法)。
是不是寫出底層程序就是程序設計高手呢?非也,寫底層程序,無非是掌握了硬體的結構,況且硬體和硬體還不一樣,要給一個晶元寫驅動程序,無非就是掌握這塊晶元的各種寄存器及其組合,然後寫值讀值,僅此而已。這不過是熟悉一些io函數罷了。那麼怎樣才算精通程序設計呢?怎樣才能精通程序設計呢?舉個例子:你面前有10個人,找出一個叫「張三」的人,你該怎麼辦?第一種方法:直接對這10個人問:「誰叫張三」。第2種方法:你挨個去問「你是不是張三?」,直到問到的這個人就是張三。第三種方法:你去挨個問一個人「你認不認識張三,指給我看」。不要小看這個問題,你說當然會選第一種方法,沒錯恭喜你答對了,因為這個方法最快,效率最高,但是在程序設計中找到解決問題的最優方法和你用的手段卻是考驗一個程序員程序設計水平的重要標志,而且是不容易達到的。剛才這個問題類似於數據結構和演算法中的:Map數據結構,窮舉查找和折半查找。所以掌握好數據結構和一些常用演算法,是登峰造極的必然之路。最後給大家推薦嚴尉敏的《數據結構》清華大學出版社,希望每一個想成為程序設計高手的人研讀此書。
⑻ 如何深入學習C語言
其實吧,學習C語言是以後從事軟體設計的一個基礎。
任何領域都需要長時間的投入才有結果,你現在學習了C語言,再學習其他語言的時候就比較上手了。
在軟體設計中:
學習一門語言僅僅是第一階段:如果你基本掌握了一門語言,那麼再想深入學習的話就需要把所有C語言的相關的庫函數弄懂,並熟練掌握一個開發平台(如最基礎的TC)。這是第二階段
下一階段你就需要繼續學習不同的操作系統所提供的API(應用程序介面):因為所有的程序都是建立的操作系統之上的,我們平時變成用到的庫函數啊等等最終都是要調用操作系統底層的API來完成的。達到這一階段理論上你就基本上啥軟體都能做了。
你想深入學習C語言,建議你:
1. 買本C語言實例的書,記住,是比較大型的高水平程序的書。相信學習C語言的同學大部分都不會利用純C語言編寫一個俄羅斯方塊游戲吧?我曾經就見過一本書裡面只講了幾個實例,其中就有關於編寫小游戲的實例。(那個時候我學習C語言一段時間後就覺得C語言沒啥學的了,好像都會了,其實這是很嚴重的錯誤。C語言很多很多的庫函數我們還不了解,如果大體掌握了那你也很厲害)
2. 學習下C語言的高級編程,選一個操作系統作為參考(我選的是Windows下的C語言高級編程,有本書的名字就叫Windows 下的C/C++高級編程)這裡面不僅要求你用C語言的語法來實現演算法,還可以學習到經典的Windows編程的思想。
記得當時我剛開始接觸的時候有些不適應,因為裡面有很多涉及到Windows的原理,比如Windows如何管理一個窗口,如何管理網路等等。如果你C語言語法熟練,又經歷上第二階段的洗禮(掌握了C語言的主要庫函數),並且還想繼續學習C語言的話,那麼,強烈建議進行第三階段的學習。
最後,祝你在C語言的道路上越學越深入。
PS:這里說的掌握C語言的庫函數,並不是讓你把所有的庫函數都記住了,只要你知道C語言中庫函數分多少類,每個類別裡面大概都有多少庫函數,哪些我可以直接調用庫函數而不用再編寫一個函數來實現什麼樣的功能了。(比如常用的數學庫函數,裡面有求三角函數的值,求圓的面積等等這些都不用自己再編寫的了)
還有,C語言的另一個方向是嵌入式編程,如果你感興趣的話可以嘗試學習下,特別是單片機的編程,用C語言的很多。
⑼ 怎樣深入學習c語言
實話復說C語言現在不是主流 只是基礎制 但是在深圳還有用C做嵌入式開發的 不多
接下來你就要選擇Java或是C# 這兩個是現在的主流編程語言了 像PHP也不是很多 就是選Java或是C#了 有人說C#上手容易,錯了,其實是挺難的,我是Java 我同學是c# 他說他被那些說c#容易的人給騙了 呵呵
Java上手難,但是你學一段時間,有了思想以後再往上走是很快的
c#上手方面比Java的確是簡單 微軟做的東西向來是很方便的 但是學一段時間以後再像更高級的方向發展,你就會方向一點都不簡單,還是很難啊
說白了就是Java前期難後期簡單 c#相反
書的方面就看你選哪個方向了 網上有很多 玩程序要多動手練啊
另外,團IDC網上有許多產品團購,便宜有口碑