《Visual_C++.NET程序设计教程与上机指导》ppt课件.ppt

上传人:小飞机 文档编号:3726798 上传时间:2023-03-17 格式:PPT 页数:341 大小:3.75MB
返回 下载 相关 举报
《Visual_C++.NET程序设计教程与上机指导》ppt课件.ppt_第1页
第1页 / 共341页
《Visual_C++.NET程序设计教程与上机指导》ppt课件.ppt_第2页
第2页 / 共341页
《Visual_C++.NET程序设计教程与上机指导》ppt课件.ppt_第3页
第3页 / 共341页
《Visual_C++.NET程序设计教程与上机指导》ppt课件.ppt_第4页
第4页 / 共341页
《Visual_C++.NET程序设计教程与上机指导》ppt课件.ppt_第5页
第5页 / 共341页
点击查看更多>>
资源描述

《《Visual_C++.NET程序设计教程与上机指导》ppt课件.ppt》由会员分享,可在线阅读,更多相关《《Visual_C++.NET程序设计教程与上机指导》ppt课件.ppt(341页珍藏版)》请在三一办公上搜索。

1、Visual_C+.NET程序设计教程与上机指导课件,第1章 概 述,教学提示:微软推出.NET是为了适应Internet的发展而作出的应对决策,其中Visual C+.NET是微软的Visual C+系列软件的升级版本,用它来开发本机应用程序或Internet Web程序都有显著的增强。本章主要介绍Visual C+.NET的开发界面及可以开发的常用程序类型。,教学目标:初步介绍Visual C+.NET开发界面,使初学者对Visual C+.NET的开发环境有一个整体的认识。本书用的软件版本为Visual Studio.NET 2003中文版,如果机器上装的不是这个版本,可能界面上有些差异

2、,但是这些差异非常小,只要稍微注意一下,基本上不会妨碍学习。如果还是不太放心的话,请按第1章的步骤安装此版本软件,这样就可以省去一些麻烦。,1.1 Visual C+.NET简介,微软于2000年6月22日向全球发布了.NET,引起全球的轰动,.NET使程序员的编程方式产生了很大的变化。.NET平台在以Internet为基础的计算和通信激增的背景下,通过先进的软件技术,利用网络协议和格式协调众多的智能设备与网站,从而提供更简单、更为个性化且更有效的Internet服务。微软为了配合其.NET战略,发布了Visual Studio.NET。Visual Studio.NET主要包括三套产品:Vi

3、sual C#.NET、Viusal Basic.NET和Visual C+.NET。,1.2 安装Visual C+.NET,Visual C+.NET是Visual Studio.NET的一部分,表 1.1 以安装Visual Studio.NET 2003 为例,列出了安装系统需求。满足上述要求的计算机可以进行安装了。Visual Studio.NET 2003共有6张安装光盘,包括2张Visual Studio.NET安装光盘,1张系统必备盘,3张MSDN安装盘。将Visual Studio.NET的第一张安装光盘放入光驱,即出现如图1.1所示的画面。然后,读者可以按照安装程序的步骤,

4、首先安装系统必备,系统必备包括一些开发.NET程序必需的Internet组件和.NET 应用程序框架。安装完系统必备后,按照提示一步步安装Visual Studio.NET,由于过程比较简单,在此就不赘述了。前两步安装完成后,最好安装MSDN产品文档,因为MSDN中包含多达1.9GB的文档和例子,而且可以很方便地查询。,表1.1 安装Visual Studio.NET 2003的系统要求,返回,图1.1 Visual Studio.NET安装程序,返回,1.3 Visual C+.NET开发界面简介,单击Windows的【开始】|【程序】|Microsoft Visual Studio.NET

5、 2003命令,Microsoft Visual Studio.NET 2003 即可以启动。其启动的初始界面如图1.2所示。,图1.2 Visual Studio.NET的起始页,下面来新建一个Visual C+.NET项目,以便于更详细地了解Visual C+.NET程序开发环境。按照以下步骤,一步步进行:首先单击如图1.2中的选项【项目】,再单击【新建项目】按钮,出现【新建项目】对话框,选择左边【项目类型】|【Visual C+项目】|MFC选项,在右边的【模板】框中单击【MFC应用程序】,再在【名称】文本框中输入项目名称Jiao1_1,如图1.3所示。,图1.3【新建项目】对话框,返回

