久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

編程學習心得和方法

時間:2019-05-15 10:25:55下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《編程學習心得和方法》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《編程學習心得和方法》。

第一篇:編程學習心得和方法

雪中悍刀行 http://bmdqw.com/

編程學習心得和方法

說到編程,很多人首先會想到C、C++,JAVA,DELPHI。沒錯,這些都是現今最流行的計算機程序語言,它們各有特色。然而事實上是,不為人知而且比它們更好更出色的語言有很多。它們得以流行的原因有很多,其中最重要的一點是,它們在計算機語言的發展歷史上有重要的劃時代意義。特別是C的出現,將軟件編程引入了真正的可視化編程。很多新語言的出現,解決了當時不能解決又不得不解決的問題。

另外,這些語言的確是出色的,它們不但易學,更是易用,這也是它們得以流行的一大原因。大家的支持,和個別系統和開發公司對它們的支持,以及它們的開發組件和類庫眾多和廣大推廣的原因,也使得它們當今數一數二的計算機語言。

編程語言不只有這些,計算機語言還有很多分類,其中,網絡編程也屬于其一。廣為人知的編程語言有ASP,JSP,還有PHP。當然,還有腳本語言,比如ASP用的VBscript,還有在客戶端流行的Javascript。其中,ASP(asp.net)基于VB(vb.net),JSP基于JAVA。現今已經發展出各種各樣的編程語言,并且,它們大多采用了英文編寫,單是關鍵字和標準類庫就要我們花時間去記憶和識別,最后,還得去靈活運用更多的東西。所以,我們想一次性學習它們,這是不可能的事情,盡管大多語言很相似,你也不可能做到的。事實上,很少有人能夠學習全部,大多都只能擅長某一種。

即便是高級編程人員,像那些為開發軟件工作的類庫和組件高手,他們也不敢說自己精通每一種語言。事實就是這樣,每一種語言有著它們相似而又不同的語法,它們有著不同的關鍵字,發展出了各種各樣的類庫,它們的函數或者方法的聲明定義都有不同,更多的差異不為我們所知。

每一種語言,它都有著太多的東西需要我們去理解和記憶,我們沒有時間和精力做得太多。對于初學者,我們最不應該急于求成,更不要試圖一次性學習所有語言。事實上,我們可以選取某種語言學習。每一種語言都有著自己的強大功能,好的語言能夠完成所有事情,所以,你不要擔心學習一種語言不夠全面這樣的問題。

當你能夠得心應手掌控你學習的一種語言后,你回過頭來再去學習其他語言時,你可能會發現,原來,這些語言是那么的相近。這個時候,你再去學習它們,我想,那真是很愉快的事情,大概,那個時候,你會笑出聲來。

我們知道,從某種意義來說,各種語言都有很多類似的地方,這大概是因為所有的語言開發都是基于已有語言創造的,開發者也出于對大家的尊重,考慮到易于學習等等原因,他們選擇了幾乎是相同的語法來定義這些新語言??梢哉f,所有語言都是基于已有語言開發的,沒有人能夠聰明到突發其想,更不可能一夜之間發明出一種完全不同的外星語。

基于語言再開發語言,這么做能給使用者帶來了一次學習,全部學會的好處。當然,最

大的好處莫過于新的語言肯定比之前的語言更加好用簡單,功能也更全面強大。某種意義上講,開發新的語言就是在更新舊語言的錯誤和不足,最后發展出新語言。

其實,每一種語言的區別大多只在于關鍵字的區別,還有一些語法上的區別。事實就是這樣,很多語言之所以不同,就因為它們的關鍵字不同。就像你吃飯一樣,中國人用筷子,外國人卻不是。這些都沒有改變吃飯的實質,我們都能完成一樣的事情,那就是吃飯。說了這么多,話題也扯得太遠了,回過頭來吧。說了這么多,我無非是想說,所有的計算機語言都是相通的,你只要學會一種,學習其他的就是輕易而舉的事情。所以,你用不著同時學習幾種語言。

如果你不按照我的建議這么做,我想勸告你,你將會一樣也學不會,至少,你永遠不能擅長于編程,更別說精通。每一種語言都是經歷了無數年代,最后由開發者總結而來,不是一個人能夠輕易學完的,事實上,每一種語言都有開發和支持它們的公司和軟件,每一天都有更多的新東西出現,你的時間不應該花在學更多的語言,應該是學習它們的變化。

現在的軟件開發早已經不再是手工編程那么復雜化了,大多情況下,我們只要會語法,只要知道類庫和開發軟件支持的類庫和組件,我們就能夠編程,但這都只是開發,說不上什么精通不精通。用軟件開發軟件做軟件,很像拼圖和畫畫,你只要學會畫就行。

