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