|
我寫這邊文章的目的,不僅僅是針對C語言本身,而是傳達(dá)一種學(xué)習(xí)的經(jīng)驗(yàn)和方法,為大家提供一點(diǎn)幫助而已。
學(xué)習(xí),是一個循序漸進(jìn)、通過堅(jiān)持不懈的訓(xùn)練達(dá)到掌握技能的過程。說到心得,無非就是多讀書,多練習(xí)而已。記得我高中的老師說過,一定要把你的書讀爛,一個字一個的讀,讀到可以背誦的程度……于是,高考我獲得了超常規(guī)的成績(雖然絕對成績不怎么樣)。學(xué)習(xí)一門外語(這里特指計(jì)算機(jī)語言)更是如此。
有些人不知道為什么會有計(jì)算機(jī)語言的存在,這里簡單介紹一下。人與人的交流大部分是通過說話(我們當(dāng)然是中文啦)來實(shí)現(xiàn)的,語言在這里充當(dāng)了載體的角色。同樣為了便于讓人與計(jì)算機(jī)溝通(一般程序是單向人到計(jì)算機(jī)的溝通,計(jì)算機(jī)通過其他渠道反饋),讓計(jì)算機(jī)明白我們下達(dá)的運(yùn)行指令,偉大的計(jì)算機(jī)工程師先驅(qū)們設(shè)計(jì)了很多與計(jì)算機(jī)的溝通手段、方式,在歷史的考驗(yàn)和演化中出現(xiàn)了各類計(jì)算機(jī)語言(包括“C語言”)。這些語言各有優(yōu)劣勢,在學(xué)習(xí)前,可以向前輩們討教下,以免學(xué)了冷門學(xué)科卻又無用武之地(學(xué)習(xí)人類的冷門語言或許可以賺大錢,計(jì)算機(jī)卻不是這樣的)。即便如此,各種語言都是觸類旁通的,選好一門后,一定要深入學(xué)習(xí),牢牢掌握基礎(chǔ)。
如果你沒有參加學(xué)習(xí)班,那么選擇一門好的書籍是很重要的了。對于語言類圖書,總體差別不大,選擇名人出的書或網(wǎng)上下載的,都差不多。計(jì)算機(jī)語言類的圖書,一般教授的都是些基礎(chǔ)知識,目的是讓你能夠了解編寫程序的基本規(guī)則。相對于人類語言,計(jì)算機(jī)語言簡單到了極致,編寫時不需要去揣測計(jì)算機(jī)現(xiàn)在的心情如何,它沒有模棱兩可的“似乎”、“好像”、“或許”的概念,沒有上下文語境(比如你敲個ORZ給計(jì)算機(jī),它是不會明白其含義的)。學(xué)習(xí)計(jì)算機(jī)語言完全可以靠死記硬背完成基礎(chǔ)語法的學(xué)習(xí)。
學(xué)習(xí)一門計(jì)算機(jī)語言,一是仔細(xì)閱讀其語法規(guī)則,重點(diǎn)包括:關(guān)鍵字、命名規(guī)則(函數(shù)、變量)、運(yùn)算符、宏;二是充分了解些基本的數(shù)據(jù)類型,如C語言的int/short/float/char/指針等;三是了解一些計(jì)算機(jī)的基本操作管理手段,如文件讀寫等。通過認(rèn)真練習(xí)書中提供的例題和習(xí)題,完全可以達(dá)到熟練的程度。
計(jì)算機(jī)程序的作用主要是為了讓計(jì)算完成一些特定的功能,達(dá)到預(yù)期目的,其核心實(shí)質(zhì)主要為內(nèi)存數(shù)據(jù)管理和邏輯設(shè)計(jì)。因此在學(xué)習(xí)完基礎(chǔ)語法后,接著學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)是很必要的。該門學(xué)科可了解如何快速、有效的組織和管理計(jì)算機(jī)內(nèi)部的數(shù)據(jù)。根據(jù)我經(jīng)驗(yàn),數(shù)據(jù)結(jié)構(gòu)中最常用的是鏈表、堆棧、隊(duì)列,其次是樹、圖等。同樣,通過練習(xí)書中提供的例題和習(xí)題,可掌握一些常用設(shè)計(jì)邏輯(即算法,管理數(shù)據(jù)的方法),也更進(jìn)一步熟悉語法。
這里額外說明一下,一個好的開發(fā)環(huán)境也是非常重要的,它可以提供高效的開發(fā)和簡易的調(diào)試平臺。讀懂開發(fā)環(huán)境給出的一些錯誤或警告提示是非常重要的,值得你專門研究一番。
好了,掌握了這兩項(xiàng)基本知識,就可以開始向你感興趣的方向進(jìn)行拓展了,比如多線程、數(shù)據(jù)庫程序設(shè)計(jì)、單片機(jī)、嵌入式系統(tǒng),甚至是IPAD、ANDROID、GOOGLE。
|
|