6、,单击【确定】按钮,即可进入如图1.4所示的【MFC应用程序向导】对话框。在这里共有7个步骤供选择,由于后面会详细讲解向导的创建步骤,所以现在都用默认值,直接单击【完成】按钮即可创建一个多文档应用程序项目。,图1.4【MFC应用程序向导】对话框,返回,可以在【解决方案资源管理器】视图中点开所生成的项目,即可看到本项目所包含的文件(如果找不到,可以单击菜单【视图】|【解决方案资源管理器】即可出现)。可以双击文件Jiao1_1.cpp,在中央的编辑器界面中进行代码的编写。其界面如图1.5所示。,图1.5 Visual C+.NET的界面,返回,Visual C+.NET 的集成界面包括菜单栏、工具

7、栏、解决方案资源管理器、类视图、资源视图、动态帮助、属性窗口、输出窗口,下面将进行详细介绍。1.3.1 菜单栏 1.3.2 工具栏 1.3.3 解决方案资源管理器 1.3.4 类视图 1.3.5 资源视图 1.3.6 动态帮助 1.3.7 属性窗口 1.3.8 任务列表及输出等窗口,1.3.1 菜单栏,Visual C+.NET的主菜单栏包括9个菜单项,这些菜单项可以完成几乎所有的任务,因此了解并掌握这些菜单命令是必要的。请注意,Visual C+.NET的菜单会根据当前打开不同的对象而有一些变化,所以本节只讲常见的菜单项命令。,返回,1.3.2 工具栏,由于工具栏上面的按钮命令都可以在相应的

8、菜单中找到,所以不详细讲解了。可以看看图标就知道它是干什么的,还可以把鼠标移动到按钮上面停一下,就有相应的提示对话框解释按钮的功能,使用很方便。而且还可以自己打开或定制工具栏。在工具栏上面右击,在出现的弹出式菜单中单击相应的命令即可以显示或隐藏相应的工具栏。图1.15是标准工具栏的样式。从左到右的命令依次为:新建项目、添加项目、打开文件、保存、全部保存、剪切、复制、粘贴、撤消、重复、向后定位、向前定位、启动、解决方案配置、在文件中查找、查找、解决方案资源管理器、属性窗口、对象浏览器、工具箱以及类视图。,返回,图1.15 标准工具栏,返回,1.3.3 解决方案资源管理器,如图1.16,【解决方案

9、资源管理器】窗口以图形方式显示了组成项目的所有文件,Visual C+.NET中属于同一应用程序的所有项目称作解决方案。以前版本(如Visual C+6.0)中同一应用程序中的所有项目组成的一个整体叫作工程,它们的意思差不多,只是换了一个名字。【解决方案资源管理器】窗口中显示了每个解决方案中文件的树状查看列表,包括各个项目的引用、源文件、头文件、资源文件、配置文件和帮助文件。双击相应的选项,Visual C+.NET自动用合适的编辑器打开它,可以进行任意的修改。如果要给解决方案添加一些项目,可在解决方案上面右击,选择弹出式菜单中相应的选项可以添加所要的项目。如果该窗口已经被关闭,则可以菜单命令

10、【视图】|【解决方案资源管理器】来打开。,返回,图1.16【解决方案资源管理器】窗口,返回,1.3.4 类视图,Visual C+.NET中的项目都是由类来组织的。见图1.17【类视图】窗口,解决方案Jiao1_1下面由【宏和常数】、【全局函数和变量】、CAboutDlg类、CchildFrame(子框架窗口类)、CJiao1_1App(应用程序类)、CJiao1_1DoC(文档类)、CJiao1_1View(视图类)、CmainFrame(框架窗口类)等组成(如果你看不懂,不要紧,这里只是稍微提一下,以后有详细的说明)。,返回,图1.17【类视图】窗口,返回,1.3.5 资源视图,【资源视图

11、】窗口是程序员在Visual C+.NET中管理资源的地方,它以树形视图的结构把解决方案中的所有资源都一项一项地列出来了,给人以非常直观和清晰的感觉。,返回,1.3.6 动态帮助,图1.19所示为【动态帮助】窗口,它提供了非常强大的智能帮助功能来帮助开发应用程序,如果在编辑框中选中不清楚的类或者类的属性或方法时,帮助视图中就提供选择项的帮助提示功能,可以单击相应的提示项来详细地了解该项的说明,使用非常贴心,是程序员编程的好帮手。还可以单击示例和开始项下面的相应项来学习有关知识。如果在Visual C+.NET编程遇到困难时,第一个想到的帮助者就是Visual C+.NET提供的动态帮助功能,也

12、可以打开MSDN 2003来提供帮助。,返回,图1.19【动态帮助】窗口,返回,1.3.7 属性窗口,可以这么说,一个人开发Visual C+.NET的速度和熟练程度,和他对【属性】窗口的熟练使用程度是息息相关的。读者可能用过Visual C+以前的版本,如Visual C+6.0中提供的ClassWizard对话框,对类的管理是非常方便的(包括资源控件和类成员的对应连接,数据传递路径,消息处理等),可能对Visual C+.NET中取消了ClassWizard功能感到非常失望,但是这只是个习惯问题,如果对【属性】窗口熟悉以后,一定会为它提供的功能折服。众所周知,Visual C+.NET里面

13、所有的项目都是有属性的,通过使用【属性】窗口可以非常方便地修改属性。,返回,1.3.8 任务列表及输出等窗口,图1.21所示为任务列表及输出等窗口。其中任务列表窗口可以浏览用户任务、生成错误。可以在此窗口中单击【单击此处添加新任务】来添加新任务,也可以在项目代码中以特定的格式添加注释。如果此窗口不可见,可单击菜单【视图】|【其他窗口】|【任务列表】来显示。,图1.21 任务列表及输出等窗口,返回,1.4 利用Visual C+.NET向导生成应用程序,Visual C+.NET为用户提供了功能强大的应用程序生成向导,用户可以不编写一行代码就能生成一个典型的Windows应用程序框架。在1.3节

14、涉及到了利用MFC应用程序向导生成程序Jiao1_1,下面重点讲解利用向导生成应用程序的具体过程,并生成一个可以编辑文字的MFC多文档应用程序Jiao1_2。1.4.1 选择新建项目类型 1.4.2 利用向导建立应用程序 1.4.3 生成应用程序,1.4.1 选择新建项目类型,在起始页上单击【新建项目】按钮,或者在菜单栏上选择【文件】|【新建】|【项目】,就会弹出如图1.3所示的【新建项目】对话框,用户可以对所要的项目类型进行选择。可以看到,Visual C+.NET开发的程序类型几乎覆盖了所有的开发类型,如Windows应用程序、自定义类库、控件库、ASP.NET Web应用程序、ASP.N

15、ET Web Service、Web控件库、ATL Server Web 服务、控制台应用程序、Windows服务、空项目以及空Web项目等等。本书重点讲解MFC应用程序的开发。,返回,1.应用程序类型,在【MFC应用程序向导】对话框中,选择左边的【应用程序类型】,在右边的【应用程序类型】选项组中选择【多文档】单选按钮,其他选项用默认值,如图1.22所示。可以看到,利用MFC可以创建基于对话框的应用程序、单文档应用程序、多文档应用程序和多顶级文档应用程序。,图1.22 选择应用程序类型,返回,2.复合文档支持,【复合文档支持】是一个程序中能够嵌入另一个应用程序的功能,容器就是只能维护嵌入的对象

16、;袖珍服务器指应用程序不能独立运行,而是被调用使之为其他程序服务;完全服务器指能够独立运行,并能为其他应用程序提供服务;容器/完全服务器指应用程序既可以作容器,也可以作完全服务器对象。保持默认值不变,即不选择任何复合文档支持具体见图1.23。,图1.23 设置复合文档支持,返回,3.文档模板字符串,选左边的【文档模板字符串】,右边的选项都用默认值。文件扩展名指文件的后缀名,具体见图1.24。,图1.24 设置文档模板字符串,返回,4.数据库支持,在左边选择【数据库支持】,将出现如图1.25所示的界面。如果不编写数据库应用程序,选择【无】;如果想要访问数据库,但不想应用程序从类CFormView

17、派生视图,或者其界面不含有记录菜单,则选择【仅支持头文件】;如果想要应用程序从类CFormView派生视图,并且其界面含有记录菜单,但不需要保存文档,则选择【不支持文件的数据库视图】;如果还需要文档保存功能,则选择【支持文件的数据库视图】。当选择第3、4项时,你还要选择客户端的数据库类型:OLE DB或者ODBC,并可以指定数据源及其他操作。,图1.25 设置数据库支持,返回,5.用户界面功能,选择左边的【用户界面功能】,右边的【主框架样式】和【工具栏】都用默认值,具体见图1.26。,图1.26 设置用户界面功能,返回,6.高级功能,选择左边的【高级功能】,将出现如图1.27所示的界面,保持默

18、认设置。【区分上下文的帮助】可以选择WinHelp格式或HTML帮助格式,WinHelp格式是传统的Windows帮助格式、帮助源文件为.RTF文件;而HTML帮助格式是Windows最新帮助格式,帮助源文件为.HTML文件。【最近文件列表上的文件数】为4。如图1.27所示。,图1.27 设定高级功能,返回,7.生成的类,选择左边【生成的类】,将出现如图1.28所示的界面。其中【基类】下拉列表框中有许多基类可供选择,注意在【基类】中选择CEditView。单击【完成】按钮,Visual C+.NET就自动生成一个多文档应用程序。,图1.28 选择生成的类,返回,1.4.3 生成应用程序,选择菜

