您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > C++入门基础-30分钟入门教程
C++入门知识C++是一门应用非常广泛的计算机程序设计语言。它既支持过程化程序设计,也支持面向对象程序设计。从操作系统、设备控制到数据库、网络、多媒体等众多的应用领域都能看到它的身影。目前,业界应用比较广泛的是它的两个变种:BorlandC++和VisualC++。这两种C++都是在标准C++的基础上做了一些扩展而来。本书将基于VisualC++6.0版本的开发环境,向读者讲授标准C++的强大功能和编程方法。本章包括以下内容:C++概述;开发工具;C++程序的结构;编码规范;标识符。通过本章的学习,读者可以为后面的学习打好基础,并且可以对C++有一个基本认识。1.1概述C++作为当今业界应用最为广泛的编程语言之一,其涵盖的内容非常广泛而多样。本节将首先给读者一个初步的概念。1.1.1C++的发展史C++由美国贝尔实验室的BjarneStroustrup博士在20世纪80年代初期发明并实现,最初被称作CwithClasses。1983年,CwithClasses被更名为C++。1985年10月发布了第一个商业化版本。同年,C++的第一本编程手册《C++程序设计语言》出版。1989年,发布了第二版。1990年,出版了TheAnnotatedC++ReferenceManual。这本书后来成为标准化的基础。稍后又引入了模板、异常处理、命名空间、新的强制转型,以及布尔类型等特性。ANSI-ISO委员会于1998年对C++进行了标准化:ISO/IEC14882-1998。从此,C++成为一种具有国际标准的编程语言,通常被称作ANSI/ISOC++。2003年,又发布了该标准的修正版。2005年,一份名为LibraryTechnicalReport1(简称TR1)的技术报告发布。事实上,至今为止没有任何一款编译器完全支持ISOC++,但是BorlandC++和VisualC++已经足够强大。现在,Loki、MPL等程序库为代表的产生式编程和模板元编程的出现又给了C++一个新的发展高峰。1.1.2为什么要选择C++C++语言是由C语言扩充而来。它是一门混合型的语言,既支持传统的结构化程序设计,第1章C++预备知识·3·又支持面向对象的程序设计,这使得C++非常流行。它在编程中支持面向对象。因此,它比C更适合人们的思考方式,并且比C要安全、可靠、有效。但是它并不像Java那样全面实现类的使用,这使得它很灵活,能够适应多种场合的需要。C++是编译语言,性能良好,效率更高。它不像Java、PHP、ASP等解释型语言,需要在运行时转换为机器码,或者读一条语句执行一条。它直接被编译为机器可识别的机器码。C++编写的程序独立性好。只要C++编译时产生的机器码不依赖外部的动态链接库,C++就可以在不需要安装额外程序的情况下,移动到运行同样操作系统的其他机器和微处理器上。而移动Java程序时需要先安装Java运行期库。这是C++语言成功流行的一个重要原因。C++语言应用极为广泛。尤其在底层编程和系统级编程上更是C++的传统优势应用。在数据库和多媒体方面,C++又以其卓越的稳定性而赢得了荣誉。1.1.3对面向对象方法的支持对象是人们要进行研究的任何事物。面向对象的核心思想是对象和对象间的消息,是建立在“对象”基础上的方法学。它将系统看做对象的组合,每个对象都能接受并处理数据,然后和其他对象通过消息来交换数据。面向对象编程具有以下3个基本特征:封装、继承和多态。在C++中,用类来封装数据和数据上的操作,外界看不到该类的属性和方法。如果需要的话,系统一般会为每个属性提供set/get函数对。继承就是从父类继承旧的属性、参数等。C++可以进行公有、私有、保护3种类型的继承。有时为了避免内存的浪费,也可以进行虚继承。虚继承中,整个继承体系里公有的基类将不会被重复分配空间。多态指用多种形态来实现。C++中的多态包括函数重载、子类与基类间的覆盖、虚函数、运算符重载以及抽象类等方式。1.2开发工具要想发挥C++的强大功能,就需要一个优秀的集成开发环境,因为一个好的编程环境常常可以起到事半功倍的效果。集成开发环境(IDE)是一个将程序编辑器、编译器、调试工具和其他建立应用程序的工具集成在一起,用于开发应用程序的软件系统。本节将向读者介绍常见的几款C++开发环境,并着重介绍本书所用到的开发环境。1.2.1常见的C++开发工具目前,传统的C++开发工具有C++Builder、VisualC++两种,新近又出现了Eclipse、Code::Blocks、Dev-C++、Mingw等开发工具。它们各有千秋,下面将简单介绍一下它们的特性。第1篇面向过程的C++编程·4·1.VisualStudioVisualStudio是微软公司推出的开发环境,它是目前最流行的Windows平台应用程序开发环境。在VisualStudio中可以创建应用程序和网络应用程序,以及智能设备应用程序和Office插件等。从7.0开始,VisualStudio加入了.Net技术,类似Java的JVM。目前,最新版本为9.0,也被称做VisualStudio2008。如果不想使用.Net技术,6.0版本也是一个不错的选择。说明:VisualStudio对标准C++做了扩展,习惯上将在VisualStudio中实现的C++称为VisualC++,即VC。VC是目前使用最广泛的C++开发语言,VisualStudio也是使用最广泛的开发工具。2.C++BuilderC++Builder是另一款比较流行的C++开发工具。它由Borland公司于1998年推出,也是Windows下的开发工具。C++Builder具有高度安全性、高可靠性、快速性的编译优化方法,所以编译出的软件执行速度很快。所有符合ANSI/ISO标准的原代码都可以在C++Builder中编译,而且支持最新的ANSIC++/C语言特征。3.Dev-C++Dev-C++是Windows平台下的开源C++编程环境。它集成了GCC、MinGW32等众多自由软件,界面类似VisualStudio,但体积要小的多。它的缺点是难以胜任规模较大的软件项目,但对于初学者是一个不错的选择。4.AnjutaAnjuta是一款GNOME桌面环境下的C/C++编程的集成环境,也是开源软件。它不仅有项目管理、交互式调试以及强大的代码编辑和语法增色的功能,还可以直接开发Glade图形界面的程序。但是,它主要用在Linux、UNIX平台下,不支持Windows平台。目前,最新版本是2.4.x,可以从anjuta.sourceforge.net站点获得。5.Code::BlocksCode::Blocks是一款全功能的、跨平台的C/C++集成开发环境,属于开源软件。它提供了众多的工程模板,包括控制台应用、动态连接库、OpenGL应用、QT应用、Win32GUI应用等。Code::Blocks的另一引人之处在于它具有丰富的插件,包括代码格式化、类向导、代码补全、代码统计、To-Do列表,以及WindowsXP外观等各种各样的插件。此外,它不仅支持GNUGCC编译器,还支持MSVisualC++、BorlandC++编译器5.5,以及DigitalMarsC等多种编译器。6.EclipseEclipse是目前开源平台中最著名的集成开发环境。最初主要用来支持Java语言编程,目前通过插件CDT也可以用来开发C/C++程序。因为它本身只是一个框架,因此插件众多是它第1章C++预备知识·5·的一大特点。这使得Eclipse拥有其他支持单一语言的IDE环境很难具有的灵活性。此外,还有很多IDE也都支持C++开发,例如VisualSlickEdit、NetBeans、UnderstandC等,读者可以根据自己的需要选择适合自己的开发环境。1.2.2VisualC++6.0开发环境简介VisualC++是微软公司推出的目前使用极为广泛的基于Windows平台的可视化集成开发环境。它包含了一个文本编辑器、资源编辑器、工程编译工具、一个增量连接器、源代码浏览器、集成调试工具,以及一套联机文档MSDN。VisualC++IDE一般由3部分组成:DeveloperStudio、MFC、PlatformSDK。1.DeveloperStudio这是一个集成开发环境,它提供了一个很好的编辑器和很多Wizard。它不仅可以用来开发C、C++,还可以用来开发VisualBasic、VF等语言。使用DeveloperStudio,可以完成创建、调试、修改应用程序等各种操作。2.MFCMFC(MicrosoftFoundationClasses,MFC)表示为微软基础类,它的应用程序的总体结构通常由开发人员从MFC类派生的几个类和一个CWinApp类对象(应用程序对象)组成。但是用VisualC++编写代码也并不意味着一定要用MFC,使用STL、ATL、编写SDK程序一样没有限制。说明:STL是StandardTemplateLibrary的缩写,表示标准模板库。ATL是ActiveTemplateLibrary的缩写,表示活动模板库。3.PlatformSDKPlatformSDK是以MicrosoftC/C++编译器为核心,配合MASM,辅以其他一些工具和文档资料。SDK表示SoftwareDevelopmentKit,意为“软件开发工具包”。VisualC++6.0支持的文件类型众多,如表1-1所示。表1-1文件类型文件类型说明文件类型说明ActiveServerPageASP文件BinaryFile二进制文件BitmapFile位图文件C++SourceFileC++源程序文件C/C++HeaderFileC/C++头文件CursorFile光标文件HTMLPageHTML文件IconFile图标文件MacroFile宏文件ResourceScript资源脚本文件ResourceTemplate资源模板SQLScriptFileSQL语言脚本文件TextFile文本文件由于功能强大,VisualC++6.0预定义的工程类型也非常多,如表1-2所示。第1篇面向过程的C++编程·6·表1-2工程类型项目类型说明项目类型说明ATLCOMAppWizardATL程序DatabaseProject数据库Win32Dynamic-LinkLibraryWin32动态链接库DevStudioAdd-inWizard自动嵌入执行文件宏CustomAppWizard自定义程序向导ISAPIExtensionWizardInternet服务器或过滤器MakefileMake文件MFCActiveXControlWizardActiveX控件MFCAppWizard(dll)MFC动态链接库MFCAppWizard(exe)MFC可执行文件Win32ApplicationWin32程序Win32ConsoleApplicationWin32控制台程序Win32StaticLibraryWin32静态库UtilityProject该工程作为其他子工程的容器,从而减少子工程的联编时间1.2.3VisualC++6.0开发环境的使用VisualC++提供了一个集源程序编辑、代码编译与调试于一体的开发环境,这个环境称为集成开发环境。通过集成开发环境程序员可以访问C++源代码编辑器、资源编辑器,使用内部调试器,并且可以创建工程文件。本节将详细讲解VisualC++6.0集成开发环境各部分的使用方法。1.主界面为了使用VisualC++6.0开发环境,首先需要单击“开始”|“程序”|MicrosoftVisualStudio6.0|MicrosoftVisualC++6.0命令,打开IDE。主界面如图1-1所示。工程管理面板菜单条工具栏工作区输出窗口状态栏图1-1VisualC++6.0IDE第1章C++预备知识·7·图中上部为菜单条,菜单条下面为工具栏。屏幕左部为工程管理面板,右部为工作区。工作区下部为输出
本文标题:C++入门基础-30分钟入门教程
链接地址:https://www.777doc.com/doc-5387884 .html