怎样学习软件编程_第1页
怎样学习软件编程_第2页
怎样学习软件编程_第3页
怎样学习软件编程_第4页
怎样学习软件编程_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

怎样学习编程内容编程语言简介1规划你的软件生涯2怎样学VC3以Delphi和汇编作结4CompanyLogo编程语言的种类机器语言机器语言是计算机唯一能接受和执行的语言。机器语言由二进制码组成,每一串二进制码叫做一条指令。一条指令规定了计算机执行的一个动作。一台计算机所能懂得的指令的全体,叫做这个计算机的指令系统。不同型号的计算机的指令系统不同。

高级语言机器语言和汇编语言都是面向机器的,高级语言是面向用户的。它并不是特指某一种具体的语言,而是包括了很多编程语言,如目前流行的VB、VC、FoxPro、Delphi等,这些语言的语法、命令格式都各不相同。

汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。汇编语言CompanyLogo编程语言的发展历史2000C#2000Java22001VB.NET1970s1980s1990s2000s1981B1982PostScriptC++1987Perl1991Python1991VisualBASICDelphi1995Java11995PHP

JScript

Proglog1970PascalC

SmallTalkbefore1957FORTRANALGOLLISP1960COBOL1964BASICCompanyLogo

CycleDiagramCompanyLogoCompanyLogoCompanyLogoCompanyLogo有多少种编程语言?http:///~nkinners/LangList/Extras/langlist.htm1957FORTRAN1958ALGOL1960LISP1960COBOL1962APL1962SIMULA1964BASIC1964PL/I1966ISWIM1970Prolog1972C1975Pascal1975Scheme1977OPS51978CSP1978FP1980dBASEII1983Smalltalk-801983Ada1983Parlog1984StandardML1986C++1986CLP(R)1986Eiffel1988CLOS1988Mathematica1988Oberon1989HTML1990Haskell2500!CompanyLogo规划你的软件生涯?VCC#VBJAVADELPHICompanyLogo几种学习方案

Basic

&VisualBasic&VisualBasic.NET优点(1)Basic

简单易学,容易上手。(2)VisualBasic提供了强大的可视化编程能力。缺点(1)VisualBasic不是真正的面向对象的开发文具。(2)VisualBasic的数据类型太少,而且不支持指针,这使得它的表达能力很有限。(3)VisualBasic是解释性语言,它产生的最终代码不是可执行的,是一种伪代码。它需要一个动态链接库去解释执行,这使得VisualBasic的编译速度大大变慢。综述适合初涉编程的朋友应用实例

一些简单的管理信息系统。CompanyLogoPascal

&DelphiforWin32&Delphifor.NET优点(1)Pascal语言结构严谨,可以很好地培养一个人的编程思想。(2)Delphi是一门真正的面向对象的开发工具,并且是完全的可视化。(3)Delphi使用了真编译,可以让你的代码编译成为可执行的文件,而且编译速度非常快,号称”最优雅的编译器”。(4)Delphi具有强大的数据库开发能力,可以让你轻松地开发数据库。缺点(1)Pascal过于严谨。(2)可执行文件较大。综述方案二比较适合那些具有一定编程基础并且学过Pascal语言的朋友。应用实例

Protel,Foxmail,FlashFXP,BCB,雪狐桌面精灵,商业账务软件。CompanyLogoC++

&C++Builder优点(1)C++语言的优点全部得以继承。(2)可视化编程。(3)极强的兼容性,支持OWL、VCL和MFC三大类库。缺点由于推出的时间太短,关于它的各种资料还不太多。综述

C++Builder兼有VC和Delphi的优点,它既保持了C++语言编程的优点,又做到了完全的可视化。应用实例

WinRAR,金山毒霸(据说),超星,ServerU,DllyDbg,商业财务软件。CompanyLogoC

&C++&VisualC++&VisualC++.NET优点(1)C语言灵活性好,效率高,可以接触到软件开发比较底层的东西。(2)微软的MFC库博大精深,学会它可以让随心所欲地进行编程。(3)VC是微软制作的产品,与操作系统的结合更加紧密。缺点对使用者的要求比较高,既要具备丰富的C语言编程经验,又要具有一定的WINDOWS编程基础,它的过于专业使得一般的编程爱好者学习起来会有不小的困难。综述VC是程序员用的东西。如果你是一个永不满足的人,而且可以在编程上投入很大的精力和时间,那么学习VC你一定不会后悔的。应用实例

SolidWorks,卡巴期基,FireFox,QQ,RationalRose,RequisitePro……CompanyLogo其他方案JAVA&JBuilderC#&C#.NETSQL语言&PowerBuilderASP&ASP.NET……CompanyLogo学习规划控制、数据库、网络、图形图像……C++、Delphi、C#、JAVA……C、Pascal、BASIC、汇编深入研究Windows程序设计面向对象面向过程&数据结构软件工程、驱动、逆向工程……CompanyLogoC指针与数组结构体、联合体面向过程-知识要点学习流程控制if…then,while,for字串操作函数队列、栈、链表、树排序&查找CompanyLogo面向过程-选择语言和工具注重学习编程思想而非哪一门编语言。推荐语言:C推荐开发环境:TurboC+EditPlus推荐参考资料:

《C程序设计》谭浩强清华大学出版社

《数据结构(C语言版)》严蔚敏吴伟民清华大学出版社CompanyLogo类和对象面向对象-知识要点学习类的初始化、赋值和析构类成员和类成员函数类继承、多重继承、虚拟继承类模板C++标准库CompanyLogo面向对象-选择语言和工具推荐语言:C++推荐开发环境:MicrosoftVisualC++6.0(or.NET)推荐参考资料: 《C++Primer

》潘爱民译中国电力出版社

《EffectiveC++中文版》梅耶译电子工业出版社CompanyLogoWindows程序设计-知识要点学习Windows消息机制APIWindows标准控件的应用类库的使用SDK编程CompanyLogoWindows是消息驱动的系统。基本上所有与系统或应用程序的交互都可以通过调用SendMessage和PostMessage来完成。理解消息的本质并熟练掌握消息的用法是学好Windows编程的基础。API(ApplicationProgramInterface)提供了调用系统功能的一种方法。API可以实现你所希望的任何功能。正确使用API是学好Windows编程的关键。学习Windows消息和API的最好方法是使用使用SDK编程。CompanyLogo推荐语言:C++推荐开发环境:MicrosoftVisualC++6.0(or.NET)推荐参考资料:

孙鑫VC程序设计视频教程《Windows程序设计》

(美)CharlesPetzold

北京大学出版社

《Windows环境下32位汇编语言程序设计(第2版)》罗云彬电子工业出版社CompanyLogoWindows下软件开发可用的类库主要有微软的MFC(MicrosoftFoundationClasses)和Borland的VCL(VisualClassesLibrary)、OWL(ObjectWindowLibrary)。类库只是对Windows消息和API的封装。SDK基础有助于学习类库的使用。前期主要学习类库的使用,后期主要学习类库的封装结构和工作原理。CompanyLogo推荐语言:C++推荐开发环境:MicrosoftVisualC++6.0(or.NET)推荐参考资料: 《VisualC++6程序设计导学》 《MFCWindows程序设计》(美)JeffProsise

清华大学出版社

李久进的VC教程网络教程CompanyLogoWindows程序设计包括数据库、多媒体、网络、图形图像、机器控制等方面。在学会Windows的人机界面交互设计和与Windows系统的交互后,可以根据需要或自己的兴趣着重学习某一方面。其他方面的知识也要根据自己的情况有所摄略,以拓展自己的知识面。CompanyLogo进一步学习软件工程.NET高级技术逆向工程CompanyLogo软件测试系统分析与设计项目管理软件维护软件工程CompanyLogoVC++.NETC#.NETVB.NETASP.NET.NETCompanyLogo驱动COMCOM+DCOM……高级技术CompanyLogo破解反破解加/解密加/脱壳……逆向工程CompanyLogo学习路线四字真言网络资源怎样学VC经验教训CompanyLogo四字真言读书,读代码,写代码多读,多写CompanyLogo

