學好C的朋友進來下,本人的項目經驗!

學習C語言,由於的是他的執行效能高,可直接操做內存,很是靈活,給程序員以及大的發展空間,受硬件環境的影響極小,這也正是不少嵌入式開發平臺選用C是同樣的道理,那怎麼學習C呢? 仍是找本書照本宣科的從頭學嗎?還寫HelloWorld嗎?我認爲沒有必要這樣了,中國爲何這麼落後,中國的教育爲何老是被各國所數落?中國的軟件產業爲何發展這麼緩慢?我以爲最根本的緣由是學生不知道本身學的東西有什麼用?能作什麼?學習沒有方向,沒有目的,你學結構學算法,學排序,學遍歷(即查找)這些算法,學鏈表,學結構體,這些數據結構爲了什麼? 有的學員有爆棚自信,認爲我計算機學了四年什麼東西我沒作過,什麼東西我沒學過? 可是爲什麼到企業卻到處碰壁呢?我以爲是心態沒有擺正,你覺得本身是大學生別人就應該說5k-6k的請你求你去?低去4K看都不看?但實際上ICL3241CV軟件開發是要有經驗的,不是說理論知識就好了,你能夠說你在學校裏作過的幾個項目,那能叫項目嗎?沒有需求沒有分析,律千篇的都是XX管理系統,學生管理系統,學分管理系統GMS97L58PL,學星爺大話西遊裏的話:有點創意好很差,老兄.你說別人用人單位看到這樣的簡歷或經歷別人會用你嗎? 用MFC的架子作個學員仍是老師管理系統這種東西別人用人單位看都不看直接扔的,由於特別是在中國像這樣的行業軟件幾乎都是定製,就連東軟金碟這樣的CMM5的企業都不敢說本身賣的是產品型的軟件.也就是說每一個軟件都有它本身的設計模式,不是說像MFC這樣一開始就定好的框架,除非你本身玩下,還能夠要否則這東西基本是沒有用,若是說VC這塊你要學習的話建議仍是學下ATL即COM技術,這塊必竟仍是有作中間件的企業會須要的!總結了一下C中比較重要的內容,雖然也有朋友發表過相似的東西以爲比較亂的,本身理了下: 一,基礎部分:這裏分兩大塊,一塊就是數據結構RCV336ACF/SVD,另外一塊是算法: 1.數據結構要看的是:基本的數據類型,int ,float,double, char ,指針; 1)擴展數據類型struct,枚舉,聯合;用戶數據定義數據結構:鏈表,數組.這裏要掌握幾種基本數據類型的用法! 2)MIC2025-2YM指針,及用指針來處理字符串,由於C裏面沒有字符串這種類型的變量,其實在其它語言裏學習過字符串可能會有先入爲主的觀點,認爲字符串也是一種基本的數據類型,而我告訴你其實否則,計算機的長度是32位,而中國的方塊字一個個怎麼可能把一串字符存儲在一個單位裏面而有別於另外一個字符串?字符串在C裏面是以字符串數組的形式所表現的UTC3842A,而在C中數組的傳遞實際指首地址的傳遞即指針的傳遞.而咱們如今生活中所作的項目大部分時間是對字符串的處理,這部分你必定要掌握的很是的牢固! 3.1)修飾符做用要分清:signed,unsigned ,long, short這幾種是修飾基本數據類型的; 3.2)做用域和生命週期這部分要了解:Static修飾的生命週期是全局的,function,scope只能限制它的做用域; 4)鏈表,而鏈表我就很少說了做爲一種非線性存儲的數據結構,正由於他的不連續性因此被普遍的應用於數據層的持久化上MCC56-14I08 B,通常而言在實際項目中也是使用的很是的普遍,建議多看看. 5)堆與棧CX80501-31B,程序出入棧運行的方式必定要熟練,這對你之後調試程序有很好的幫助.堆,沒什麼好說的,堆上的空間是動態的,正由於它的這一好處,也可能成爲不少程序員的夢魘,記得malloc以後必定要free.注:這裏不是簡單的成雙成對的問題,仍是上面的知識,每種類型的生命週期和做用域必定要清楚,這裏就不會有垃圾內存的問題了. 2.算法,即有效的組織數據結構以最理想的方式運行,從而達到最佳的效果. 1).這方面我以爲首先做爲算法的基礎,元素之間的運算必定要很是的熟練,要把算術優先級別作到滾瓜爛熟,固然有些人和你說這沒什麼用EN29LV040A-70TCP,你看這沒用,等用到時你就等着哭吧. 2).元素間的值傳遞也要有了解,引用仍是直接傳值必定要有清晰的思惟,賦值也是一種值傳遞記住,左值和右值要分清. 3).函數的學習,注意無類型指針void的用法,及它的兩種含義和用法 4).控制流:結構化程序仍是面向對象的設計都必不可少的東西,必定要使用熟練,順序就不說了,判斷,循環裏的經常使用語句爛熟於胸! 3.對外部設備的調用,這寫包含文件的操做,注意下就能夠了.沒必要太在乎,,其實輸入/輸出都是這個領域的一些東西,不必去在乎那些什麼printf/scanf 之類的沒什麼用,本身測試代碼能夠用下,其它的地方就不必的...呵呵 好了今天說到這裏,好累了,打字還好,就是想着想着頭累...下次再說...Be continue!
相關文章
相關標籤/搜索