C語言快學完了,但oj上的題大部分做不出來,都是在CSDN找的,是不是很不正常?有沒有辦法改?

Ocean_Song


C語言博大精深,說實話,不是幾個月就能學好的。如果你是學生,c語言課程就一學期,每週一節課,更本都沒有多少時間。要把C語言學好,要持續不斷的學習,才能真正掌握這門語言。

1、在網上多下載一些視頻教程,現在視頻教程非常多,你就挑選兩三套視頻教程就可以了,要反覆的看,同時,自己要和視頻教程同步練習,不能只看視頻,而不練習,我估計你只看視頻教程,而不動手練習,看著看著就打瞌睡了。所以,一定要邊看視頻教程,邊在電腦上動手敲代碼。

2、學任何東西,要活學活用,你可以在網上找一些練習題,一些簡單的算法題,自己想辦法把代碼寫出來,運算。然後對著參考答案,看看有啥區別,要不斷的吸收人家的代碼風格,當然,是好的代碼風格。

3、既然你學了C語言,那最好把這種能力作用到實際產品中。你可以買一個單片機開發板,可以在裡面編寫程序,單片機運行的程序也是C語言。你可以寫數碼管、觸摸屏、電機等各種驅動程序,還有PID算法,這樣絕對是活學活用。

總之,要想把C語言學活,那你的堅持不斷的學習;同時,你需要勤於練習,要做的多動手,多思考,和實際電子產品結合寫代碼。我相信,你很快就能熟練掌握C語言。





電子哥的日常


至今還是有很多人覺得C語言依然是編程行業最基礎的東西,畢竟現在很多上了年齡的人在當時大學階段初級的入門編程語言就是用的C語言,在很多人心中都有個編程夢,有些甚至年過半百了還琢磨自己這輩子沒有玩編程而遺憾,也有很多上了年紀的人拿起C語言的書籍一步步跟著網絡上的教材進行學習,隨著編程語言在國內的普及,編程語言的生態已經發生了很大的變化,特別是高級語言的普及化,倒是顯得很多底層語言在編程領域的影響力在下降,但是其重要性還是在加強,就拿C語言來講是很多編程語言的基礎而存在,主流很多編程語言的底層實現就是利用的C語言或者彙編來完成,C語言在編程領域的角色在發生變化,在早期一個很簡單的功能模塊可能都需要C語言實現很長時間才能穩定,但在今天可能就是另外的一種模式存在了。

儘管很多人對於人工智能不屑一顧,但是從生產力的角度出發,自動化是一種大趨勢未來大量的重複性的勞動必然被機器所取代,而打造這些機器的底層基礎是離不開編程語言而存在,未來編程發展趨勢演變成一種全民編程的存在,因為未來社會與智能化的機器已經緊緊捆綁在一起了,想要更方便的操控機器掌握一定的編程基礎的人可能就會產生新的行業,如果有可能掌握一門編程對於適應未來的社會是存在好處的。

回到編程語言的學習過程,編程語言學習最佳的方式掌握一定理論基礎上有項目實戰,如果兩種條件都是具備的情況下可能幾個月就能找到編程的感覺,而大部分自學編程的人更多是在網絡上找到自己覺得重要的視頻學習起來,並且通過CSDN等途徑進行知識性的拓展,在某種階段也是小有收穫的存在,但在大部分情況下還是處於迷茫的狀態,這種屬於典型的沒有方向感的方式,要擺脫這種模式建議靜下心來默默的梳理自己的思路,先從掌握基礎的理論開始,這個階段如果是自學階段就要耐得住寂寞,雖然編程是講究實踐的技能但如果是沒有理論的實踐會錯失很多知識體系構建的機會。最好的學習編程的方式就是在掌握一定理論的基礎上再去實踐能夠取得意想不到的效果。

對於掌握編程的理論這個階段對於大部分學習者來講可能都能克服,最關鍵的實踐對於絕大部分的自學者來講就是一種極大的挑戰,之所以存在挑戰找不到匹配自己能力的實踐機會,即使專門的培訓機構也很難找到匹配的實踐項目,這在編程屬於混沌階段一種思維在艱難認知的過程中,在這個過程中會夾雜著理論實踐的層次甚至還有放棄的念頭,這個階段對於學習編程的人來講時間長短不一樣,每個真正的程序員都是從這個階段走過來的,要順利的度過這個階段就要堅持做自己認為準確的事情,哪怕是不適合當時的階段,轉化成精神層面就是堅持讓自己通過實踐找到學些編程的感覺,如果可能的話還能夠培養出興趣出來。

就當前環境下學習編程的人,大部分人還是選擇網絡或者線下的培訓,其實培訓更多是在給人指明一種學習方向,或者再通俗點就是找一群一起學習的小夥伴大家互相監督,通過集體的力量來壓抑自己散漫的天性,從而達到學習編程的目的,最終能夠學好編程的最致命的關鍵點還是在於內心付出多少,是否從內心想要做好這件事情。


大學生編程指南


嗨,你好。很高興看到並回答你的問題。如果認同回答,記得點贊和轉發哦~老邢誠邀關注,一起探索技術之美,共同學習成長!

首先回答一下第1個問題:這種現象是正常的。

下面我說明一下並提出一些我認為可以提升的方法


01 從基礎到OJ需要思維訓練

樓主剛學完C語言,應該是對C語言的語法、C語言運行原理等基礎知識有了一定了解,應該具有了一定程序邏輯思維,例如掌握了條件判斷、循環、數組等知識。對C語言的指針有了基本認識。

但上述這些內容,還不足以刷OJ。

OJ的題分為基礎邏輯題、數據結構及算法題。樓主必須在學完《數據結構與算法》這門課以後,才能基本上手OJ。同時,刷題還需要掌握一些技巧,訓練自己的思維習慣。


02 提升建議

個人建議樓主可以從頭開始刷leetcode。leetcode試題能夠對答題者進行全方面的訓練,並且現有互聯網上有大量leetcode試題解析與視頻,如果某道題沒有思路,還能找到一些資料。

在刷leetocde時,要有這樣一個基本的思考,就是善用數據結構能夠幫助你找到快速解決辦法。 其實數據結構與算法是不分家的,兩者永遠都是結合在一起學習和使用。

我以關係數據庫為例說明一下:

關係數據庫採用“表”進行存儲數據,每張表中包含多個數據行。現在想從一張表中查找出某些符合條件的數據行,這其實就是“查找”算法。

再舉一個日常案例

圖書館的案例:圖書館這麼多書,是如何存放和方便讀者查找的呢?

思考一下上面這個問題,你應該已經有想法和收穫了。


以上內容,如果認同記得【點個贊】哦~


我是一名Java全棧開發工程師、系統架構師,從業15年。曾帶領小團隊完成多個數百萬級項目。我正在寫一些關於互聯網行業及開發技術方面的文章,關注我,你一定會有所收穫。

如果有項目開發、行業及求職方面的問題,都可以在評論區留言或私信我。(關注後私信我,向你免費分享行業級學習資料)


分享到:


相關文章: