為什麼c語言網課例題會做,但是練習題覺得好難?

g_Bye、


一個非常好的問題。針對題主的情況,在學習了編程基礎知識後,要多寫代碼,多練習總結,逐步提高編程能力,積累自己的知識庫和實際經驗。

一,多寫代碼

推薦一個在線編程網站,HackerRank,看名字就很牛氣,Hacker排行榜,裡面有多種編程語言,不同難度、針對初學者的編程練習題。

1,註冊賬號,登錄,選擇要練習的C語言

2,選擇題目,可以在右側的篩選欄中選擇不同的難度和功能類別

3,閱讀題目,編寫代碼

4,運行,通過測試後提交

5,積累到一定分數後,可以獲得C勳章

網站提供了成績查詢、榜單排名、參加競賽等多種功能,並且可以邀請同學朋友一起練習,增加學習動力。

二,參加開源項目

根據最新2020年4月份TIOBE編程語言指數排行榜,前3名分別是Java、C、Python。

現在C是一門使用非常普遍的開發語言,尤其是在物聯網嵌入式開發領域。多到Github上面尋找,選擇有興趣的開源項目,嘗試參與開發。


1. 選擇有興趣的項目,仔細閱讀文檔和代碼,查看歷史提交記錄,這個過程本身也能學到很多知識

2. 閱讀代碼,重點理解怎麼寫?為什麼這樣寫?有沒有更好的寫法?

3. 按照開源社區的代碼標準,開發提交代碼,完成單元測試


我是工作多年的Web應用架構師,陸續發佈關於軟件開發方面的文章,歡迎關注我,瞭解更多IT專業知識。


急速馬力快de源碼控


當時剛剛做研發的時候,遇到的也是和題主一樣的問題。那會在學校買的正點原子的STM32開發板,對於其中的例程,也是覺得簡單的很;但是一旦工作中用起來,就哦豁了


1、看起來容易

STM32的編程剛好也是在MDK中使用C語言編程,所以作為過來人可以講講經歷,大家參考一下。

正點原子的例子中有一章是觸摸屏的驅動編寫,ALIENTEK 3.5 寸 TFTLCD。這個例子講解了LCD的顯示和觸摸。操縱的屏幕是哪種呢,類似現在的智能手機大屏。

哈哈,從零開始使用C語言驅動,是不是有點小厲害。當時就借鑑他的程序,將買來的另一塊LCD屏連接上我自己的最小系統板。然後代碼一改,很高興,得到了一樣的顯示效果。忘了說,這個外設的引腳是20+個

這個時候的心境和“c語言網課例題會做”會做是一樣的。為什麼內容本身不簡單,我們卻能完成得很漂亮?

模仿------這時候,我們不用分析所有的軟件執行流程,只需要在現有的基礎上改動就好,自然不難。

2、做起來難

而我們應對練習題的時候就沒有這麼得心應手了,可以理解。後來在工作中需用到LCD的顯示,根據項目需要選擇了OLED12864。這個操作簡單多了,數據引腳就2個,SDA、SCL。

剛開始不信邪,沒有采用廠商提供的代碼(淘寶),自己覺得自己能行,20+個的都弄得好,就這,那不鬆鬆的。

然後就根據IC的型號下載了數據手冊,然後我就上了。我料到了開頭,卻沒想到結尾。一頓操作猛如虎,

代碼行數五百五。

編譯報告零錯誤,

屏幕顯示一直無。

最終在苦戰2天后,我使用了源碼,請原諒我的懦弱。

3、應對辦法

關於題海戰術,我就不贅述了。這裡,我只是從分析的角度來論述這個問題。

我們遇到一個編程需要解決的問題,不論是練習題,還是實際項目,都應該考慮一下怎樣分解這個問題,將這個大問題分解為多個小問題解決。

這裡就不得不說流程圖了,在實際編程開始之前,最好能夠整理一下思路,然後用圖形的方式記錄下來。這樣在後面寫代碼解決問題時也有了一個方向,同時也能讓別人能夠給你適當的建議。

這是很有必要的,切記,切記,切記。

最後的話:

編程的學習,最重要的不是語言,不是代碼,而是分析問題和解決問題的能力。因為代碼千千萬萬,學不完的;編程語言也是層出不窮。

希望這簡短的回答能夠起到一個拋磚引玉的作用的,謝謝您的閱讀。


長風凌空


例題都是課上講過的知識啊,練習題是擴展以及靈活運用。

如果你剛學,擴展題當然會覺得難一點。


分享到:


相關文章: