怎樣學(xué)習(xí)軟件編程_第1頁
怎樣學(xué)習(xí)軟件編程_第2頁
怎樣學(xué)習(xí)軟件編程_第3頁
怎樣學(xué)習(xí)軟件編程_第4頁
怎樣學(xué)習(xí)軟件編程_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

怎樣學(xué)習(xí)編程內(nèi)容編程語言簡(jiǎn)介1規(guī)劃你的軟件生涯2怎樣學(xué)VC3以Delphi和匯編作結(jié)4CompanyLogo編程語言的種類機(jī)器語言機(jī)器語言是計(jì)算機(jī)唯一能接受和執(zhí)行的語言。機(jī)器語言由二進(jìn)制碼組成,每一串二進(jìn)制碼叫做一條指令。一條指令規(guī)定了計(jì)算機(jī)執(zhí)行的一個(gè)動(dòng)作。一臺(tái)計(jì)算機(jī)所能懂得的指令的全體,叫做這個(gè)計(jì)算機(jī)的指令系統(tǒng)。不同型號(hào)的計(jì)算機(jī)的指令系統(tǒng)不同。

高級(jí)語言機(jī)器語言和匯編語言都是面向機(jī)器的,高級(jí)語言是面向用戶的。它并不是特指某一種具體的語言,而是包括了很多編程語言,如目前流行的VB、VC、FoxPro、Delphi等,這些語言的語法、命令格式都各不相同。

匯編語言的實(shí)質(zhì)和機(jī)器語言是相同的,都是直接對(duì)硬件操作,只不過指令采用了英文縮寫的標(biāo)識(shí)符,更容易識(shí)別和記憶。匯編語言CompanyLogo編程語言的發(fā)展歷史2000C#2000Java22001VB.NET1970s1980s1990s2000s1981B1982PostScriptC++1987Perl1991Python1991VisualBASICDelphi1995Java11995PHP

JScript

Proglog1970PascalC

SmallTalkbefore1957FORTRANALGOLLISP1960COBOL1964BASICCompanyLogo

CycleDiagramCompanyLogoCompanyLogoCompanyLogoCompanyLogo有多少種編程語言?http:///~nkinners/LangList/Extras/langlist.htm1957FORTRAN1958ALGOL1960LISP1960COBOL1962APL1962SIMULA1964BASIC1964PL/I1966ISWIM1970Prolog1972C1975Pascal1975Scheme1977OPS51978CSP1978FP1980dBASEII1983Smalltalk-801983Ada1983Parlog1984StandardML1986C++1986CLP(R)1986Eiffel1988CLOS1988Mathematica1988Oberon1989HTML1990Haskell2500!CompanyLogo規(guī)劃你的軟件生涯?VCC#VBJAVADELPHICompanyLogo幾種學(xué)習(xí)方案

Basic

&VisualBasic&VisualBasic.NET優(yōu)點(diǎn)(1)Basic

簡(jiǎn)單易學(xué),容易上手。(2)VisualBasic提供了強(qiáng)大的可視化編程能力。缺點(diǎn)(1)VisualBasic不是真正的面向?qū)ο蟮拈_發(fā)文具。(2)VisualBasic的數(shù)據(jù)類型太少,而且不支持指針,這使得它的表達(dá)能力很有限。(3)VisualBasic是解釋性語言,它產(chǎn)生的最終代碼不是可執(zhí)行的,是一種偽代碼。它需要一個(gè)動(dòng)態(tài)鏈接庫去解釋執(zhí)行,這使得VisualBasic的編譯速度大大變慢。綜述適合初涉編程的朋友應(yīng)用實(shí)例

一些簡(jiǎn)單的管理信息系統(tǒng)。CompanyLogoPascal

&DelphiforWin32&Delphifor.NET優(yōu)點(diǎn)(1)Pascal語言結(jié)構(gòu)嚴(yán)謹(jǐn),可以很好地培養(yǎng)一個(gè)人的編程思想。(2)Delphi是一門真正的面向?qū)ο蟮拈_發(fā)工具,并且是完全的可視化。(3)Delphi使用了真編譯,可以讓你的代碼編譯成為可執(zhí)行的文件,而且編譯速度非??欤?hào)稱”最優(yōu)雅的編譯器”。(4)Delphi具有強(qiáng)大的數(shù)據(jù)庫開發(fā)能力,可以讓你輕松地開發(fā)數(shù)據(jù)庫。缺點(diǎn)(1)Pascal過于嚴(yán)謹(jǐn)。(2)可執(zhí)行文件較大。綜述方案二比較適合那些具有一定編程基礎(chǔ)并且學(xué)過Pascal語言的朋友。應(yīng)用實(shí)例

Protel,F(xiàn)oxmail,F(xiàn)lashFXP,BCB,雪狐桌面精靈,商業(yè)賬務(wù)軟件。CompanyLogoC++

&C++Builder優(yōu)點(diǎn)(1)C++語言的優(yōu)點(diǎn)全部得以繼承。(2)可視化編程。(3)極強(qiáng)的兼容性,支持OWL、VCL和MFC三大類庫。缺點(diǎn)由于推出的時(shí)間太短,關(guān)于它的各種資料還不太多。綜述

C++Builder兼有VC和Delphi的優(yōu)點(diǎn),它既保持了C++語言編程的優(yōu)點(diǎn),又做到了完全的可視化。應(yīng)用實(shí)例

WinRAR,金山毒霸(據(jù)說),超星,ServerU,DllyDbg,商業(yè)財(cái)務(wù)軟件。CompanyLogoC

&C++&VisualC++&VisualC++.NET優(yōu)點(diǎn)(1)C語言靈活性好,效率高,可以接觸到軟件開發(fā)比較底層的東西。(2)微軟的MFC庫博大精深,學(xué)會(huì)它可以讓隨心所欲地進(jìn)行編程。(3)VC是微軟制作的產(chǎn)品,與操作系統(tǒng)的結(jié)合更加緊密。缺點(diǎn)對(duì)使用者的要求比較高,既要具備豐富的C語言編程經(jīng)驗(yàn),又要具有一定的WINDOWS編程基礎(chǔ),它的過于專業(yè)使得一般的編程愛好者學(xué)習(xí)起來會(huì)有不小的困難。綜述VC是程序員用的東西。如果你是一個(gè)永不滿足的人,而且可以在編程上投入很大的精力和時(shí)間,那么學(xué)習(xí)VC你一定不會(huì)后悔的。應(yīng)用實(shí)例

SolidWorks,卡巴期基,F(xiàn)ireFox,QQ,RationalRose,RequisitePro……CompanyLogo其他方案JAVA&JBuilderC#&C#.NETSQL語言&PowerBuilderASP&ASP.NET……CompanyLogo學(xué)習(xí)規(guī)劃控制、數(shù)據(jù)庫、網(wǎng)絡(luò)、圖形圖像……C++、Delphi、C#、JAVA……C、Pascal、BASIC、匯編深入研究Windows程序設(shè)計(jì)面向?qū)ο竺嫦蜻^程&數(shù)據(jù)結(jié)構(gòu)軟件工程、驅(qū)動(dòng)、逆向工程……CompanyLogoC指針與數(shù)組結(jié)構(gòu)體、聯(lián)合體面向過程-知識(shí)要點(diǎn)學(xué)習(xí)流程控制if…then,while,for字串操作函數(shù)隊(duì)列、棧、鏈表、樹排序&查找CompanyLogo面向過程-選擇語言和工具注重學(xué)習(xí)編程思想而非哪一門編語言。推薦語言:C推薦開發(fā)環(huán)境:TurboC+EditPlus推薦參考資料:

《C程序設(shè)計(jì)》譚浩強(qiáng)清華大學(xué)出版社

《數(shù)據(jù)結(jié)構(gòu)(C語言版)》嚴(yán)蔚敏吳偉民清華大學(xué)出版社CompanyLogo類和對(duì)象面向?qū)ο螅R(shí)要點(diǎn)學(xué)習(xí)類的初始化、賦值和析構(gòu)類成員和類成員函數(shù)類繼承、多重繼承、虛擬繼承類模板C++標(biāo)準(zhǔn)庫CompanyLogo面向?qū)ο螅x擇語言和工具推薦語言:C++推薦開發(fā)環(huán)境:MicrosoftVisualC++6.0(or.NET)推薦參考資料: 《C++Primer

》潘愛民譯中國(guó)電力出版社

《EffectiveC++中文版》梅耶譯電子工業(yè)出版社CompanyLogoWindows程序設(shè)計(jì)-知識(shí)要點(diǎn)學(xué)習(xí)Windows消息機(jī)制APIWindows標(biāo)準(zhǔn)控件的應(yīng)用類庫的使用SDK編程CompanyLogoWindows是消息驅(qū)動(dòng)的系統(tǒng)。基本上所有與系統(tǒng)或應(yīng)用程序的交互都可以通過調(diào)用SendMessage和PostMessage來完成。理解消息的本質(zhì)并熟練掌握消息的用法是學(xué)好Windows編程的基礎(chǔ)。API(ApplicationProgramInterface)提供了調(diào)用系統(tǒng)功能的一種方法。API可以實(shí)現(xiàn)你所希望的任何功能。正確使用API是學(xué)好Windows編程的關(guān)鍵。學(xué)習(xí)Windows消息和API的最好方法是使用使用SDK編程。CompanyLogo推薦語言:C++推薦開發(fā)環(huán)境:MicrosoftVisualC++6.0(or.NET)推薦參考資料:

孫鑫VC程序設(shè)計(jì)視頻教程《Windows程序設(shè)計(jì)》

(美)CharlesPetzold

北京大學(xué)出版社

《Windows環(huán)境下32位匯編語言程序設(shè)計(jì)(第2版)》羅云彬電子工業(yè)出版社CompanyLogoWindows下軟件開發(fā)可用的類庫主要有微軟的MFC(MicrosoftFoundationClasses)和Borland的VCL(VisualClassesLibrary)、OWL(ObjectWindowLibrary)。類庫只是對(duì)Windows消息和API的封裝。SDK基礎(chǔ)有助于學(xué)習(xí)類庫的使用。前期主要學(xué)習(xí)類庫的使用,后期主要學(xué)習(xí)類庫的封裝結(jié)構(gòu)和工作原理。CompanyLogo推薦語言:C++推薦開發(fā)環(huán)境:MicrosoftVisualC++6.0(or.NET)推薦參考資料: 《VisualC++6程序設(shè)計(jì)導(dǎo)學(xué)》 《MFCWindows程序設(shè)計(jì)》(美)JeffProsise

清華大學(xué)出版社

李久進(jìn)的VC教程網(wǎng)絡(luò)教程CompanyLogoWindows程序設(shè)計(jì)包括數(shù)據(jù)庫、多媒體、網(wǎng)絡(luò)、圖形圖像、機(jī)器控制等方面。在學(xué)會(huì)Windows的人機(jī)界面交互設(shè)計(jì)和與Windows系統(tǒng)的交互后,可以根據(jù)需要或自己的興趣著重學(xué)習(xí)某一方面。其他方面的知識(shí)也要根據(jù)自己的情況有所攝略,以拓展自己的知識(shí)面。CompanyLogo進(jìn)一步學(xué)習(xí)軟件工程.NET高級(jí)技術(shù)逆向工程CompanyLogo軟件測(cè)試系統(tǒng)分析與設(shè)計(jì)項(xiàng)目管理軟件維護(hù)軟件工程CompanyLogoVC++.NETC#.NETVB.NETASP.NET.NETCompanyLogo驅(qū)動(dòng)COMCOM+DCOM……高級(jí)技術(shù)CompanyLogo破解反破解加/解密加/脫殼……逆向工程CompanyLogo學(xué)習(xí)路線四字真言網(wǎng)絡(luò)資源怎樣學(xué)VC經(jīng)驗(yàn)教訓(xùn)CompanyLogo四字真言讀書,讀代碼,寫代碼多讀,多寫CompanyLogo

學(xué)習(xí)路線MFCSDKC++CCompanyLogo經(jīng)驗(yàn)教訓(xùn)興趣是最好的老師。靜下心來仔細(xì)讀書。編程時(shí)不要想當(dāng)然。多查閱資料。“拿來主義”是一種美德。寫代碼時(shí)要遵守一定的規(guī)范。CompanyLogo不要想當(dāng)然-一個(gè)刪除數(shù)組中所有元素的例子for(inti=0;i<m_arrTest.GetSize();i++){

m_arrTest.RemoveAt(i);}Intn=m_arrTest.GetSize();for(inti=0;i<n;i++){

m_arrTest.RemoveAt(i);}Intn=m_arrTest.GetSize();for(inti=n-1;i>=0;i--){

m_arrTest.RemoveAt(i);}改進(jìn)1:改進(jìn)2:CompanyLogo不好的代碼風(fēng)格-一堆字符for(x1=0;x1<Wnew;x1++){x0=(DWORD)(x1*cosa+y1*sina+num1);y0=(DWORD)(-1.0f*x1*sina+y1*cosa+num2);if((x0>=0)&&(x0<Wold)&&(y0>=0)&&(y0<Hold)){lpPtr=(char*)lpImgData+(SrcBufSize-LineBytes-y0*LineBytes)+x0;lpTempPtr=(char*)lpTempImgData+(DstBufSize-DstLineBytes-y1*DstLineBytes)+x1;*lpTempPtr=*lpPtr;}CompanyLogo好的代碼風(fēng)格-代碼也是藝術(shù)for(x1=0;x1<Wnew;x1++){

//comment1x0=(DWORD)(x1*cosa+y1*sina+num1);y0=(DWORD)(-1.0f*x1*sina+y1*cosa+num2);//comment2if((x0>=0)&&(x0<Wold)&&(y0>=0)&&(y0<Hold)){

lpPtr=(char*)lpImgData+(SrcBufSize

LineBytes-y0*LineBytes)+x0;

lpTempPtr=(char*)lpTempImgData+(DstBufSize-

DstLineBytes-y1*DstLineBytes)+x1;*lpTempPtr=*lpPtr;}}CompanyLogo學(xué)習(xí)編程規(guī)范的參考資料:

《高質(zhì)量C++/C編程指南》林銳博士《代碼大全(第2代)》(美)SteveMcConnell電子工業(yè)出版社CompanyLogo網(wǎng)絡(luò)資源國(guó)外網(wǎng)站國(guó)內(nèi)網(wǎng)站BBSCompanyLogo博采眾家之長(zhǎng)Delphi&BCBMASM30:22366CompanyLogo以Delphi、BCB和匯編結(jié)束我的報(bào)告CompanyLogo

Delphi是大名鼎鼎的Borland公司的旗幟性作品。從1995年發(fā)布Delphi1開始,期間經(jīng)歷了Delphi2、Delphi3、Delphi4、Delphi5、Delphi6、Delphi7、Delphi8、Delphi2005、Dephi2006、Delphi2007等不同版本。從Delphi8開始,已經(jīng)支持.NET開發(fā)。由于Borland公司自身的原因,其發(fā)展現(xiàn)在已經(jīng)趕不上微軟的步伐。Delphi有容易上手且完美地支持可視化開發(fā),網(wǎng)上各種關(guān)于Delphi的資料也非常豐富,當(dāng)前在各種商業(yè)軟件的開發(fā)中應(yīng)用較廣。

Borland公司的其他作品還有C++Builder,TurboC,TurboPascal,TASM,這些都是軟件史上的經(jīng)典之作。讓我們記住這些經(jīng)典吧,記住曾經(jīng)不遜于微軟的Borland!CompanyLogo當(dāng)前使用的匯編語言主要有MASM、TASM、NASM、HLA、FASM、GoASM等等。建議學(xué)微軟的MASM,它與C語言結(jié)合地最緊密。如今的匯編已不是DOS時(shí)代那種簡(jiǎn)單的字符界面,用匯編可以完成任何高級(jí)語言可以完成的東西。學(xué)習(xí)匯編(Win32)的必備裝備:

RadAsm、Masm32程序組、《IBM-PC匯編語言程序設(shè)計(jì)》、《Windows環(huán)境下32位匯編語言程序設(shè)計(jì)(第2版)》CompanyLogo匯編的魅力編譯快效率高可執(zhí)行文件小CompanyLogoClicktoeditcompanyslogan.ThankYou!請(qǐng)欣賞一些編程經(jīng)驗(yàn)教訓(xùn)編程規(guī)范相關(guān)軟件工程相關(guān)CompanyLogo正確有效地使用if語句?請(qǐng)寫出BOOLflag與“零值”比較的if語句。?請(qǐng)寫出floatx與“零值”比較的if語句。?請(qǐng)寫出char*p與“零值”比較的if語句。If(flag==false)If(flag==0)If(x==0.0)If(p==0.0)If(p)?請(qǐng)寫出intn與1比較的if語句。If(n)CompanyLogo正確的書寫方式BOOLflag與“零值”比較的if語句。floatx與“零值”比較的if語句。char*p與“零值”比較的if語句。If(!flag)If((x>=0.0001)&&(x<=0.0001))If(p==NULL)If(p!=NULL)intn與1比較的if語句。If(n==1)CompanyLogo

在寫與常值比較的代碼時(shí),為避免書寫錯(cuò)誤而造成程序BUG,應(yīng)將常值放于比較符前面。通常的寫法是 if(n==1)//n是整型變量改進(jìn)的寫法是

if(1==n)

若不小心將==寫成了=,第一種寫法存在BUG,if的條件總是為真。第二種寫法在編譯時(shí)就會(huì)報(bào)錯(cuò),因?yàn)槟阍噲D給常量賦值。errorC2106:'=':leftoperandmustbel-valueCompanyLogoC++中的constconst用于定義常量,它可以用來修飾變量、函數(shù)的參數(shù)、函數(shù)返回值,甚至函數(shù)的定義體。 被const修飾的東西都受到強(qiáng)制保護(hù),可以預(yù)防意外的變動(dòng),能提高程序的健壯性。CompanyLogoconst修飾變量

const修飾變量時(shí)有兩種語法:

constchar*pszChar=NULL;

pszChar是一個(gè)指向char類型的const對(duì)象的指針。(可以改變pszChar的值,但不可以改變*pszChar的值)char*constpszChar=NULL;

pszChar是一個(gè)常量指針,它指向char類型的t對(duì)象。(可以改變*pszChar的值,但不可以改變pszChar的值)constchar*constpszChar=NULL;?CompanyLogoconst修飾函數(shù)參數(shù)

voidStringCopy(char*szDest,constchar*szSource);1、const只能修飾輸入?yún)?shù)。2、如果輸入?yún)?shù)采用“指針傳遞”,加const可以防止意外地改動(dòng)該指針,起到保護(hù)作用。3、如果輸入?yún)?shù)采用“值傳遞”,由于函數(shù)將自動(dòng)產(chǎn)生臨時(shí)變量用于復(fù)制該參數(shù),所以不需要加const修飾(該參數(shù)無需保護(hù))。CompanyLogoconst修飾函數(shù)的返回值

constchar*GetString(void);用const修飾函數(shù)返回值,函數(shù)返回值的內(nèi)容不能被修改。CompanyLogoconst成員函數(shù)

classStack{public:

int

Pop(void);

int

GetCount(void)const;//const成員函數(shù)

private:

int

m_num;};

int

Stack::GetCount(void)con

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論