19、单栏上的【生成】|【生成解决方案】,然后选择【调试】|【开始执行(不调试)】,或者直接按Ctrl+F5键编译运行,运行界面如图1.29所示。程序中可以对文字进行简单的编辑。如果文档有了更改,系统还会提示用户是否保存文档。看,一个简单的文档编辑器诞生了,不需要用户写一行代码。,返回,图1.29 Jiao1_2程序运行界面,返回,1.5 理解Visual C+.NET工程,Visual C+.NET作为一种程序设计语言,同时也是一个集成开发工具,提供了软件代码自动生成和可视化的资源编辑功能。在使用Visual C+.NET开发应用程序的过程中,系统生成了大量的各种类型的文件,在本节中将要详细介绍V

20、isual C+.NET中这些不同类型的文件分别起什么样的作用,在此基础上对 Visual C+.NET如何管理应用程序所用到的各种文件有一个全面的认识。,1.6 上 机 指 导,程序员最重要的是动手能力,如果只会构思,但是不能把思想变成一个实实在在的程序,那么也是很遗憾的。勤于练习才能真正掌握编程的方法。在1.3小节我们已经练习了利用 MFC 应用程序向导生成 MFC 应用程序。下面来练习一下利用向导生成控制台程序的方法。Visual C+.NET可以开发基于.NET的控制台程序和基于Win32的控制台程序。.NET的控制台应用程序是基于通用语言运行时环境的,而Win32控制台程序是基于本机

21、运行环境的,直接生成本机机器码。1.6.1.NET的控制台程序开发步骤 1.6.2 Win32的控制台程序开发步骤,第2章 Visual C+.NET的基本语法,教学提示:在本章,主要是对Visual C+.NET 的基本语法要素进行介绍,包括标识符和关键字、基本数据类型、变量和常量、命名空间、预编译指令、运算符和表达式。但仅仅掌握这些还是不够的。本章还进一步介绍了控制语句、结构体、联合体、枚举、指针和数组的详细使用方法。学习完这些内容后,读者对其语言将会有一个比较全面的了解。,教学目标:掌握Visual C+.NET语言的基本数据类型,熟悉常用的标识符、运算符、关键字;掌握常量和变量的定义方

22、法;掌握数据类型的转换方法;理解预编译指令、命名空间;掌握各种控制语句的使用方法;掌握结构体、联合体和枚举的定义及其使用方法;掌握指针和数组的使用方法,熟练掌握函数的使用方法。通过上机实践,初步掌握上述内容的灵活运用。,2.1 标识符和关键字,任何一门语言都有它自己的标识符和关键字,C+也不例外。标识符(identifier)是指常量、变量、语句标号、自定义函数、对象等能被编译器识别而提供的惟一名称,所有标识符的首字符必须以字母(az,AZ)或下划线(_)开始,后面的字符可以是字母、下划线或数字(09)。C+语言区分大小写,因此,大写的英文字母与其对应的小写英文字母是表示不同的标识符的,如lo

23、calString和localstring代表两个不同的标识符。关键字是C+语言保留的标识符,每个关键字都有特殊的意义,不能当作其他用途使用。,2.2 基本数据类型,C+语言使用确定的数据类型来组织各种数据,并根据各种数据类型来存储和操作这些数据。基本的数据类型是C+预定义的类型,编程人员可以直接利用这些类型来定义数据。下面来看看C+中的基本数据类型:Bool(逻辑型)、char(字符型)、short(短整型)、int(整型)、long(长整型)、float(浮型)、double(双精度型)、long double(长双精度型)。bool类型用true和false代表真与假,其占用空间是8位。

24、char是字符型类型,它在计算机里面是以ASCII表示的,占8位。short、int和long都是整型,只是数据的位数不一样:short占8位;int在DOS环境下占16位,在Windows下面占32位;long占32位。还可以在这三个类型前面加unsigned,表示无符号整数(即只表示正数)。Float、double、long double都是浮点型类型,只是位数不一样,float占32位,double占64位,long double占80位。,2.3 常量和变量,常量是指C+语言中表示固定数值或字符值的标识符,并且在程序的执行过程中不允许修改。通过使用关键字const,可以将一个变量(下面

25、会讲变量)定义为一个常量,并且const可以位于数据类型前或者数据类型后面。其定义的一般格式为:type const 变量名值或者const type 变量名值 在定义变量时,应给出该变量的数据类型和名字,还可以给这个变量赋一个初始值,也可以在以后再赋值,系统在编译时就会分配给该变量一个合适的内存空间。变量的一般定义为:数据类型 变量名值(可选),2.4 命 名 空 间,命名空间是为了处理不同公司或个人使用相同的标识符这种情况而使用的一个概念。假设AAA公司使用了自己的一套标志符,BBB公司也使用自己的一套标识符,现在如果要使用这两家公司的某些标识符,且两个公司都提供了变量标识符INTEGER

26、,那么在程序中使用INTEGER到底是使用AAA公司的,还是BBB公司的呢?这是个棘手的问题,Visual C+.NET编译器也会报错。,2.5 运算符、表达式和语句,在C+语言中,运算符是指对操作数进行操作的符号,按照运算功能,C+运算符可分为算术运算符、关系运算符、逻辑运算符、位运算符和赋值运算符等,按优先级顺序,C+运算符如表2.3所示。,2.6 预编译指令,预编译指令指在程序正式编译前就由编译器进行编译的操作,可以放在程序中的任何位置。常见的预编译指令有:#include 头文件或#include:该指令指示编译器将头文件的全部内容插入此处。若用括起头文件则在系统的INCLUDE目录中

27、寻找文件,若用“”括起文件则在当前目录中寻找文件。一般来说,头文件后缀名都为.h,其中主要内容为各种变量的声明。,2.7 数据类型转换,在进行程序的开发过程中,数据类型的转换是会经常碰到的。在一个表达式当中,所有的变量必须是相同类型才能进行运算,但是在一般的表达式中很难有相同类型的变量来进行运算。因此,不同类别的变量进行运算时,C+会先将较低类型的操作数转换为较高类型的操作数再进行运算。在计算机中,数据都是用二进制位来存放的,较低类型是指存储位数较少的类型,较高类型则是指存储位数较多的类型。如定义变量int a和long b,则进行a+b的运算时,要先将a转换为long型,再与b相加。数据类型

28、的高低顺序依序为:long double、double、float、long、int、short、char。,2.8 数据的基本输入与输出,数据的基本输入与输出是程序与用户进行交互的重要手段,可以设想一下,如果一个程序既不能输入也不能输出,那么这会是个什么程序?用户什么数据都输不进去,也看不到程序的运行结果。所以处理好程序的输入输出是很重要的。C+中提供了两个基本的输入和输出的函数:cout(输出)及cin(输入)。,2.9 控 制 语 句,程序控制语句控制程序的执行过程和方向,因此是非常重要的。灵活运用各种控制语句可以轻松地完成你想要做的事情。C+中的控制语句包括条件语句、循环语句、判断和跳

29、转语句,下面具体介绍它们的用法。2.9.1 条件(选择)语句 2.9.2 循环语句 2.9.3 判断和跳转语句(转移语句),2.9.1 条件(选择)语句,C+语言支持几种基本的条件语句:if语句、ifelse语句、?:语句、switch语句。1.if语句 2.ifelse语句 3.?:条件语句 4.switch语句,返回,1.if语句,if语句用于在程序中有条件地执行某一语句序列,语法形式如下:if(表达式)执行语句;/满足表达式时执行的语句 其中表达式是一个关系或逻辑表达式,执行语句是指当表达式为真时执行,为假时跳过执行。如果执行语句包含多个语句,则必须用包围起来作为一个整体来执行。例如:如

30、果变量a大于变量b,则把a与b之和赋给变量c,其语句如下:if(ab)c=a+b;,返回,2.ifelse语句,它的一般格式是:if(表达式)执行语句1;/如果表达式为真,则执行语句1else执行语句2;/如果表达式为假,则执行语句2ifelse语句的变体结构(可以判断两种以上的情况):if(表达式1)执行语句1;/如果表达式1为真,则执行语句1else if(表达式2)执行语句2;/如果表达式2为真,则执行语句2./如果表达式i为真,则执行语句i.else执行语句n;/其他情况,则执行语句n,返回,3.?:条件语句,?:条件语句是ifelse条件语句的简化形式,其格式如下:(ab)?c:d;

31、/如果表达式ab为真,则其结果为c,否则为d,返回,4.switch语句,switch语句与ifelse的变体结构类似,都是从多种供选择的情况中选择一种执行,其语法形式为:switch(表达式)case:值1:语句段1;/如果表达式与值1相等,则执行语句段1break;case:值2:语句段2;/如果表达式与值2相等,则执行语句段2break;;/如果表达式与值i相等,则执行语句段idefault:/default语句段可以不要语句段n:/如果表达式与值n相等,则执行语句段nbreak;,返回,2.9.2 循环语句,程序结构中的重复性操作的语句可以用循环语句来完成,循环语句可以根据循环变量来执

32、行指定的次数。C+语言提供while、for、dowhile三种循环语句,它们之间的不同之处在于while和for先判断条件,再执行语句;而dowhile是先执行语句,再判断条件。这样可以看出while和for循环有可能一次都不执行,而dowhile至少执行一次。它们的共同点是当条件语句为非零时为真,而为零时则为假。这三种循环语句可以相互转换。1.while语句 2.for语句 3.dowhile循环语句,返回,1.while语句,当循环次数无法计算或者很难确定时,可以考虑用while循环语句。它的语法结构为:while(表达式)循环体语句;,返回,2.for语句,for语句通常用于处理具有固

33、定长度的数据结构,for循环语句的语法结构如下:for(表达式1)初始化部分;(表达式2)循环条件部分;(表达式3)增量部分)循环体语句;/如果是单条语句,可以省略外面的大括弧,返回,3.dowhile循环语句,dowhile也叫“直到型”循环结构,即一直执行到条件为假时退出循环。其格式为:do循环语句while(循环条件表达式);,返回,2.9.3 判断和跳转语句(转移语句),当执行该类语句时,它要改变程序的执行顺序,即不依次执行紧跟其后的语句,而跳到另一个语句处接着执行。从表面上看循环语句或条件语句也改变了程序的执行顺序,但由于整个循环可以看作一个语句(条件语句也一样),因此它们也仍然是顺

34、序执行的。C+中的转移语句有break、continue和goto语句。1.break语句 2.continue语句 3.goto语句,返回,1.break语句,break语句用于强制退出循环语句以及case语句的执行,用在while和dowhile、for循环语句中,使它们终止执行,即用于从循环体内跳出,提前结束循环。用于switchcase中则是执行对应的case语句后跳出switchcase。,返回,2.continue语句,continue语句用于while、dowhile、for循环语句中,当执行到continue语句时,终止后面的循环执行语句,直接进行循环条件语句的判断,如果为真则

35、开始下一轮循环,如果为假则终止循环。continue与break语句不同,它并不终止整个循环语句,而仅仅终止当前这一次循环的执行。,返回,3.goto语句,goto语句一般很少使用,一般有人认为大量使用goto语句会使程序的执行过程混乱且容易出错,这是对的,但是在程序中适当地使用goto语句可以使程序简单明了。如果有一个多重嵌套循环,须从最里层跳到最外层,若用break来实现,则每一层循环中都要调用break语句,很麻烦。但是如果在最里层用goto语句的话,就可以一下子跳到外面的一个标号处,并把流程跳转到该处,很方便。它的格式为:goto 语句标号,返回,2.10 指针、数组与字符串,2.10

36、.1 指针2.10.2 数组2.10.3 字符串,2.10.1 指针,在计算机中,内存储器是由若干存储单元组成的,每个存储单元均有一个惟一的编号用于标识该存储单元,该编号称为存储单元的地址。在C+中,数据是用变量存放在存储单元中的,而指针就是一个保存着某变量在内存中的存储单元中的位置变量,即指针是指向变量在内存中的地址,可以通过指针来指向变量在内存中的地址来访问和控制变量。指针的定义形式为:数据类型*指针名;,返回,2.10.2 数组,数组就是把一系列有序的相同类型的数据组合起来的数据集合。数组都有一个名字即数组名。数组中的每一个数据称为数组元素,数组元素在数组中的位置由下标确定。根据数组元素

37、下标的个数,数组分为一维数组、二维数组和多维数组。当数组元素的数据类型为字符型时,该数组称为字符数组。当数组元素的数据类型为整型时,该数组称为整型数组。,返回,2.10.3 字符串,字符串就是用一对双引号括起来的字符序列。例如“I am a student!”是一个字符串。字符串中的字符可以是能显示的字符,也可以是转义字符,如t表示跳格。在C+中,为了判断字符串是否结束,系统自动在字符串的末尾加上一个字符0,作为字符串的结束标志。如字符串“I am a student!”共15个字符,但实际上在计算机内存里占用16个存储单元。最后一个存储单元存放0,作为字符串的结束标志,所以字符串的存储空间比