学习路线MFCSDKC++CCompanyLogo经验教训兴趣是最好的老师。静下心来仔细读书。编程时不要想当然。多查阅资料。“拿来主义”是一种美德。写代码时要遵守一定的规范。CompanyLogo不要想当然-一个删除数组中所有元素的例子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);}改进1:改进2:CompanyLogo不好的代码风格-一堆字符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好的代码风格-代码也是艺术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学习编程规范的参考资料:

《高质量C++/C编程指南》林锐博士《代码大全(第2代)》(美)SteveMcConnell电子工业出版社CompanyLogo网络资源国外网站国内网站BBSCompanyLogo博采众家之长Delphi&BCBMASM30:22366CompanyLogo以Delphi、BCB和汇编结束我的报告CompanyLogo

Delphi是大名鼎鼎的Borland公司的旗帜性作品。从1995年发布Delphi1开始,期间经历了Delphi2、Delphi3、Delphi4、Delphi5、Delphi6、Delphi7、Delphi8、Delphi2005、Dephi2006、Delphi2007等不同版本。从Delphi8开始,已经支持.NET开发。由于Borland公司自身的原因,其发展现在已经赶不上微软的步伐。Delphi有容易上手且完美地支持可视化开发,网上各种关于Delphi的资料也非常丰富,当前在各种商业软件的开发中应用较广。

Borland公司的其他作品还有C++Builder,TurboC,TurboPascal,TASM,这些都是软件史上的经典之作。让我们记住这些经典吧,记住曾经不逊于微软的Borland!CompanyLogo当前使用的汇编语言主要有MASM、TASM、NASM、HLA、FASM、GoASM等等。建议学微软的MASM,它与C语言结合地最紧密。如今的汇编已不是DOS时代那种简单的字符界面,用汇编可以完成任何高级语言可以完成的东西。学习汇编(Win32)的必备装备:

RadAsm、Masm32程序组、《IBM-PC汇编语言程序设计》、《Windows环境下32位汇编语言程序设计(第2版)》CompanyLogo汇编的魅力编译快效率高可执行文件小CompanyLogoClicktoeditcompanyslogan.ThankYou!请欣赏一些编程经验教训编程规范相关软件工程相关CompanyLogo正确有效地使用if语句?请写出BOOLflag与“零值”比较的if语句。?请写出floatx与“零值”比较的if语句。?请写出char*p与“零值”比较的if语句。If(flag==false)If(flag==0)If(x==0.0)If(p==0.0)If(p)?请写出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

在写与常值比较的代码时,为避免书写错误而造成程序BUG,应将常值放于比较符前面。通常的写法是 if(n==1)//n是整型变量改进的写法是

if(1==n)

若不小心将==写成了=,第一种写法存在BUG,if的条件总是为真。第二种写法在编译时就会报错,因为你试图给常量赋值。errorC2106:'=':leftoperandmustbel-valueCompanyLogoC++中的constconst用于定义常量,它可以用来修饰变量、函数的参数、函数返回值,甚至函数的定义体。 被const修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。CompanyLogoconst修饰变量

const修饰变量时有两种语法:

constchar*pszChar=NULL;

pszChar是一个指向char类型的const对象的指针。(可以改变pszChar的值,但不可以改变*pszChar的值)char*constpszChar=NULL;

pszChar是一个常量指针,它指向char类型的t对象。(可以改变*pszChar的值,但不可以改变pszChar的值)constchar*constpszChar=NULL;?CompanyLogoconst修饰函数参数

voidStringCopy(char*szDest,constchar*szSource);1、const只能修饰输入参数。2、如果输入参数采用“指针传递”,加const可以防止意外地改动该指针,起到保护作用。3、如果输入参数采用“值传递”,由于函数将自动产生临时变量用于复制该参数,所以不需要加const修饰(该参数无需保护)。CompanyLogoconst修饰函数的返回值

constchar*GetString(void);用const修饰函数返回值,函数返回值的内容不能被修改。CompanyLogoconst成员函数

classStack{public:

int

Pop(void);

int

GetCount(void)const;//const成员函数

private:

int

m_num;};

int

Stack::GetCount(void)con

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论