你如果只想開發軟件,忽略了語言的基礎,我想說的是,你的軟件永遠不會更好更快。即便如此,你也得花時間去學習你所要用的開發軟件的一切,包括那些擴展的組件和類庫。另外,請不要忘了,軟件開發出來后,還得改進,你是否能夠讓軟件更自動化,能夠自己檢查錯誤,也或者,你能讓它多線程工作呢?

其實,我們很難在不同的語言相似中區分它們的異同,也不可能同時掌握相同功能下,卻有著不同的類庫和不同的實現方法中去運用自如。

好了,我現在要說說學習編程的一些簡單方法和步驟,今天將是第一章,也是一個開始。大概,你可能會用上小半年的時間去學習它,也或者更久,我希望是這樣。

首先,我們應該學習一下計算機的基礎,包括硬件基礎,特別是計算機的各種發展史。之后,我們要理解計算機的工作原理,我們得知道,計算機依靠什么方法進行運算。

如果一個軟件開發者,他開發了眾多軟件后,回過頭還不知道計算機原理,那真好笑的事情,真不知道,他是怎么做軟件的。當然,這樣的人或許比我們聰明多了,因為他知道什么重要,什么次要。當今的社會,專業才是真,每個行業都有無數學習對象,你能全部學會嗎?

其次,你應該著手學習匯編?;蛟S,有人認為這是乎過早了一點。的確,你很有可能會無從下手,這個時候,你可以先大致了解一下,跳過這一步,往后再來學習。

之后,你應該做的是,選擇自己想學的語言,或許,應該在C(c++)或者JAVA之間選擇一種。當然,你要是只學習網絡編程,可以在ASP和PHP之間選擇,至于Javascript之類的腳本,你可以最后來學習。

你已經選好要學習的語言了吧?現在,就去選擇幾本上好的相關基礎書籍吧。照我說的去做,你只能選擇最為基礎的只介紹語法的書,這個時候,你可千萬別去看軟件設計的書,也別去動那些設計軟件。這一點,你千萬要做到,朋友,不要急于求成。

好了,選好了書籍了嗎?你的書籍一定是最為基礎的才行,確定這些后,你應該看書了,對了,看的時候還得記下筆記,最好能夠把每一個知識點記下,特別是關鍵的東西。這個過程是很難熬的,你千萬不要急躁,另外,你如果從來沒有接觸過編程語言,你就更應該慢慢來,你應該花上半天時間學習一個章節。或者,之后的幾個章節,你得花上更多時間。我想告訴你,朋友,越到后面越難,編程可不是吃飯那么簡單,每個人都得花上很多年的時間學習它。

這個過程中,你還得注意,千萬不能跳過看不懂的東西,是的,你可以到網上也或者是找朋友請教,這是很好的辦法。只有當你弄明白了一個知識點后,你才能繼續學習。也不要急著就學習用開發軟件做軟件,千萬記住這一點。你現在是在學習語法。是的,語法這一關,你得用心,而且得認真對待,還得過關。你想不種豆就有豆子收,世上可沒這種好事情,除非你偷別人的,那還是自己的嗎?更何況,你是要為自己學習。收獲都是要時間的,成熟都需要時間?,F在,趁你還在學習語法的時間,你們來簡單提一下語法吧。

關于基礎語法,大概有幾個方面,當然了,每種語言各有不同,不過,大體都一樣。

一、語言本身的發展史和特點

其實,這一點,在我們選擇某種語言的時候就應該提前了解。我在這里只想給大家說說自己的心得。

其中,JAVA的好處,一次編寫,永遠運行。它的最大好處不只這些,大家最喜歡的是,它可以在不同的環境下工作。是的,它不只是在計算機上能夠運行,它同樣能夠在數碼產品上運行,只要相應的機器上有JAVA虛擬機,JAVA軟件就能運行,而且我們不必為不同的機器而修改我們的軟件源碼。

JAVA這個語言是九十年代才出現的,它由SUN公司開發,它的發展也算是飛快的。它的設計初衷是要在網絡上應用。然而,它卻不巧的成為了能夠運行在更多環境下的語言,可以說,也正因為這一點,它才得以流行。當然,它的確也成就了網絡,它的出現為網絡編程帶來了更多的功能和應用。

事實上,當今的網絡應用中,JAVA、FALSH、JS、ActiveX這些小程序或者說是腳本插件,它們真是功不可沒。另外,JAVA小程序比其他腳本或者插件都要安全,因為它的運行都在虛擬機下完成,不允許超越出去操控機器本身。

JAVA已經發展到了JAVA2,它已經深入計算機編程,特別是同時應用在網絡和數碼產品上。沒什么好說的,它和C很相似,事實就是,它是基于幾大語言開發的,它去除了許多語

言中難懂的語法。特別是,它沒有了指針,它還能自己檢測錯誤。

如果你覺得C太難,又想制作可以在數碼產品上運行使用的軟件,比如NOKIA手機的S60系統下的軟件什么的,可以學習JAVA。

至于C語言,現在已經有三個版本,C、C++、C#。多的不說,這個語言是現在的主流,大多軟件都靠它。三種版本的區別在于,第一個主要是采用舊式的結構化模式編寫,C++最大特色是面向對象,至于最后的C#,它基于.net。

C語言成功之處在于,它的出現,簡化了軟件開發流程,易于學習和編寫,另外,它最大的特點在于,它既是基礎語言,又是高級語言,或者說,它就是中級語言。作為基礎,它能夠操控基層的東西,比如內存、計算機硬件本身。事實上,很多硬件驅動都由它制作而成。另外,UNIX的內核曾經都是用它做的,可見它非同一般。可以說,C幾乎能夠完成所有的計算機功能,當然,不是太絕對。對于一些更基礎的東西,大多用匯編搞定。另外,你還得明白這么一點,越是基礎的東西,要用更加基礎的語言去實現。各種數碼電器包括電腦系統都不會用這些高級語言編寫,有著更深的東西不為人知,我們只有繼續學習才能搞精這一切?,F在,我們只要學習自己的語言就行。

以這里,我還得說說VC,當然,還有VB。事實上VC和VB是微軟公司的產品,我個人認為,VB就是在C的基礎上產生的。C語言可以輕松更改成其它語言,這也是它很厲害的一個地方。事實上,像大多的基礎語言一樣,C的本身語言特點讓它有這樣的能力這么做。我們能夠用C的一些關鍵字設計出各種函數和庫,它們當然可以和VB和其他語言的函數和類庫同名,某種意義上說,就因為語言之間的類似造就了它們之間的相互轉化。

同樣的,它也能像高級語言一樣工作,前提就是,你要自定義自己的函數庫和類庫。這一點,就是學習編程語言的難點之一。

VC和VB已經發展成了.net版本,ASP就是從VB而來,如今,也有了ASP.net。

很多初學者大概不知道VC和VB是什么,事實就是,它們是微軟的軟件,很簡單,它們只是軟件。這么理解大概會好一些,是這樣吧。

C語言的開發軟件有很多,最著名的莫過于VC++_NET和C++BUILDER,是的,C語言并非某個公司和個人的專屬產品。

DELPHI,這個語言可能沒有C和JAVA出名,但事實上,它是一種很不錯的高級語言,能夠制作各種軟件,而且它比我們想象中更加簡單。DELPHI屬于BOLAND公司的產品,開發軟件是DELPHI BUILDER,是的,BOLAND公司的開發軟件一直被人們稱道,這是因為,它為我們提供了各種各樣的組件,可以說,我們只要半天時間就可以用BOLAND公司的軟件輕松做出功能強大的軟件。包括C和JAVA BUILDER。

VB并不是語言,我把它單獨列出來,只是說,我們可以單獨學習它來制作軟件。事實上,不少的游戲都由它開發,可見它的功能比想象中強大。還有一點,它和BORLAND公司的開發軟件真是太像了,它給大家提供了很多基于WINDOWS的組件,可以超快開發軟件。如果是學習網絡編程,你可以選擇ASP或者PHP,也或者JSP。ASP(NET)的特點是,它出自微軟的VB,用VBscript腳本以及VB(DLL)的ActiveX組件構成。它需要運行在安裝了IIS的WINDOWS服務器上。ASP(NET)站點的最大好處在于,可以在任何可以顯示的瀏覽器上正常動作,所有的腳本代碼運行和數據處理都在IIS服務器上完成,我們不必擔心客戶端是否支持的問題。另外,ASP源碼不會傳到客戶端,某種意義上可以防止別人看到你的代碼。學習ASP,你還得慢慢學習ActiveX組件,有的人可能會感到驚訝,比如數據庫連接或者分頁功能,在ASP看來,實現這些東西真是太過簡單了。也有的人會搞不明白,為什么語法里沒有這些東西,ASP上卻有這些,事實上,朋友,ASP支持DLL組件,也就是說,只要你是編程高手,你可以用其他的開發軟件,比如VB,為你的ASP自創組件。

組件很像編程中的類庫,一般來說,我們不必去細驗它們是什么,又怎么工作,我們只要去運用它就行。現在的情況就是,各種語言都有第三方的支持,也就是組件和插件,你可以從別的公司或者網上獲取,這樣的好處在于,你不必自己編寫更多的東西,卻能夠用別人的成就完成各種工作。比如上傳文件和下載等等。

好了,關于怎么做組件什么的,你可以學習編程。但如果是聰明人,你不會這么做,因為你沒有時間和精力學太多。要知道,你要吃飯,最多是自己種地買碗筷,你用不著自己造碗筷,更用不著去管什么桌子凳子。只要你會工作,用錢就能搞定一切。編程也是這樣,你只要會用就行,除非你真把自己當博士,也或者,你還真想什么都弄精,那不成了神精,或者當神仙或者機器去吧,凡人是沒那本事了,你不過幾十年的光陰可以用耶。

學習就是學習精要,而不是概要;學習更不是全面,而是專業。八十年代出生的人大多受了蒙蔽,人人只知道當科學家或者天才,也或者都想做事完美。告訴你,完美過氣,要完美的,回家種地去吧。

關于PHP和JSP,我個人不是很懂,所以,我不會過多提及。

另外,學習網絡編程的朋友,你得選去學習一下XHTML標準,你也要按照這個標準行事。你也不要只學會用網格做網頁,要知道,現在大多數情況下在拋棄它了,我們用CSS實現更多功能。

學習是一步步來的,現在,你只管學習語法,在后面,我會提示你怎么做的,每一步,我都有介紹。

另外,不知道有人是不是誤會我的意思了,網絡編程,可從來沒有說,像HTML或者網頁設計屬于這個范疇。所以,連HTML都不懂的,先回去學習網頁制作和設計吧。當然,沒必要還學什么FLASH,你又不當美工。當美工的,還是不要學網編的好,學得多了,小心你什么都不精。告訴你,專一才能研究直到精通。

二、數據類型,變量,常量,數組

數據類型是最為基礎的語法,每種語言都有相似或者相同的數據類型。我們應該理解什么是數據類型,也就是學習和記住所學的語言里包含哪些數據類型。從某種意義上說,數據類型屬于簡單的類。

每種語言的數據類型有所不同,你只需記住自己學習的語言的類型定義就行了。通用的基礎常用數據類型有字節型、整型、字符型、浮點型、雙精度型、布爾型。當然,數據類型還有更多。

其中的C、C++里面,有些類型在不同的系統里有不同的范圍,比如在32位和64位系統里,有2字節和4字節長度范圍區分。

變量和常量,還有數組,各種語言都基本相同,你只用記住如何聲明和初始化。另外,你得養成先聲明再初始化的習慣,這符合更多語言的變量聲明語法,也更為標準,不易出錯。另外,變量的聲明要符合標準,不能用關鍵字做變量名,一般來講,變量只能以字母開頭,還只能是字母、數字和下劃線構成。有的語言區分大小寫,千萬注意這個問題。

另外,變量還有局部和全局之分,你得搞清楚什么時候屬于什么類型。局部變量只會局部存在,有的語言在某些范圍內不能有重復相同的變量和局部變量,但有的語言卻可以。我們要理解什么是數組,特別是多維數組。還有一點,數組的超始是零,認識到這一點是非常重要的。最后,字符串屬于特殊的數組。

三、運算符

計算機語言的初衷就是用來計算,自然要有運算符。

最常見常用的自然是算術運算符,加減乘除。在這里,我們要記住遞增遞減,賦值運算,還有模運算。

位運算符:或,與,非,異或,各種位移。

位邏輯運算符:按位或,按位與,按位非,按位異或,關系運算符:大于,小于,等于,不等于,大于等于,小于等于

布爾邏輯運算符:邏輯或,邏輯非,異或,相等,不相等,三元運算符

賦值運算符:注意有的語言= 和==的區別

之后是運算符的優先級,我們可以用各種括號控制優先級,其實這和數字上的運算很相似。

四、程序控制語句

程序控制語句用于判斷和跳轉,其中最常見的有以下幾種。

條件語句:if-else-if 在這里,有幾種不同變化,大體相同

Switch(){case…break….default}

循環語句:do...while while {} for(;;)

跳轉語句:Goto break continue return

五、其他。

在這里,我不再過多舉例,其實,這里有最重要的東西沒有講,比如類,函數,繼承,指針,異常處理,多態,多線程。這中間還有構造函數,解析函數等等。這些可以說是語法中的重點和難點,所有語言之所以成語言,也就是它們有著這些特性。

大概,你已經看完了幾個章節內容?,F在,你已經對編程有了基礎認識。好了,你在這個時候,可以找兩本簡單事例的書籍了,你可以一邊學習一邊寫程序。

是的,如果可以,你應該用記事本這樣的工具來編程。當然,要在自己的電腦上運行你的程序還得安裝好相應的軟件,比如ASP(NET)的IIS,ASP.net 還得安裝.net,JAVA的JDK,至于C語言,你可以安裝VC,也或者C++BUILDER,這個時候,你就要學習如何配置自己的電腦并且如何運行這些程序。

千萬不要被相應的軟件嚇住,是的,每種軟件開發工具比你想象中還要復雜,告訴你,它們比看起來還可怕。不過,那只是現在的情況下,不用擔心,總有一天,你能夠輕易運用它們,到時候,不是它嚇你,而是你嚇它了。

你應該做的范例只是用來顯示或者計算,如果是網絡編程,你應該提前學習一下網絡設計軟件,像Dreamweaver。

(好了,今天就到這里,我想,下次再繼續吧。歡迎到我的網站交流)

本文由整理。

第二篇:編程習慣和方法

1.1 編程思路

? [打樁] : 從設計的角度出發解決問題,而不是想到一個算法,解決一個功能或部件,一般需,確

定是否發現到類,發現到類,確定需要那些屬性,確定那些方法;

? [用例]: 作單獨得測試用例驗證自己的算法,實現類的局部邏輯;

? [集成]: 通過測試用例的驗證,集成實現類,或模塊;

1.2 如下編程習慣 – 糾正

? 通過頻繁的使用編譯器來找錯誤,或驗證程序 不是合格程序員;

? 濫用對象,方法的實現 臨時變量泛濫,for, 等語句塊中臨時變量泛濫

? 方法實現沒有劃分邏輯段的概念,一氣呵成。

? 任務的完成過程中,產生一堆的過程代碼,提交正式代碼100行,耗用了5000行代碼試驗

[人海戰術,投入產出比太大]

? 一個功能函數實現,到處出現,沒有統一的出處概念, 維護成本

? 沒有節約內存使用管理意識,泄露太多

? 一碰到問題就問,沒有主動思考意識,主觀能動性較差

? 一個函數幾百上千行,成了超級函數,沒有模塊意識;

? 函數的形參龐大,沒有結構意識

? c/c++ 體系理解不清,程序中混亂使用;內存分配,動態數組

? 發現難點,復雜得地方 繞開,或簡單處理一下;

? 編譯問題的解決主觀能動性不夠,一碰到問題頭就大,就問別人;

? 一個錯誤多次出現

? 喜歡做難的挑戰的任務,消極對待簡單的任務,或不屑做簡單的無難度的任務

? 工作個性化,從網上參考來的代碼沒有消化整理,就使用,界面風格偏離太遠

? 代碼寫完回頭改規范

? 一個函數的邏輯實現不徹底,總總修修補補

? 技術泛濫使用,追求時髦的技術

? 缺少耐心看msdn,objectarx 英文資料

? 界面沒有美觀好用的意識,只為實現功能,設計不夠人性化

? 程序缺少資源節約習慣,類的資源消耗龐大.? 程序錯誤提示框 提示信息模糊不清,太吝嗇表達,或提示太程序員語氣化;

? 追求使用一些晦澀的,高難度技巧的代碼

? 沒有使用枚舉的習慣,一大堆 int 值

? 非修改維護的代碼(新任務),提交任務時殘留大量自己注釋掉的過程代碼;

? 獲取容器中的元素,沒有驗證容器的size,直接硬獲取

? 類,方法 的命名雖然遵循規范,但命名晦澀,不準確。

? 沒有構造函數初始化成員屬性的習慣,包括臨時變量也沒有初始化習慣;

? 結構體中出現 對象,諸如 Cstring 等非原生數據類型

? 類的屬性習慣 public,1.3 bug維護認識

? 簡單的開發任務中,也能有大道理,合格的程序員簡單的功能同樣做的偉大。[精耕細做] ? Bug 維護是程序員成長的捷徑

第三篇:軟件編程學習心得

軟件編程學習心得

隨著計算機技術的發展和工作的需要,為了能夠更好的維護公司生產管理系統;公司安排我們到北大青鳥APTECH進修。我們選擇了時下最流行、發展速度較快的語言C#。C#學習共分三個階段,目前我只學習了第一個階段;現將我在北大青鳥學習第一階段為期兩個月的學習心得總結如下:

C#是一種新的面向對象的編程語言,專門用于.NET運行時。C#編譯器只能生成受管制的代碼,也可以使用.NET基類。C#語言自C/C++演變而來。但是,它具有簡單、現代、完全面向對象和類型安全等諸多特性。下面就簡單說說簡單和現代其中兩種特性。

1、簡單

C#具有C++所沒有的一個優勢就是學習簡單。該語言首要的目標就是簡單。很多功能(還不如說是缺少了C++的一些功能)有助于C#全方位的簡單。

在C#中,沒有C++中流行的指針。默認地,您工作在受管理的代碼中,在那里不允許如直接存取內存等不安全的操作。我想沒有C++程序員可以聲稱,從沒有使用指針訪問過不屬于他們的內存。

C#棄用其它操作符,名字空間、成員和引用僅使用單個操作符 “.”。現在一個程序員所需要理解的就是嵌套名字的注解了。

C#使用統一的類型系統。這種系統充許您把各種類型作為一個對象查看,它是一個原始類型還是一個full-blown 類。和其它編程語言相比,由于加框(boxing)和消框(unboxing)的機制,把簡單類型當作對象處理并不能獲得性能的改善。稍后將詳細解釋加框和消框,但基本上僅當需要時才使用對象訪問簡單類型這種技術。

2、現代

投入學習C#的努力是一筆大投資,因為C#是為編寫NGWS 應用程序的主要語言而設計。很多用C++可以實現或者很費力實現的功能,在C#中不過是一部分基本的功能而已。根據應用程序的特殊需求,可以很容易地創建出新的一種數據類型。

指針不再是編程武器的一部分。運行時NGWS提供了一個垃圾收集器,負責C#程序中的內存管理。因內存和應用程序都受到管理,所以很必要增強類型安全,以確保應用的穩定性。

異常處理是C#的主要功能。C#的異常處理與C++的不同點在于它是交叉語言的(運行時的另一個功能)。在沒有C#之前,您必須處理怪異的HRESULTs,但現在由于使用了基于異常的健壯的出錯處理,這一切都結束了。

對于現代的應用程序,安全是首要的,C#也不會例外。它提供了元數據語法,用于聲明下述NGWS安全模式的能力和許可。元數據是NGWS運行時的一個關鍵的概念。

通兩個多月學習,我能夠很好的掌握C#語言的基本語句、語法以及老師補充的一些要點;能夠編寫簡單的應用程序,例如電子郵件的收發等,為接下來的第二、第三階段學習打下了良好的基礎。

第四篇:編程語言學習心得

程序語言學習的總結

通過兩年的學習,我們基本上掌握了C語言,C++和C#三個編程課程。對于程序設計語言的學習,分為學習語法規定、掌握程序設計方法、提高程序開發能力,這些都必須通過充分的實際上機操作才能完成。課程上的安排除了課堂講授以外,學院設有專門課堂到實驗室進行上機操作實驗。

要利用c語言學到的知識編寫c語言程序,即把c語言作為工具,通過上機才能檢驗自己是否掌握c語言、自己編寫的程序是否能夠正確地解題。通過上機實驗來驗證自己編制的程序是否正確。在這種思想支配下,可能你會想辦法去“掩蓋”程序中的錯誤,而不是盡可能多地發現程序中存在的問題。自己編好程序上機調試運行時,可能有很多你想不到的情況發生,通過解決這些問題,可以逐步提高自己對c語言的理解和程序開發能力。

在原有的C語言的基礎知識之上,初步接觸C++時感到比較簡單易懂。但隨著之后的步步深入學習,C++的不同之處以及其優勢逐。從第二章引入了C++簡單程序的設計。包括一些C++語言的概述,基本數據類型和表達式,數據的輸入與輸出,算法的基本東芝結構,以及自定義類型數據等知識。此部分多與C語言相似。之后又學習了函數的相關內容,這里學到了新的知識要點----函數重載。該內容尤其在現在做課程設計的時候尤為重要。類是C++語言的精華之所在,在學習中,我感覺到類和C語言中的結構體有很大的相似之處,但在類中的構造函數、拷貝構造函數以及類的組合,經常弄混淆一些概念。在這之后又學習了類的繼承與派生。這使得類與類之間形成了樹狀圖的模型,各子類可以訪問到父類的一些數據成員,同樣也實現了數據的之間的“共享”。我個人在編寫派生類的構造函數和拷貝構造函數時,感覺很不熟練,后面章節的多態性主要學習了運算符的重載,其本質就是函數的重載。

在學習C#中,類是具有相同特性和行為的對象的抽象。它使用關鍵字class聲明的。在c#中僅允許單個繼承,類只能從一個基類繼承實現。但是一個類可以實現一個以上的接口。對象是人們要進行研究的任何事物,從最簡單的整數到復雜的飛機等局可以看對象,它不僅表示具體的事物,還能表示抽象的規則、計劃或者事件。接口只是包含方法、委托或事件的簽名。方法的實現是在實現接口的類中完成的。接口可以是命名空間或類的成員,并可以包含下列成員:每個C#可執行文件都有一個入口—Main方法:static void Main()修飾符public表示可以在任何地方訪問該方法。所以可以在類的外部調用它。修飾符static表示方法不能在類的實例上執行,因此不必先實例化類在調用。在變量聲明時:變量是類或者結構中的字段,如果沒有顯示初始化,創建這些變量時,其值就是默認的0。變量是方法的局部變量就必須在代碼中顯示初始化,之后才能在語句中使用它們的值。

課堂上要講授許多關于語法規則,要使用這些工具解決問題,通過多次上機練習,對于語法知識有了更深刻的認識,在理解的基礎上就會自然而然地掌握。一個程序從編輯、編譯、連接到運行,都要在一定的外部操作環境下才能進行。通過上機實驗,熟練地掌握開發環境,為以后真正編寫計算機程序解決實際問題打下基礎。

第五篇:MFC編程學習心得

//

1、將C語言變量簡單重新定義 UINT、INT(32位,4字節)

LONG、DWORD(32位,4字節)WPARAM、LPARAM(32位,4字節)SHORT、WORD(16位,2字節)LONG、LRESULT BOOL(TRUE、FALSE)PINT

PSTR、LPSTR、LPCSTR(字符串指針,只讀和可寫)

//

2、H開頭,Windows句柄類型變量 HANDLE of Windows =>HWND HANDLE of Instance =>HINSTANCE HANDLE of Icon =>HICON

//3結構體類型

SIZE、POINT、RECT

MFC所有封裝類一共有200多個,但是MFC的內部技術不只是簡單地封裝。MFC內部總共有六大關鍵技術,構架起了整個MFC開發平臺。

一、MFC的六大關鍵技術包括: a)MFC程序的初始化過程: b)消息映射機制;

c)運行時類型識別(RTTI); d)動態創建; e)永久保存; f)消息傳遞;

六大關鍵技術的目的是為了提高開發效率,開發者只需要在局部做簡單的修改,即可處理大部分窗口事物。

二、SendMessage和PostMessage函數的功能:

a)能夠向指定的窗口內發送窗口消息,既可以是本進程內窗口也可以是其他進程的; b)既可以發送系統內部消息,消息編號的范圍是:1-WM_USER-1; 例如:WM_LBUTTONDONW,WM_MOUSEMOVE等; c)也可以發送非系統消息(開發者定義的消息),范圍是WM_USER-0x7FFF。

三、SendMessage和PostMessage兩個函數的區別是:

a)SendMessage是阻塞型函數,PostMessage是非阻塞型函數:

SendMessage用于調用指定窗口的內部程序,直到窗口程序處理完成以后再返回: PostMessage是將一個消息寄送到一個窗口內的消息隊列后就立即返回。b)兩個函數的返回值不同:

LRESULT SendMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM,lParam);BOOL PostMessage(HWND hWnd,UNIT Msg,WPARAM wParam,LPARAM,lParam);SendMessage的返回值依賴于消息處理函數

c)跨線程或者跨進程發送消息,推薦使用PostMessage函數。

一、更具主窗口類型,MFC軟件工程可以分為以下幾種構架模型:

1、SDI(Single Document Interface):單文檔界面,一個主框架窗口下只能編輯一份文檔。例如:記事本和畫筆等。

2、MDI(Multiple Document Interface):多文檔界面,一個主框架窗口下可以同時編輯多份文檔。

例如:VC++6.0,Photoshop等軟件。

3、基于對話框的軟件模型:主窗口是通過資源管理器,在對話框模板內擺放控件編輯而成的。

多數用于開發小規模軟件,例如:任務管理器。

4、其他自定義窗口做主窗口:主窗口既不是框架也不是對話框,而是直接開發通用窗口類CWind而成。

例如:輸入法窗口、QQ和360軟件等,有時這類軟件都可以使用框架和對話框模式來代替開發而成。

對話框常用消息映射函數:

二、對話框初始化消息:

1、WM_CREATE:通用窗口初始化消息

窗口還未顯示出來,只有父窗口,子窗口還沒創建

2、WM_INITDIALOG:對話框窗口專用消息

子窗口已經全部創建完成,可以調用和操作子窗口

三、對話框關閉過程消息:

1、WM_SYSCOMMAND:管理所有系統菜單和系統按鈕消息 包括通過最大化、最小化、移動、大小和關閉等

2、WM_CLOSE:是WM_SYSCOMMAND消息的一個專用關閉的分支 再次消息處理過程可以取消本次關閉任務

3、IDCANCEL按鈕消息:不但用于按鈕回調消息,也是系統按鈕關閉窗口的回調 執行真正關閉對話框函數是EndDialog,在此消息處理過程可以取消本次關閉任務

4、WM_DESTROY:通用窗口銷毀消息

窗口已經在屏幕中消失了,但是自身窗口和窗口內的控件都還可以調用 在此消息處理過程可以取消本次關閉任務

四、非模式對話框:

1、在調用EndDialog函數關閉時,非模式對話框只是隱藏沒有真正關閉;

2、在調用DestroyWindow函數關閉時,只是隱藏沒有真正關閉;

3、DestroyWindow函數是通用摧毀窗口的函數,適用于對話框、控件、框架和視圖等。

一個MFC軟件工程由至少一個CWind派生類和一個CWinApp派生類,因此這兩個類是MFC工程中最重要的兩個類。

一、CWind成員函數:主要就是一個核心成員變量m_hWnd。

1、DestroyWindow:摧毀窗口。

2、Create和CreateEx:創建窗口,CreateEx創建時可以指定擴展風格。

3、獲取窗口句柄:

a)pWnd->m_hWnd:直接調用前最好判斷一下指針是否為空。b)operator HWND():自動類型轉換,將對象轉換為句柄。

c)GetSafeHwnd():可以避免的a方法,因為指針為空造成軟件崩潰。

4、由句柄轉化為CWnd對象:

a)CWnd::FromHandle:生成一個臨時性窗口類指針

b)Attach和Detach:為一個CWnd對象嫁接和移除窗口句柄; c)SubclassWindow和UnsubclassWindow:子類化和反子類化; d)SubclassDlgItem:子類化指定ID對應的控件窗口。

5、獲取和設置窗口信息:

a)GetWindowText和SetWindowText:獲取和設置窗口的標題文字。b)GetStyle和ModifyStyle:獲取和設置窗口的基礎風格。c)GetExStyle和ModifyStyleEx:獲取和設置窗口的擴展風格。

6、計時器: a)SetTimer: b)KillTimer:

7、窗口操作: a)ShowWindow: b)EnableWindow: c)MoveWindow: d)CenterWindow:

二、CWinApp類成員變量:

三、CWinApp類成員函數:

//匈牙利命名法: //變量:

int long定義:int nSel;long nTel HANDLE hInst;CString szName,szPass;CString strAddr;LPCSTR pszName;DWORD dwID;//如果是成員變量,以“m_”開頭 //如果是全局變量,以“g_”開頭

下載編程學習心得和方法word格式文檔
下載編程學習心得和方法.doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發現有涉嫌版權的內容,歡迎發送郵件至:645879355@qq.com 進行舉報,并提供相關證據,工作人員會在5個工作日內聯系你,一經查實,本站將立刻刪除涉嫌侵權內容。

相關范文推薦

    省人工智能和創意編程教學研討會學習心得

    省人工智能和創意編程教學研討會學習心得 博興樂安實驗學校劉凱月 11月28日到29日為期兩天的人工智能和創意編程的教學研討會學習活動結束了,我有幸參加了這次會議,活動內容十......

    多文件編程方法總結

    編寫一個程序如下: #include void delay(unsigned char k) { } void main() { } /*此時程序較少看上去也不會覺得亂,但是如果程序很多就比較亂了。作如下多文件編程,看著......

    數控編程的方法[范文]

    數控編程的方法 在數控加工企業來說,編程直接影響著數控設備系統的進程,數控程序怎么樣編程,在這方面還需要進一度加強人員培訓。 1、 首先學習數控編程需要幾個基本的條件: ①......

    刀具和編程總結

    ① 白鋼刀(即高速鋼刀具)因其通體銀白色而得名,主要用于直壁加工。白鋼刀價格便宜,但切削壽命短、吃刀量小、進給速度低、加工效率低,在數控加工中較少使用。 ② 飛刀(即鑲嵌式刀......

    STM8庫編程的方法總結

    經過幾天的摸索我終于掌握用STM8庫的方法,但我還認為不用庫也很好, 1.首先要裝好ST8的開發環境,一個是ST Visual Develop 一個是COSMIC stm8 C語言編譯器.第三把STM8的庫下......

    MASTERCAM9.1車床編程學習心得(大全5篇)

    MASTERCAM9.1數控車床編程的初步印象 很多的說法都是這款軟件很容易學,看樣子也差不多是這樣的了,我從一個星期前弄到它,便想盡一切辦法學習,當然是從最初的學,可是對于作......

    關于西門子S7-200 PID編程學習心得

    關于西門子S7-200 PID編程學習心得 1. 注意區分輸入端接的是電壓信號還是電流信號;輸出端是電流信號還是電壓信號。在模擬模塊上不同信號下的接線方式。 2. 了解信號輸入元件......

    研究方法學習心得

    2008—2009年第一學期我在西北師范大學外國語學院學習,期間非常榮幸地參加了姜秋霞教授講授的《研究方法與論文寫作》的學習,通過一學期的我講一下自己對于論文寫作的一點淺顯......

主站蜘蛛池模板: 97国产精华最好的产品久久久| 99精品国产在热久久| 亚洲另类激情综合偷自拍图片| 色欲综合久久中文字幕网| 精品国际久久久久999波多野| 国产成人精品视觉盛宴| 四虎成人精品国产永久免费无码| 人妻av久久一区波多野结衣| 日本在线 | 中文| 国产孩cao大人xxxx| 国产成人无码精品久久久免费| 成人爽a毛片免费| 欧美成人a天堂片在线观看| 天天躁日日躁狠狠久久| 94久久国产乱子伦精品免费| 婷婷色爱区综合五月激情韩国| 久久精品人人做人人爽电影| 久久久国产精品免费a片3d| 精品免费一区二区三区在| 午夜福利在线永久视频| 三级4级全黄60分钟| 国产麻豆一精品一av一免费软件| 国产精品人妻系列21p| 18禁勿入午夜网站入口| 久久人人爽人人爽人人片av麻烦| 蜜臀av性久久久久蜜臀aⅴ麻豆| 亚洲欧美日韩国产自偷| 久9视频这里只有精品试看| 黑人30厘米少妇高潮全部进入| 亚洲日韩国产精品第一页一区| 日韩一区二区在线观看视频| 少妇无码av无码专线区大牛影院| 国产成人亚洲日韩欧美性| 久久久久久久久久久国产| 隔壁老王国产在线精品| 日本猛少妇色xxxxx猛叫| 99精品国产高清一区二区麻豆| 国产漂亮白嫩美女在线观看| 中文字幕无码精品亚洲35| 久久精品一品道久久精品| 日日碰狠狠添天天爽超碰97|