38、实际的字符数要多1。注意字符串常量和字符常量是有区别的,字符串常量是用双引号括起来的字符序列,而字符常量则是用单引号括起来的单个字符,它们所占的内存空间也不同。字符串一般存放在字符数组中,字符数组就是存放字符的数组,返回,2.11 函 数,个C+程序可由一个或多个源程序文件组成,一个源程序文件可由一个或多个函数组成;函数是构成C+程序的基础,任意个C+源程序都是由若干个函数组成的。C+中的函数分为库函数与自定义函数两类,库函数是由C+系统提供的标准函数(如求一个数的绝对值可用函数:“int abs(int n);”);自定义函数是需要自己写的函数。C+中的函数是这样定义的:返回值数据类型 函数

39、名(参数表)语句;,2.12 结构、联合和枚举,2.12.1 结构2.12.2 联合体2.12.3 枚举类型,2.12.1 结构,有时候需要将不同类型的数据组合成有机整体,以方便引用这些数据。这些数据之间是相互联系的,例如,一个人的基本信息包括姓名、性别、年龄、身高、体重等;一个学生的基本信息包括学号、姓名、年龄、某些课程成绩、住址等。如果将这些数据分别存放在不同的数据变量中,就不能体现它们之间的内在联系,并且在引用这些数据时也会由于它们之间的联系不明确而变得很复杂,容易出错。可以通过使用结构体将这些不同类型的数据定义为一个特殊的数据类型,这样就能很方便地使用这些数据了。结构体是指由不同类型的

40、一组变量组成的一个数据单位,在 C和C+语言中,使用保留字struct来构造一个结构体,定义一个结构体类型的形式如下:struct 结构体名结构体成员列表,返回,2.12.2 联合体,联合体是指几个不同类型的变量共用一个内存单元的一种数据类型,这样的变量可以在一个运算中构成一个整数,在另外一个运算中构成一个实数。定义联合体类型需要用到保留字union,定义的一般形式如下:union 联合体名 成员列表变量列表,返回,2.12.3 枚举类型,在实际生活中,经常会遇到只有有限个取值的变量,例如,每一天只可能是星期一到星期天7种之间的一种,一个布袋里只有红、黄、蓝、绿、黑5种颜色的玻璃球等等。针对这

41、样的变量,可以定义其为枚举类型,即变量的值可以一一列举出来。定义枚举类型需要用到保留字enum,返回,2.13 上 机 指 导,本章讲述了Visual C+.NET的基本语法。在本次的上机指导中,将针对上述内容进行实际上机练习。主要内容为:基本的输出输入语法的使用;命名空间的引入;基本控制语句的使用;函数的使用等。2.13.1 if语句的使用 2.13.2 switch语句的使用 2.13.3 函数的使用,第3章 类 和 对 象,教学提示:类和对象是面向对象程序设计的核心概念,继承性和多态性是面向对象程序设计的重要特性,本章对Visual C+.NET中的类和对象、继承和派生、多态和虚函数、模

42、板类和模板函数进行了详细介绍。,教学目标:掌握类和对象的定义,熟悉Visual C+.NET语言中的继承机制,能熟练地通过重载、虚函数、抽象类等手段实现多态性。,3.1 类 和 对 象,类和对象是面向对象程序设计的核心,所以理解类和对象的概念是学习面向对象程序设计的关键。3.1.1 类和对象的定义 3.1.2 对象与对象的定义 3.1.3 成员变量和成员函数 3.1.4 构造函数和析构函数,3.1.1 类和对象的定义,类是一种复杂的数据类型,它是将不同类型的数据和与这些数据相关的操作封装在一起的集合体。类的定义格式一般分为说明部分和实现部分。说明部分是用来说明该类中的成员,包括数据成员的说明和

43、成员函数的说明。其中,成员函数是用来对数据成员进行操作的,又称为“方法”。实现部分是用来对成员函数的定义。类的一般定义格式如下:classpublic:private:,返回,3.1.2 对象与对象的定义,对象是类的实例。对象是属于某个已知的类。因此,定义对象之前,一定要先定义好该对象的类。对象在确定了它的类以后,其定义格式如下:其中,是要定义的对象所属类的名字,即所定义的对象是该类类型的对象。中可以有一个或多个对象,多个对象名是用逗号分隔。,返回,3.1.3 成员变量和成员函数,一个对象的成员就是该对象的类所定义的成员。对象成员有数据成员和成员函数,其表示方法如下:.或者.(),返回,3.1

44、.4 构造函数和析构函数,1.构造函数和析构函数2.默认构造函数和默认析构函数3.复制初始化构造函数,返回,1.构造函数和析构函数,构造函数和析构函数是在类体中说明的两种特殊成员函数。构造函数的功能是在创建对象时,使用给定的值来初始化对象。析构函数的功能是用来释放一个对象,在对象删除前,用它来做一些清理工作,它与构造函数的功能正好相反。,返回,2.默认构造函数和默认析构函数,在类定义过程中,如果没有定义任何构造函数,则编译器自动生成一个不带参数的默认构造函数,其格式如下::(),返回,3.复制初始化构造函数,复制初始化构造函数是一种特殊的成员函数,它的功能是用一个已知的对象来初始化一个被创建的

