程式設計學習方法

General 更新 2024年11月26日

  程式設計就是讓計算機為解決某個問題而使用某種程式設計語言編寫程式程式碼,並最終得到相應結果的過程。那麼,有哪些?下面是小編為你搜集到的相關內容,希望可以幫助到你。

  

  1學習目的

  要學習程式設計,必須明確學習的目的,也就是學習程式設計是為了什麼。是為了瞭解計算機,還是為了自己的發展或者是因為個人愛好。程式的實現不是一時愛好就可以完成的。一般來說在學習程式設計方法和語言時掌握基本理論及語法時比較容易,但是在實際應用時卻覺得無從下手。如何編寫符合要求的程式、如何編寫高質量的程式更是程式設計人員所面臨的難題。這就要求學習者仔細體會,在反覆實踐的過程中掌握程式設計技巧,通過不斷的克服困難來提高自己的程式設計能力。這是一個長期的過程,所以必須有堅定的恆心才能開始學習。

  2基礎知識

  在學習程式設計之前必須有一定的基礎。作為一個優秀的程式設計人員,數學是十分重要的。數學是自然科學的基礎,電腦科學實際上是數學的一個分支。數學主要能讓人懂得一種分析問題的方法,然後再通過程式設計去實現它。計算機內部的許多原理也都牽涉到比較複雜的數學知識,它是用來解決現實問題的最高效的工具。很多程式設計的初學者對數學覺得不屑一顧,覺得對於程式設計沒有什麼關係,實際上優秀程式設計人員和一般程式設計人員拉開檔次在很大程度上就取決於數學能力的強弱。一些專案有時需要很複雜的數學建模和利用數學對於系統效率進行分析,而這些專案對於一般的程式設計師是很困難的。正確應用數學知識有時候能使程式的效率產生質的飛躍。如果一個程式設計人員在數學上很薄弱,這點必須引起足夠重視,有了一定的數學基礎,當別人對於某些專案感到無從下手時,而自己卻能夠完成,這個時候自己的價值也就體現出來了。真正優秀的程式設計人員最基本的一點就是要能夠通過自己的知識來解決一般程式設計人員所無法完成的問題,而數學能力就是一個很重要的因素。

  3語言的學習

  3.1 語言學習的基礎

  程式設計語言五花八門,究竟該如何學習,應該學習哪一門。首先,從C開始學習。當然這裡要提醒一下,千萬不要一開始就學VB、VC之類的東西,一開始就學這些東西,有可能把自己引入一個錯誤的學習方向而忽略了真正應該掌握的東西。不要被VC、BCB、BC、MC、TC等詞彙所迷惑,這些都是整合開發環境,而程式設計人員要學的是一門語言。學C主要是學過程化的程式設計,學會把自己的程式分成許多的函式,養成良好的程式設計習慣,培養一種程式設計思想。學習程式設計最好的方法之一就是閱讀原始碼,可以多看一下專家的程式,不一定要懂意思,主要是學習別人程式的格式,比如變數如何起名,怎麼劃分函式。除了掌握基本的控制語句外,還應該學習一些很簡單的I/O函式和數學函式。C的學習主要就是學會使用函式,提高程式碼重用性,認識面向過程的程式設計方法,對結構化程式設計有一定的認識。對於指標之類的東西如果實在看不懂可以先不去管,有的問題反過來看也許會感覺容易很多。

  3.2 語言學習的鞏固

  當自己能夠比較自如的用C編寫一些小的計算程式時,就可以開始資料結構的學習了。資料結構可以一點一點慢慢看,並不需要專門空出一段時間來專門研究,這樣的目的是讓自己能夠很好地掌握它。要學會用資料結構的知識來規範自己的程式設計和提高程式的效率。這主要是因為程式設計者必須足夠的重視資料結構。如果說計算機專業的學生與非計算機專業的最根本的差別是什麼,那絕對是資料結構。數學大家都一樣學了,主要看自己學得好壞。對資料結構的掌握與運用能力是衡量程式設計能力的一個很重要的指標。有的人對於看了連結串列、堆疊、樹、廣義表這些東西就頭痛,然而這些東西往往能使程式的效率比別人高出百倍,所以硬著頭皮也要學習。當然,看第一遍書是不能記住和掌握全部知識的,必須看第二遍、第三遍,甚至更多。如果覺得對樹、連結串列、堆疊之類的東西和排序,遞迴之類的演算法已經十分清楚,就可以開始學習C++了。

  3.3 語言學習的提高

  學習前一定要有個正確的認識,那就是C和C++是兩個不同的東西,不要因為C++是從C發展來的,更不要因為C和C++中有一些語法和關鍵字看上去相同,就認為它們的意義和作用完全一樣,C++絕不是所謂的C的單純的“擴充”,如果C++一開始就起名叫Z語言,程式設計者一定不會把C和Z語言聯絡得那麼緊密,其實主要學習的正是C++和C不同的地方。學習C++是為了學習面向物件的程式設計。這個時候要求對於指標應該有一定程度的掌握,當然如果有彙編的基礎更好,主要抓住C++和C相比的一些新特性,對於封裝、繼承和多型之類的特性要注意理解掌握,而且要通過具體的例項來便於理解,如果沒有搞懂就堅決不要往下學習,直到理解為止。這些基本的概念掌握以後就可以看一些別人設計的程式,學習別人怎麼利用面向物件的方法來設計程式,這個也是與別人之間拉開檔次的一個環節,可以和資料結構放在同等重要的地位。

  從C到C++是從面向過程的程式設計轉化到了面向物件的程式設計,應該說是一種提高,通過封裝、繼承和多型之類的特性,更高程度上提高了程式設計的效率,但是對於程式設計來說,語言主要就是指語法結構,而真正重要的是程式設計的步驟。

  4 程式設計步驟

  很多人無論學習什麼,都有一種習慣,就是找訣竅。有的祕訣可以讓自己事半功倍,而有的祕訣則就是沒有祕訣。學習程式設計的祕訣就是:程式設計,程式設計,再程式設計。在程式設計的過程中,任何時刻都不要認為自己手中的書已經足夠了,看得懂的書,要仔細看,看不懂的書,也要仔細看,也正是這些看不懂的東西才有它們所特有的價值,每個人都看得懂的內容是沒有辦法拉開檔次的。

  4.1程式設計的思想

  編寫程式的時候,開始的想法是非常重要的,也就是程式設計的思想。前邊討論的是對於語言的學習,其實學習一門語言或者開發工具,語法結構功能呼叫是次要的,最主要的是學習它的思想。譬如學習VC,就是要學習WINDOWS的內在機理如何,什麼是訊息迴圈,如何進行訊息影射,什麼是視窗註冊,什麼是Callback,什麼是線成;學習Java是要知道什麼是面向物件,什麼是繼承,什麼是封裝,什麼是多型;學習DELPHI,VB就要知道如何快速開發,如何模組重用,如何統一介面和資料。關鍵是一個思想,有了這些思想,那麼程式設計者就可以觸類旁通。譬如有了C/C++的知識,PASCAL、VB就可以基本上掌握了要領,這也讓大家知道學習C++原來也不是在浪費時間。有了C++的基礎,其它什麼都能應變自如,DELPHI可以很快地學完,JAVA也可以邊做邊學,就連剛剛釋出或者以後將會出現的的程式設計語言也可以理解。

  語法是不同的,但演算法是相同的。在寫程式之前,一定要想好這個程式如何來實現,對於程式設計人員來說思路是非常重要。

  曾經有一個人參加計算機展覽,每天他進門時都對門衛說:

  “先警告你,我是偷盜高手,我入室偷盜的本領聞名遐邇。這次展覽會也在劫難逃。”

  警衛因此大動干戈,因為裡面有價值百萬的計算機裝置,所以他牢牢盯緊了這個人,但是這個人只是從一個攤位逛到另一個攤位,一邊平靜地喃喃自語。

  當這個人離開時,警衛搜了他的身,但是什麼也沒有發現。

  展覽會的第二天,這個人又對警衛說:“昨天我滿載而歸,但是今天我會收穫更大。”所以警衛更加小心地盯緊他,但是這樣做完全於事無補。

  展覽會的最後一天,警衛再也不能忍住他的好奇心了。“小偷先生,”他說,“你說我驚慌不安,請告訴我,你到底偷了什麼?”。

  這個人笑笑說:“我在偷展覽會上各個軟體高手的程式設計思路。”

  這雖然是個笑話,但是程式設計思路確實是相當的重要,必須在剛開始的時候有個實現程式的思路,才能夠保證程式正常的編寫,一個好的思路更是一個好的程式的開始。

  4.2程式的質量

  有了好的思路後,可以規範程式設計的格式和提高程式的效率,達到事半功倍的效果。

  最好的程式當然是最大限度地節省時間和空間,也以此來評價一個程式的質量。那麼有了好的想法後,如何提高程式的質量呢?下面舉一個我國古代的例子。

  有一家三兄弟全是郎中。其中有一人是名醫,人們問他:“你們兄弟三人誰的醫術最高?”

  他回答說:“我常用猛藥給病危者醫治,偶爾有些病危者被我救活,於是我的醫術遠近聞名,成了名醫。我二哥通常在人們剛剛生病的時候馬上就治癒他們,臨近村莊的人都知道他的醫術。我大哥深知人們生病的原因,所以能夠防止家裡人生病,他的醫術只有我們家裡才知道。”

  編寫程式有的時候就如郎中治病,治病就是讓人身體健康,給程式治病就是提高程式質量,消除程式的缺陷,不斷補充程式的功能。與上述三個郎中很相似,消除程式缺陷也有三種基本方式,那究竟該使用哪種方法呢?第一種方法就是等程式寫好後,發現缺陷再一個一個修改,有的時候一個程式也會因為無法修改或者無法新增某個功能而不得不重頭開始設計並實現;第二種方法則是在實現過程中一發現問題就立刻修改擴充,採用中庸之道,這種方法應該說是一種比較可行的方法;第三種則是比較理想的一種方法,科技發展的速度之快,很難在設計之前就想到將來要新增什麼功能,所以對於一個程式設計人員來講第二種方法應該說是最可行的,也是最普遍的。

  4.3程式的維護

  《程式設計之道》中有這樣一段話:

  專案經理去拜訪一個程式設計大師時看到:程式設計大師編寫軟體時,手指在鍵盤上快速飛舞。程式編譯時沒有一條錯誤資訊,程式執行起來就象一陣微風吹過。

  “太精彩了!你的技巧已經無可挑剔了。”專案經理誇道。

  “技巧?”,大師轉過身說,“我所遵循的是道——它超乎所有的技巧。當我開始程式設計時我看到的是整個一大塊的程式,三年後我看到的是子過程。現在我什麼也看不到了。我的整個存在是沒有任何形式的虛無。我感覺很悠閒,總之,事實上是我的程式自己在寫,有時我看到一些問題,我看到它們,就停下來靜靜地觀察它們,然後我改變了一行程式碼,難題就象一陣輕煙一樣化為烏有。然後我編譯程式。坐在那裡享受工作的喜悅。閉了一會眼睛然後退出系統。”

  專案經理說:“什麼時候我的程式設計師才能都達到這樣的境界!”

  程式設計大師如是說:

  “既使一個程式只有三行長,也總有一天需要去維護它”。

  《程式設計之道》[James]是一本在全世界流傳的關於程式設計師的寓言,講的是早期程式設計師的故事,風趣而富有哲理。當然書中很多觀點現在看來明顯是錯誤的甚至是荒唐的,但是有的觀點還是有那麼一些道理的。一個程式即使功能再小,程式碼再短,也必須在不斷的維護和更新中,才能成為一個程式。一個程式設計人員要經常回顧自己以前寫過的程式,並嘗試重寫,把自己學到的新知識運用進去,而且要不斷地對自己寫的程式提出更高的要求,哪怕程式版本號不斷地提高。

  5 結論

  總之,程式設計能力的高低主要還是由以下幾點決定:①程式設計的習慣;②數學應用能力,其中包括邏輯思維,分析問題的能力;③對資料結構的認識能力;④經驗的多少,包括各種語言的掌握能力。

  其實,最主要的一點還是要認真勤奮,為自己的目標而不怕困難不斷前進,這不只是對程式設計而言,學習其他所有的東西都應如此。

衝刺中考的學習方法
數學檢驗答案的方法
相關知識
程式設計學習方法
程式設計學習方法
程式設計學習心得體會3篇
程式語言學習方法
零基礎會計學習方法
計算機程式設計實習總結
數控程式設計實習心得體會
會計學習方法總結
注會會計學習方法
註冊會計師會計學習方法