|
歡迎大家進入qq群 116454842,共同交流、學(xué)習。
工作中,接觸過很多想到學(xué)習c語言而又沒有一點計算機基礎(chǔ)的人。經(jīng)常有人問”我沒有一點基礎(chǔ),該怎么入門c語言啊”。看過很多初學(xué)者久久摸不到門路,每到這個時候,腦海中總會浮現(xiàn)一個問題:學(xué)習c語言真的就那么難嗎? 不難。
很 多人學(xué)習c語言,上來就去背語法,甚至連各種高深的算法都是死背出來的,大學(xué)里流行考計算機二級C語言證書,手抄資料的有之,背全書者有之,終于可憐又可 悲的拿到了所謂的證書,真正用c語言編寫程序處理問題時,滿腦子空了。可能這樣學(xué)過之后,把許多c語言語法記住了,但是卻學(xué)不會如何編寫程序處理問題。所 以,掌握學(xué)習方法很重要。如果你覺得很難,那是因為你缺少一個好的方法。
學(xué)習c語言也離不開記憶語法,但是死記的話,肯定不行。c語言,無非也就 是一種工具,用它來表達我們的思路,讓計算機幫我們思考,寫程序的過程就變成了告訴計算機該怎么做的過程。很多人遇到問題,自己都沒有思路,更別提用c語 言寫程序了。很遇到問題的時候不要滿腦子去想怎么用c語言處理這個問題,記住:程序 = 數(shù)據(jù)結(jié)構(gòu) + 算法,把思路轉(zhuǎn)變到對數(shù)據(jù)的組織和對算法的思考上 來。
數(shù)據(jù)結(jié)構(gòu)歸根結(jié)底就是一些數(shù)據(jù)的組織形式,而數(shù)據(jù)在c語言里都有各自的類型,各種復(fù)雜的數(shù)據(jù)結(jié)構(gòu)也都是從最基本數(shù)據(jù)類型組織起來的,所以學(xué)習 c語言,首先要記住c語言里可用的數(shù)據(jù)類型都有哪些,掌握每種數(shù)據(jù)類型的定義和使用規(guī)則。任何一種計算機編程語言,最根本都是對數(shù)據(jù)的操作。每種語言都有 不完全相同的數(shù)據(jù)組成形式,很多時候,對于同樣一個問題,你可以構(gòu)建不同的數(shù)據(jù)結(jié)構(gòu)對它進行處理。初學(xué)者,不必太深究要把數(shù)據(jù)做成什么類型可以寫出漂亮的 程序。你只需要記住:你需要什么樣的數(shù)據(jù)。
學(xué)習c語言,其次要學(xué)習算法。算法的好壞直接影響了程序的好壞。有人建議學(xué)程序的時候多看別人的例子程 序,研究別人是如何處理問題的。不錯,這是必不可少的,但是不要總是去看,也要自己多思考。這里的思考不是讓你思考如何處理這個問題,你要思考的是如何教 會計算機幫你解決這個問題。我們寫出來的程序畢竟是讓計算機來運行的。你必須按照計算機的特點來思考才可以。
下載更多資料請加群:116454842
計算機在處理問題時有自己的特點:
1、 計 算機在問題的處理方式上要求全,將所有的可能都要告訴它。人可以根據(jù)習慣忽略一些東西,但計算機不行。計算機沒有像人一樣的智能處理能力,它是人忠實的信 徒,不管你怎么想,它都會執(zhí)行你的命令。由于你的習慣,導(dǎo)致一些別有用心的人或者無意犯錯的人來犯錯誤,致使計算機有時無所適從。很疲憊,甚至崩潰,報 錯,造成你的程序是不成功的,所以你感覺很難。
2、 計算機要求程序的描述精確,無二義性。人的語言有很強的隨機性和二義性。我們平時說話時,有 時是一些招呼,有時說話的邏輯性可以不太清楚,話既可以表達這樣的意思,也可以表達那樣的意思,人可以根據(jù)環(huán)境和對方想表達的含義進行分析,最終得到正確 的結(jié)果,但是計算機很弱智,雖然它很聽話,但是他不能理解你表達的思想,只會按你交給的指令執(zhí)行,這樣導(dǎo)致執(zhí)行時報警和出錯。
3、 計算機編程是 要求有很強的全局性和邏輯性,不存在起伏的問題。人的思維有很強的活躍期和蟄伏期,計算機不會,它隨時待命。人在考慮問題時,有很多盡興的東西,但這不是 處理問題的整體,而是一部分,所以就出現(xiàn)做完一段代碼后,就不愿意再寫,或感覺很吃力,所以感覺很難。
所以我們在思考問題時,要記住計算機的特 點,從計算機的角度去考慮問題。當然作為初學(xué)者,習慣了以人來思考問題,轉(zhuǎn)變思想需要一個過程,我們可以先按照人的邏輯解決好問題,然后作類比,假如你自 己是計算機你該怎么處理問題。當你學(xué)會了從計算機的角度思考問題,并能夠正確地用c語言的語法表述出來你的思路(算法)時,你就真正的入門c語言了。
更多內(nèi)容歡迎交流:qq:3322386182(高老師)
歡迎大家進入嵌入式Linux交流群 116454842,共同交流、學(xué)習。
|
|