現在嵌入式行業發展非常快,很多人想從事嵌入式開發工作,如嵌入式軟件工程師,MCU單片機開發工程師,嵌入式硬件工程師,Linux系統開發工程師,驅動工程師,這些職業薪也確實很高,但是這都離不開我們的C語言,然而很多同學認為C語言知識非常復雜難學,生硬的背下來語法但是給了需求依然不會寫程序,讓初學者很是頭痛。其實不然,筆者從事嵌入式行業多年,接下來的給大家分享一下C語言的知識框架和如何學習C語言,希望對大家有所幫助。
其實一個程序由數據和算法組成,那我們只需要學習的就是數據和算法,那我們就以此為出發點看一下我們要學習什么知識。
知識框架:
出發點: 程序 = 數據 + 算法, 算法 = 運算符 + 控制語句。
數據:那我們來看一下數據的知識點,數據其實就包括數據類型和數據結構,數據類型只有三大數據類型,分別是基本數據類型,構造數據類型,指針類型,具體如圖所示


補充:指針是大家最頭疼的知識了,很多人學了指針就亂了,不知道能干什么,通過以上形式學習,就會很清晰額。(具體指針學習后期給大家分享)
接下來我們談一下算法:算法 = 運算符 + 控制語句,再復雜的算法其實同事運算符和控制語句完成的,比如各種排序算法,濾波算法等,他們只是功能相對制定。
運算符:C語言中的運算符非常靈活,其中 位運算符是其他語言沒有的,也是嵌入式開發底層芯片開發必要的運算符,那我們就給他分一下類,如圖:


控制語句:九條控制語句大家會覺得很混亂那我們來分一下類,如圖:


補充:分開學習后我們要會各個控制語句的嵌套使用。大家想想學了以上這些理論上我們就可以編寫任何程序了,但是我們要讓程序更完美,包裝得更模塊化,那還有C語言以下的知識點。
函數:函數的目的是為了將我們的程序模塊化,讓我們的程序更簡潔,方便移植和后期優化,那函數我們需要學習什么呢?如圖:


宏定義和條件編譯:宏定義是為了讓我們的程序更加簡便,條件編譯可以按不同的條件去編譯不同的程序部分,因此產生不同的目標代碼文件,這對于程序的移植和調試是很有用的。讓我們告別程序臃腫,如圖:


動態分配–鏈表:讓我們的程序進入更高級結構,動態申請空間,大家學習可以對比數組就很明顯了。如圖:


文件操作:文件操作在系統開發中很有用,其實很簡單,無非就是如何使用系統給我們的函數,創建文件,打開文件,追加內容,關閉文件等函數的調用
最后我們用兩張圖片看一下C語言的知識點:




好了,這就是C語言的知識點框架,大家可以參考去學習。有很多同學會有一些學習誤區,比如硬背32個關鍵字等,其實我們這樣學習了后,常用的關鍵字我們就都記住了而且最重要的是會使用了。
但是大家還會有問題,我回了這些知識點但是給我需求,我還是不知道怎么寫程序,無從下手的感覺或者不熟練,其實是因為大家沒有編程思維,我認為這個是更重要的,編程思維可以讓我們怎么分析需求,分析程序結構,整理編程思路,最終完成程序,本篇文章太長了,下次我給大家分享如何訓練我們的編程思維,讓我們寫程序得心應手,如果筆者的經驗對大家有用,麻煩大家點贊關注一下,我們繼續為大家分享。
版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。