45、同类对象。复制初始化构造函数实际上也是构造函数,它是在初始化时被调用来将一个已知对象的数据成员值复制给正在创建的另一个同类对象。,返回,3.2 类的继承和派生,继承性是面向对象程序设计中最重要的机制。这种机制改变了过去传统的非面向对象程序设计中那种对不再适合要求的用户定义数据类型进行改写甚至重写的方法,克服了传统程序设计方法对编写出来的程序无法重复使用而造成的资源浪费。通过C+语言中的继承机制,可以扩充和完善旧的程序设计以适应新的需求,这样不仅可以节省程序开发时间和资源,并且为将来程序设计增添了新的资源。3.2.1 基类和派生类 3.2.2 单一继承 3.2.3 虚基类,3.2.1 基类和派生

46、类,通过继承机制,可以利用已有的数据类型来定义新的数据类型。所定义的新数据类型不仅拥有新定义的成员,而且还同时拥有旧的成员,则称已存在的用来派生新类的类为基类,又称为父类。由已存在的类派生派生出的新类称为派生类,又称为子类。,返回,3.2.2 单一继承,在单继承中,每个类可以有多个派生类,但是每个派生类只能有一个基类,从而形成树型结构。1.成员访问权限的控制2.构造函数和析构函数,返回,1.成员访问权限的控制,在公有继承(public)时,派生类的public、private、protected型的成员函数可以访问基类中的公有成员和保护成员;而派生类的对象仅可访问基类中的公有成员。在私有继承(

47、private)时,派生类的对象不可访问基类中的任何成员。另外使用class关键字定义类时,默认的继承方式是private。也就是说,当继承方式为私有继承时,可以省略private。在保护继承(protected)时,把继承方式public改为protected,把protected变为private成员,private不变。,返回,2.构造函数和析构函数,派生类对象的数据结构是由基类中说明的数据成员和派生类中说明的数据成员共同构成。将派生类对象中由基类中说明的数据成员和操作构成的封装体称为基类子对象,它由基类中的构造函数进行初始化。构造函数不能够被继承,因此,派生类的构造函数必须通过调用基类

48、的构造函数来初始化基类子对象。所以,在定义派生类的构造函数时除了对自己的数据成员进行初始化外,还必须负责调用基类构造函数使基类数据成员得以初始化。如果派生类中还有子对象时,还应包含对子对象初始化的构造函数。派生类构造函数的一般格式如下:():,(子对象名)();,返回,3.2.3 虚基类,引进虚基类的目的是为了解决二义性问题,其说明格式如下:virtual,返回,3.3 多态和虚函数,多态性是面向对象程序设计的重要特性之一,它与前面讲过的封装性和继承性构成了面向对象程序设计的三大特性。这三大特性是相互关联的,封装性是基础,继承性是关键,多态性是补充,而多态性又必须存在于继承的环境之中。所谓多态

49、性是指发出同样的消息被不同类型的对象接收时导致完全不同的行为。这里所说的消息主要是指对类的成员函数的调用,而不同的行为是指不同的实现。利用多态性,用户只需要发送一般形式的消息,而将所有的实现留给接收消息的对象。对象根据所接收到的消息而做出相应的动作(即操作)。函数重载和运算符重载是简单的多态性。重要的多态性是建立在虚函数的概念和方法基础上的。,3.4 上 机 指 导,在本次上机指导中,针对前面几节中的内容进行实际上机练习。其主要内容包括:类和对象使用、派生类的使用、类的多态性编程以及模板类和模板函数编程等。3.4.1 类和对象编程实例 3.4.2 派生类编程实例 3.4.3 类的多态编程实例

50、3.4.4 模板类和模板函数编程实例,第4章 Windows程序设计,教学提示:本章说明了Windows应用程序的特点,即用户图形界面、硬件无关特性及消息驱动机制,介绍了Visual C+.NET的MFC类及如何应用Visual C+.NET开发Windows程序。,教学目标:熟悉Windows应用程序的特点及流程,特别是消息驱动机制,了解MFC的基本概念,掌握应用Visual C+.NET开发Windows程序的方法。,4.1 Windows程序设计基础,Windows操作系统是由Microsoft推出的基于PC的图形操作系统。Windows应用程序具有下列几个特点:一是它的标准用户图形界面

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号