從C語言專案談程式設計

2022-03-14 20:51:47 字數 2530 閱讀 4417

很多初學c語言的小夥伴,在學習之初並沒有乙個大概的概念,學習這門語言需要掌握多少知識點,怎麼才算學的差不多?

c語言的精髓點在哪? 學到多少東西才能夠達到做專案的標準?學習的時候需要注意哪些細節點?疑問太多以至於壓得自己喘不過氣來。

基本的資料操作,運算規則,常見程式結構設計

很多人覺得這麼幾點我都看了多少遍了,早就爛熟於心了。舉個簡單的例子,printf列印可能是最常使用的函式了,但是這個函式在真正大型工程中,很少直接去呼叫,為什麼?

主要專案中涉及到封裝的概念,什麼時機加入列印在除錯大型系統的時候,更容易定位問題,這些程式設計思維對於初學者來說很難接觸到,也很難想到,任何複雜的事物都是由簡單的細節環繞而成,在學習之初不要覺得這些很簡單的資料操作很簡單,要真正納入自己的知識體系還是需要花點心思。可以在學習的時候,網上搜一些資料看這些資料操作以及運算規則是如何使用具體的場景中。

說到運算規則,涉及到**的格式的問題,那麼就該要求一些基本的職業素養了,**的格式,就該要求了。很多初學者覺得寫的**越高深,越讓人看不懂才叫高手,有這種想法的趁早打住。大道至簡,這四個字在任何時候都不過時。做的複雜邏輯混亂只能說明當初在設計的時候,沒有徹底想明白,想明白了展示出來一般都比較舒坦平整。

指標,陣列,結構體,列舉靈活運用

不要只看這幾個字,幾乎是c語言裡面最精髓的代表。陣列這個概念基本上還能理解透徹,說到指標這個應用場景太多,而且在什麼專案中幾乎都離不開指標的使用。變化無窮,會用的覺得其樂無窮,不懂的哭上天。

說到指標,不能不提到計算機專業開的另外乙個課程,資料結構。資料結構就是原生資料或者組合資料的混合運用的一種規則集合。連線這些資料,將這些資料有機的串聯在一起,指標起到非常關鍵的作用。經常見到初學者說資料結構和天書差不多,幾乎看不懂,建議回爐好好學習指標,說到指標還是存在很多故事,在入門之初有幸遇到一位水平極高的老手帶著,基本功紮實的不得了,記得有一次使用指標忘記初始化,這老手嘆了口氣,當年我每次用指標錯一次,就被專案經理當眾批評一次,後來再也不敢不初始化使用了,所以印象才能這麼深刻,話說到這裡剛入門的小白挨多少批評或者鄙視,是最正常不過的事情了,這對於程式設計界來說稀鬆平常。

結構體在專案中用的特別多,很多初學者覺得結構體都在教材的最後章節,覺得不是那麼重要。其實結構體在一定層次上決定著軟體的脈絡框架。很多高手在設計模組的時候,不是急急忙忙的寫**,而是先把頭檔案裡面的結構體設計出來,簡單的來說就是把資料模型先搞起來。有個資料模型**實現起來就比較輕鬆了。物件導向裡面類的老祖宗就是結構體延伸來的。關於結構體如何賦值,包含著指標的情況下,如何賦值這些都是常見的初學者經常容易掉的坑。列舉一般用在羅列不同類別,存在多個相同功能的實物,搭配switch使用的很多,在這就不一一枚舉了。

函式的使用

函式是面向過程程式設計最基本的單位,任何c程式的執行都有函式的身影,因為程式的入口main就是乙個函式,函式傳值方式,呼叫方式(遞迴,**)都是函式內在的表現。函式的裡面又可以巢狀別的函式,使得程式慢慢變得複雜化,談到如何學習函式,說到了數學不好是不是程式設計不好學。函式的程式設計基本因子,和數學裡面的函式有一定的共性,但程式設計裡面的含義引申的層次更多,數學在一定層面就是提供乙個工具或者方法而已,函式的設計裡面夾雜著諸多的程式設計思想。

檢驗乙個程式設計師水平的高低可以簡單讓用函式實現乙個相對複雜一些的功能,基本上就能看出程式設計思想掌握的深淺程度。不妨自己實現乙個函式,檢驗下自己程式設計水準,函式的檢驗是面試裡面必不可少的題目。

乙個函式基本上代表乙個小的模組,多個模組有機的組合形成乙個系統。建議初學者在學習函式的時候,不要滿足於會使用函式,還要讓自己站的層次更高一點。這能決定自己是乙個純粹的執行者還是未來框架的設計者,不要覺得這些東西距離自己很遠,慢慢的積累時間長了,慢慢也就從量變變成質變了。

對於記憶體和效能有少許的理解

記憶體和效能對於初學者來說,可能覺得很遙遠,其實這兩樣東西貫穿整個編碼界,檢驗軟體功能最重要的兩項指標,軟體占用記憶體多少,執行時間長了會不會讓系統變緩慢。同時開啟在多個軟體的時候,你設計的軟體是不是變得很卡頓,這些都是大家平常在使用軟體時候經常遇見的現象。當年的xp執行的多好,非要公升級搞什麼windows7或者windows10之類的,把電腦搞的卡的要死。這其實是微軟作業系統設計理念的乙個延伸,用空間換時間。說的通俗點,提前把一些常見的軟體載入到記憶體裡面,使用的時候流暢度會感覺好一些,理念這麼好,為啥還變得這麼卡慢,主要機器配置太低了。微軟這幫大佬認為你機器記憶體和cpu還是相當不錯的,因為現在硬體成本基本上接近白菜價了。在機器配置還不錯的情況下,windows7,10執行的速度還是很不錯的。透過這些生活常識,歸結對程式設計,對編碼的認知程度上,慢慢就會建立起自己的知識體系。

這點在嵌入式裝置上表現的很明顯,一般嵌入式裝置記憶體和cpu配置不是高,記憶體就要省著點用,占用cpu很高的一些函式盡量少去呼叫,避開雷區,這些經驗就要靠平時多去積累,多去思考,才會融入自己的知識體系,才會慢慢認識到寫**其實在程式設計時候,只佔很小的一部分,大部分的時間還是在思考如何讓**更加利索,記憶體更少的去使用,cpu佔用率低一些。認識到這些時候,層次就不一樣了,就會越來越覺得設計思想的重要性了。

不要拘泥於語法的限制,程式語言服務於程式設計思想。學到了真正的程式設計思想,才叫貨真價實的懂程式設計。

---恢復內容結束---

從懷孕程式設計談公司管理

大部分的軟體公司,對孕婦始終持一種避而遠之的態度,在經歷了幾年加班熬夜的工作後,好在這次我是幸運的。一開始的兩三個月面對工作壓力,身體開始有些吃不消,但由於是個工作狂的性子,依然很賣命的加班,每天回去很晚的我,就這樣和老公鬧了很多次彆扭。改變已經養成的習慣確實不容易,本以為無大礙到現在每天精力乏盡,...

C語言程式設計,從菜鳥到高手

it行業,應屆畢業生不能順利地找到理想工作的原因在於,沒有程式設計的實戰經驗,即使是計算機科班出身的也會有相當的困惑!就是說,即使你不是計算機科班出身,通過自己的積極努力,照樣可以提高自己的程式設計技能,找到稱心如意的工作。成為高手,必須經歷的幾個歷程 一 研讀c語言程式設計教程,特別是經典教程 推...

從C語言到C 語言

c 讀作 c加加 是 c plus plus 的簡稱。顧名思義,c 是在c語言 的基礎上增加新特性。從語法上看,c語言是 c 的一部分,c語言 幾乎不用修改就能夠以 c 的方式編譯。對於c和c 的關係,有很多種說法,新人很容易認為c 是c的公升級版,c 比c要高階,c 高大上,c過時了,這種想法不一...