面向对象技术实验指导书1

上传人:沈*** 文档编号:80580538 上传时间:2022-04-25 格式:DOC 页数:56 大小:1.28MB
收藏 版权申诉 举报 下载
面向对象技术实验指导书1_第1页
第1页 / 共56页
面向对象技术实验指导书1_第2页
第2页 / 共56页
面向对象技术实验指导书1_第3页
第3页 / 共56页
资源描述:

《面向对象技术实验指导书1》由会员分享,可在线阅读,更多相关《面向对象技术实验指导书1(56页珍藏版)》请在装配图网上搜索。

1、面向对象技术实验指导书 (通信学院-电信工程系) 编著:黄健目 录第一章 C/C+实验基础知识31.1 C/C+语言实验环境配置31.2 Visual C+ 6.0 的使用31.2.1 Visual C+介绍31.2.2 Visual C+的安装和启动31.2.3 常用功能键及其意义41.2.4 输入和编辑源程序51.2.5 编译、连接和运行81.2.6 建立和运行包含多个文件的程序的方法131.3 Visual C+ 6.0 工程相关文件介绍201.4 Visual C+ 6.0 错误信息201.4.1 程序错误的类型201.4.2 错误信息的查询221.5 Visual C+ 6.0 调试

2、工具使用241.5.1 设置工程的调试属性241.5.2 学习设置断点进行单步调试25第二章C/C+实验要求282.1 实验的意义和目的282.2 实验过程总体要求282.2.1 实验内容总体安排282.2.2 实验前的准备工作282.2.3 上机实验步骤292.2.4 上机代码编写要求292.2.5 实验报告编写292.2.6 实验数据提交292.2.7 实验参考资料302.3 实验考核312.3.1 平时实验过程考核312.3.2 期末实验上机考试312.3.3 实验成绩评定31第三章 实验内容与指导323.1 实验一 数据类型与表达式323.2 实验二 C+程序设计初步343.3 实验三

3、 函数与程序结构363.4 实验四 类和对象403.5 实验五 继承与派生443.6实验六 多态与虚函数483.7 实验七 运算符重载50第一章 C/C+实验基础知识1.1 C/C+语言实验环境配置C/C+语言实验环境配置要求。1)硬件配置:586 以上PC 兼容机或品牌机,配有彩色显示器、鼠标、键盘,内存不小于20MB,硬盘自由空间不少于60MB。推荐配置为内存32MB 或64MB(或以上),硬盘自由空间500MB以上。2)软件配置:1、操作系统: Windows98,windows 2000,windows XP,Linux,UNIX2、集成开发环境:(1)在Windows98,windo

4、ws 2000,windows XP 系统下,主要的开发编译环境有Turbo C/C+ 3.0、Borland C+ 3.1、Microsoft Visual C+6.0、DJGPP,其中DJGPP 是GCC 在DOS/Windows 操作系统下的移植。本实验指导书使用的开发环境为Microsoft Visual C+6.0 英文版。汉化版本只是把部分菜单汉化了且用词很不准确。(2)在Linux、UNIX 系统下,采用GCC 编译环境。本实验指导书不涉及相关内容,有兴趣的同学可以自行学习。1.2 Visual C+ 6.0 的使用1.2.1 Visual C+介绍Visual C+是Micro

5、soft 公司的Visual Studio 开发工具箱中的一个C/C+程序开发包。Visual Studio 提供了一整套开发Internet 和Windows 应用程序的工具,包括Visual C+, Visual Basic,Visual FoxPro,Visual InterDev,Visual J+以及其他辅助工具,如代码管理工具Visual SourceSafe 和联机帮助系统MSDN。Visual C+包中除包括C+编译器外,还包括所有的库、例子和为创建Windows 应用程序所需要的文档。从最早期的 1.0 版本发展6.0 版本,到最新的.NET 版本,Visual C+已经有了

6、很大的变化,在界面、功能、库支持方面都有许多的增强。6.0 版本在编译器、MFC 类库、编辑器以及联机帮助系统等方面都比以前的版本做了较大改进。Visual C+一般分为三个版本:学习版、专业版和企业版,不同的版本适合于不同类型的应用开发。实验中可以使用这三个版本的任意一种。1.2.2 Visual C+的安装和启动如果你的计算机未安装 Visual C+6.0,则应先安装Visual C+6.0。Visual C+是VisualStudio 的一部分,因此需要Visual Studio 的光盘,执行其中的setup.exe,并按屏幕上的提示安装即可。安转完毕后,在Windows 的“开始”菜

7、单的程序子菜单中会出现“Microsoft visual Studio”子菜单,如图1-1 所示图 1-1 Microsoft visual Studio 启动子菜单在需要使用 Visual C+时,只需从桌面上顺序选择“开始”程序“Microsoft visual Studio”Visual C+6.0 命令即可,此时屏幕上在短暂显示VisualC+6.0 的版权页面后,出现VisualC+6.0 的由窗口、工具条、菜单、工具及其他部分组成的一个主界面。通过这个界面,用户可以创建、测试、调试应用程序。如图图 1-2 Visual C+6.0 界面1.2.3 常用功能键及其意义为了使程序员能够

8、方便快捷地完成程序开发,开发环境提供了大量快捷方式来简化一些常用操作的步骤。键盘操作直接、简单,而且非常方便,因而程序员非常喜欢采用键盘命令来控制操作。下面是一些最常用的功能键,希望在实验中逐步掌握。操作类型功能键对应菜单含义文件操作Ctrl+NFile|New创建新的文件、项目等Ctrl+OFile|Open打开项目、文件等Ctrl+SFile|Save保存当前文件编辑操作Ctrl+XEdit|Cut剪切Ctrl+CEdit|Copy复制Ctrl+VEdit|Paste粘贴Ctrl+ZEdit|Undo撤消上一个操作Ctrl+YEdit|Redo重复上一个操作Ctrl+AEdit|Selec

9、tAllDelEdit|Del删除光标后面的一个字符建立程序操作Ctrl+F7Build| Compiler current file编译当前源文件Ctrl+F5Build|Run exe运行当前项目F7Build|Build exe建立可执行程序F5Build|Start Debugging启动调试程序调试F5Debug|Go继续运行F11Debug|Step into进入函数体内部shift+F11Debug|Step out从函数体内部运行出来F10Debug|Step over执行一行语句F9设置/清除断点Ctrl+F10Debug|Runtoshift+F9Debug|QuickWa

10、tch快速查看变量或表达式的值Shift + F5Debug|Stop debugging停止调试注:这些快捷键命令都有对应的菜单和工具条按钮,如图 1.3:编译工程插入断点链接目标文件调试运行停止编译全速运行图 1-3 快捷键命令菜单与按钮1.2.4 输入和编辑源程序先介绍最简单的情况,即程序只由一个源程序文件组成,即单文件程序(有关对多文件程序的操作在本章的稍后介绍)。1、新建一个C+源程序的方法如果要新建一个 C+源程序,可采取以下的步骤:在 Visual C+主窗口的主菜单栏中选择File(文件)命令,然后选择New(新建)命令,如图1-4。这时,展幕上出现一个 New(新建)对话框,

11、单击此对话框的上方的Files(文件)属性页,在列表中选择“C+ Source File”项,表示要建立新的C+源程序文件,然后在对话框右半部分的Location(目录)文本框中输入准备编辑的源程序文件的存储路径(假设为D:VC+6.0测试程序其他测试demo),表示准备编辑的源程序文件将存存放在“D:VC+6.0测试程序其他测试demo”子目录下。在其上方的File(文件)文本框中输入准备编辑的源程序文件的名字(输入MyFirstC),如图1-5。这样,即将进行输入和编辑的源程序就以MyFirstC.cpp 为文件名存放在“D:VC+6.0测试程序其他测试demo”目录下,如图1-6。当然,

12、读者完全可以指定其他路径名和文件名。图 1-4 选择File 菜单中的New 操作C+控制台应用程序图1.5 创建工程文件图1.6 在指定的目录下建立的源文件在单击 OK 按钮后,回到Visual C+主窗口,由于在前面已指定了路径(D:VC+6.0测试程序其他测试demo )和文件名(MyFirstC.cpp),因此在窗口的标题栏中显示出MyFirstC.cpp。可以看到光标在程序编辑窗口闪烁,表示程序编辑窗口已激活,可以输入和编辑源程序了。这里输入如图1-7 窗口中所示的程序。检查无误后,则将源程序保存在前面指定的文件中,方法是:在主菜单栏中选择File(文件)命令,并在其下拉菜单中选择S

13、ave(保存)命令。也可以用快捷键Ctrl+S 来保存文件。如果不想将源程序存放到原先指定的文件中,可以不选择Save 命令,而选择Save As(另存为)命令,并在弹出的Save As(另存为)对话框中指定文件路径和文件名。1.7 C+程序的输入2、打开一个已有的程序如果你已经编辑并保存过 C+源程序,而希望打开你所需要的源程序文件,并对它进行修改,方法是:(1)在“资源管理器”或“我的电脑”中按路径打到已有的C+程序名(如C1-1.cpp)。(2)双击此文件名,则进入Visual C+集成环境,并打开了该文件,程序已显示在编辑窗口中。也可以用Ctrl+O 或单击工具栏中的小图标来打开文件。

14、(3)如果修改后仍想保存在原来的文件中,可以选择File(文件)Save(保存)命令,或用快捷键Ctrl+S,或单击工具栏中的小图标来保存文件。3、通过已有的程序建立一个新程序的方法如果你已编辑并保存过 C+源程序(而不是第一次在该计算机上使用Visual C+)的话,则可以通过一个已有的程序来建立一个新程序,这样做比重新输入一个新文件省事,因为可以利用原有程序的部分内容。方法是:(1)打开任何一个已有的源文件,(例cl-1.cpp)(2)利用该文件的基础修改成新的文件然后通过选择File(文件)Save as(另存为)命令将它以另一文件名另存(如以test.cpp 名字另存),这样就生成了一

15、个新文件test.cpp。用这种方法很方便,但应注意:(1)保存新文件时,不要错用FileSave(保存)操作,否则原有文件(cl-1.cpp)的内容就被修改了。(2)在编译新文件前,应先选择File(文件)Close Workspace(关闭工作区)命令将原有的工作区关闭,以免新文件在原有的工作区进行编译。1.2.5 编译、连接和运行1、程序的编译在编辑和保存了源文件以后,需要对该源文件进行编译。单击主菜单栏中的 Build(编译),在其下拉菜单中选择Compile MyFirstC.cpp(编译MyFirstC.cpp)命令。由于建立(或保存)文件时已指定了源文件的名字MyFirstC.c

16、pp,因此在Build 菜单的Compile 命令中显示了现在要编译的源文件名MyFirstC.cpp。见图1-8:1.8 编译C+程序在选择“编译”命令后,如果屏幕上出现一个对话框,内容是“This build command repuiresan active project workspace.Would you like to creat a default project workspace?”(此编译命令要求一个有效的项目工作区。你是否同意建立一个默认的项目工作区),见图1-9。单击Yes(是)按钮,表示同意由系统建立默认的项目工作区,然后开始编译。也可以不用选择菜单的方法,而用C

17、trl+F7 或小图标来完成编译。图 1-9 建立默认工作区提示在进行编译时,编译系统检查源程序中有无语法错误,然后在主窗口下部的调试信息窗口输出编译的信息,如果有错,就会指出错误的位置和性质,见图1-10。1.9 编译错误提示信息2、程序的调试程序调试的任务是发现和改正程序中的错误,使程序能正常运行。编译系统能检查出程序中的语法错误。语法错误分两类:一类是致命错误,以error 表示,如果程序中有这类错误,就通不过编译,无法形成目标程序,更谈不上运行了。另一类是轻微错误,以warning(警告)表示,这类错误不影响生成目标程序和可执行程序,但有可能影响运行的结果。因此也应当尽量改正,使程序既

18、无error,又无warning。在图 1-10 中的调试信息窗口中可以看到编译的信息,指出源程序有一个error 和一个warning。第7 行有致命错误,错误的种类是:在“”之前漏了“;”。检查图1-10 中的程序,果然发现在第6 行末漏了分号。同学们可能要问:明明是第6 行有错,怎么在报错时说成是第7 行的错呢?这是因为C+允许将一个语句分写成几行,因此检查完第6 行末尾无分号时还不能判定该语句有错,必须再检查下一行,直到发现第7 行的“”前都没有“;”,才能判定出错。因此在第7 行报错。在根据编译报错信息检查程序时,应检查其上下行。此外编译信息指出第7 行还有一个warning,指出m

19、ain 函数需要有一个返回值,程序中缺少一个“return 0;”语句。进行改错时,双击调试信息窗口中的某个报错信息的第1 行,光标就自动移到程序窗口中被报错的程序行,并用粗箭头指向该行。见图1-11图 1-11 发现错误位置根据提示信息: “error C2065: printf : undeclared identifier”,判断没有加入预编译头文件:”stdio.h”,信息“error C2065: cout : undeclared identifier”,没有加入头文件”iostream.h”.修改后如图1.12所示,增加编译头文件stdio.h和iostream.h图1.12 错

20、误修改再选择 Compile MyFirstC.cpp 命令重新编译,此时编译信息提示:“0 error(s),0warning(s)”,即没有致使错误(error)和警告性错误(warning),编译成功,这时产生一个MyFirstC.obj 文件。见图1-13 中的下部调试信息窗口。图1.13 语法编译通过3、程序的连接在得到目标程序后,就可以对程序进行连接了。此时应选择 Build(构建)BuildMyFirstC.exe(构建MyFirstC.exe)命令,见图1-14。表示要求连接并建立一个可执行文件MyFirstC.exe。图 1-14 连接建立可执行文件在执行连接后,在调试输出窗

21、口显示连接时的信息,说明没有发现错误,生成了一个可执行文件MyFirstC.exe。见图1-15。图 1-15 可执行文件建立成功以上介绍的是分别进行程序的编译与连接,也可以选择Build命令(或按F7 键)一次完成编译与连接。对于初学者来说,还是建议分步进行程序的编译与连接,有利于对程序编译、解释、连接过程的理解。今后积累一定经验后,可以一步完成编译与连接。4、程序的执行在得到可执行文件MyFirstC.exe 后,就可以直接执行MyFirstC.exe 了。选择Build!Execute test.exe(执行MyFirstC.exe)命令。见图1-16。图 1-16 运行程序可执行文件在

22、选择“!Execute test.exe”命令后,即开始执行MyFirstC.exe。也可以不通过选择菜单命令,而且Ctrl+F5 来实现程序的执行。程序执行后,屏幕切换到输出结果的窗口,显示出运行结果,见图1-17。图 1-17 程序运行结果可以看到,在输出结果的窗口中的第 1 行是程序的输出结果:C语言方式的打印输出hello! C+语言方式的打印输出!第2 行“Press any key to continue”并非程序所指定的输出,而是Visual C+在输出完运行结果后由Visual V+6.0 系统自动加上的一行信息,通知用户“按任何一键以便继续”。当你按下任何一键后,输出窗口消失

23、,回到Visual C+的主窗口,你可以继续对源程序进行修改补充或进行其他工作。如果已完成对一个程序的操作,不再对它进行其他处理,应当选择File(文件)CloseWorkspace(关闭窗口)命令,以结束对该程序的操作。1.2.6 建立和运行包含多个文件的程序的方法上面介绍的是最简单的情况,一个程序只包含一个源程序文件。如果一个程序包含多个源程序文件,则需要建立一个项目文件(project file),在这个项目文件中包含多个文件(包括源文件和头文件)。项目文件是放在项目工作区(Workspace)中并在项目工作区的管理之下工作的,因此需要建立项目工作区,一个项目工作区可以包含一个以上的项目

24、。在编译时,先分别对每个文件进行编译,然后将项目文件中的文件连接成为一个整体,再与系统的有关资源连接,生成一个可执行文件,最后执行这个文件。在实际操作时有两种方法:一种是由用户建立项目工作区和项目文件;另一种是用户只建立项目文件而不建立项目工作区,由系统自动建立项目工作区。1、由用户建立项目工作区和项目文件(1)、先用前面介绍过的方法分别编辑好同一程序中的各个源程序文件,并存放在自己指定的目录下,例如有一个程序包括filel.cpp 和file2.cpp 两个源文件,并已把它们保存在“D:计算机0501-20060405-张三实验一”子目录下。(2)、建立一个项目工作区。在如图1-4 所示的V

25、isual C+主窗口中选择File(文件)New(新建)命令,在弹出的New(新建)对话框中选择上部的选择属性页Workspace name(工作区名字),表示要建立一个新的项目工作区。在对话框中右部Workspace name(工作区名字)文本框中输入你指定的工作区的名字(如wsl),见图1-18。图 1-18 建立工作区然后单击右下部的 OK 按钮。此时返回Visual C+主窗口,见图1-19。可以看到在左部的工作区窗口中显示了“Workspace ws1:0 project(s)”,表示当前的工作区名是wsl,其中有0 个project(没有在其中放入项目文件)。(3)、建立项目文件

26、。选择File(文件)New(新建)命令,在弹出的New(新建)对话框中选择上部的选择属性页Projects(项目,中文Visual C+把它译为“工程”),表示要建立一个项目文件。见图1-20。在对话框中左部的列表中选择“Win32 Console Application”项,并在右部的location(位置)文本框中输入项目文件的位置(即文件路径),在Project name(中文界面中显示为“工程”)文本框中输入你指定的项目文件名,假设输入projectl。在窗口右部选中Add to current workspace(添加至现有工作区)单选钮,表示新建的项目文件是放到刚才建立的当前工作

27、区中的。然后单击OK(确定)按钮。此时弹出一个如图1-21 所示的对话框,在其中选中An empty project 单选钮,表示新建立的是一个空的项目。单击 Finish(完成)按钮。系统弹出一个New Project Information(新建工程信息)对话框(图1-22),显示了刚才建立的项目的有关信息。在其下方可以看到项目文件的位置(文件路径)。确认后单击OK(确定)按钮。此时又回到Visual C+主窗口,可以看到:左部窗口中显示了“Workspacewsl:1project(s)”其下一行为“project1 files”,表示已将项目文件project1 加到项目工作区wsl

28、中,见图1-23。图 1-19 一个空的工作区图 1-20 建立一个新的项目图 1-22 新建项目的信息图 1-23 工作区中加入一个新项目(4)、将源程序文件放到项目文件中。方法是:在Visual C+主窗口中依次选择Project(工程)Add To Project(添加到项目中,在中文界上显示为“添加工程”)“Files”命令,见图1-24。图 1-24 文件加入到项目中在选择“Files”命令后,屏幕上出现Insert Files into Project 对话框。在上部的列表框中按路径找到源文件file1.cpp 和file2.cpp 所在的子目录,并选中file1.cpp 和fil

29、e2.cpp。单击 OK(确定)按钮,就把这两个文件添加到项目文件project1 中了。(5)、编译和连接项目文件。由于已经把file1.cpp 和file2.cpp 两个文件添加到项目文件project1 中,因此只须对项目文件project1 进行统一的编译和连接。方法是:在Visua1 C+主窗口中选择Build(编译)Build project1.exe(构建project1.exe)命令。在选择 Build project1.exe 命令后,系统对整个项目文件进行编译和连接,在窗口的下部会显示编译和连接的信息。如果程序有错,会显示出错信息,如果无错,会生成可执行文件project1

30、.exe。见图1-25。图 1-25 项目的编译和连接执行可执行文件。选择 Build(编译)Execute project1.exe(执行project1.exe)命令,即可。2、用户只建立项目文件上面介绍的方法是先建立项目工作区,再建立项目文件,步骤比较多。可以采取简化的方法,即用户只建立项目文件,而不建立项目工作区,由系统自动建立项目工作区。在本方法中,保留上一节中介绍的第(1)、(4)、(5)、(6)步,取消第(2)步,修改第(3)步。具体步聚如下:(1)分别编辑好同一程序中的各个源程序文件。同上一节中的第(1)步。(2)建立一个项目文件(不必先建立项目工作区)。在 Visual C+

31、主窗口中选择File(文件)New(新建)命令,在弹出的New(新建)对话框中选择上部的选项卡projects(项目),表示要建立一个项目文件。见图1-26。在对话框中左部的列表中选择“Win32 Console Application”项,在project name(中文Visual C+中显示为“工程”)文本框中输入你指定的项目文件名(project1)。可以看到:在右部的中间单选钮处默认选定了Create new workspace(创建新工作区),这是由于用户未指定工作区,系统会自动开辟新工作区。图 1-26 建立一个新的Win32 Console Application 项目图 1-

32、27 建立新项目成功单击 OK(确定)按钮,出现“Win32 Console Application-step 1 of 1”对话框,选中右部的An empty project 单选钮,单击Finish(完成)按钮后,出现“New project information”(新建工程信息)消息框。从它的下部可以看到项目文件的路径。单击OK(确定)按钮,在弹出的Visual C+ 主窗口的左部窗口的下方单击File View 按钮, 窗口中显示“Workspaceproject1:1 project(s)”,见图1-27。说明系统已自动建立了一个工作区,由于用户未指定工作区名,系统就将项目文件名p

33、roject1 同时作为工作区名。向此项目文件添加内容。步骤与方法一中的第(4)步相同。编译和连接项目文件。步骤与方法一中的第(4)步相同。执行可执行文件。步骤与方法一中的第(6)步相同。显然,这种方法比前一种方法简单一些。在介绍单文件程序时,为了尽量简化手续,这里没有建立工作区,也没有建立项目文件,而是直接建立源文件,实际上,在编译每一个程序时都需要一个工作区,如果用户未指定,系统会自动建立工作区,并赋予它一个默认名(此时以文件名作为工作区名1.3 Visual C+ 6.0 工程相关文件介绍序号 文件名 描述1 *.dsw VC 工作区文件2 *.dsp (Developer Studio

34、 Project)项目文件,文本格式。不熟悉的话不要手工修改3 *.ncb 无编译浏览文件。当自动完成功能出问题时,可以删除此文件,编译工程后会自动生成。4 *.opt 工程关于开发环境的参数文件,如VC 工具条位置信息等。5 *.h C/C+程序头文件,可用文本编辑器打开6 *.cpp C+源程序文件,可用文本编辑器打开7 *.exe 程序可执行文件8 *.plg 编译信息文件。编译时的error 和warning 信息文件(实际上是一个html文件),一般用处不大。在Tools􀃆Options􀃆Build 里面的选项可以控制这个文件的生成。9 *.pch

35、 (Pre-Compiled File)是预编译文件。可以加快编译速度,但是文件非常大10 *.pdb (Program Database)记录了程序有关的一些数据和调试信息,在调试的时候有用11 *. obj 源程序文件的目标文件,编译后生成12 *. ilk 源程序文件的连接文件,连接后生成注:在 VC 下建立一个工程后,会自动产生14 类型的文件。加入*.h、*.cpp 文件编译后产生712 类型的文件。其中812 类型的文件位于工程目录下的Debug 目录下。1-4 类型的文件都是工程相关的文件,一般不要删除,因为删除后,必须手动的重新建立工程(1.2.6 详细描述了如何建立一个工程)

36、。对于大型项目来说,删除这些文件的后果很严重。56 类型的文件还有什么可说的,不仅不能删除这些文件,还要备份这些文件。失去这些文件是灾难性的。712 类型的所有文件都是可以删除的,因为再次编译连接运行程序时,会再次自动生成这些文件。1.4 Visual C+ 6.0 错误信息1.4.1 程序错误的类型1、严重错误(fatal error)很少出现,通常是内部编译器出错。造成编译立即停止。2、语法错误(error)语法错误是指源程序中存在不符合C/C+语言语法规定的语句,例如将int 写成Int,括号不匹配等。这些错误不改正是不能通过编译的。如图1-28图 1-28 语法错误3、警告错误(war

37、ning)对于一些在语法上有轻微毛病但不影响程序运行的错误(如定义了变量但始终未使用),编译时会发出警告信息,虽然程序能通过编译、连接、运行,但警告类的错误常常带来程序非法操作、运行错误等问题。所以,尽量改正警告错误。如图1-29图 1-29 警告错误4、连接错误(Link error)程序语法上没有问题,但是在连接时出现错误。这类问题常常是因为程序依赖函数、库不匹配造成的。如图1-30图 1-30 连接错误5、逻辑错误逻辑错误是指程序无语法错误,也能正常运行,但结果不对。这类错误常常是设计算法时的错误,计算机无法检查出来。逻辑错误是最难改正的错误之一,引起错误的原因往往可能很不起眼,比如就是

38、一个变量没有初始化等,所以改正这类错误常常需要投入大量的精力。6、运行错误有时程序既无语法和逻辑错误,但是程序就是不能正常运行。多数情况下是输入数据和程序要求的数据不匹配造成的,也可能是系统的支持问题。在 C+中,语法、连接错误相对较为容易改正。而逻辑错误是最隐蔽的错误,比较难以改正。运行错误则主要是在程序强壮性、兼容性上可能存在问题,可以通过提高程序的适应能力来修正。而最容易让程序开发人员忽略的就是警告错误了,因为警告错误不一定会影响程序的运行,但是正是这种不确定性也传递给了程序的执行,你不知道程序什么时候会出问题,也许永远不会有问题,也许问题马上出现,也许问题n 年后出现,谁知道。所以,一

39、定要重视警告错误。表 1-1 是C+错误的前缀描述,在遇到错误时可以根据其前缀就知道错误等级了。表1-1 C+错误的前缀描述错误等级错误前缀错误编号范围示例严重错误C1001999编译错误C2001999error C2065: Int : undeclared identifier(标识符,比如一个变量,未申明)。如图1-28,Int 没有申明过。警告错误C4001999warning C4101: i : unreferenced local variable(局部变量申明后从未使用过)。如图1-29,其中的i 变量从未使用过。链接错误LNK10006026LNK2001: unresol

40、ved external symbolsymbol. (连接指定的函数或库异常)。如图1-31,程序找不到main 函数。1.4.2 错误信息的查询只有详细地了解了错误的原因,才能正确地改正错误。Microsoft 的MSDN Library(Microsoft 开发帮助文档库,如图1-31)提供了查询错误信息的功能。对于遇到的不明白的错误,同学们应该学习使用MSDN 帮助文档库进行错误信息查询,获得错误信息的解释和可能的改正方法。具体方法如下:(1)选择MSDN Library(如图1-31)的索引属性页,在“键入要查找的关键字:”中输入错误号(由错误前缀和编号组成),比如输入C2065,如

41、图1-32 所示。图 1-31 MSDN Library图 1-32 在MSDN Library 中查找错误信息(2)、在索引列表框中双击选择匹配的错误后,错误类型、可能原因、改正方法等信息则显示在窗口的右边部分。如图1-32 所示:1.5 Visual C+ 6.0 调试工具使用在开发程序的过程中,需要不断地调试自己的程序,或检查错误,或测试程序的稳定性,这就需要借助调试工具来进行。选择一个好的调试工具并能够熟练地使用它,将会使程序开发变得更加容易,从而大大提高程序开发的效率。目前有许多调试工具,集成在 Visual C+中的调试工具便具有相当强大的功能。1.5.1 设置工程的调试属性在 V

42、isual C+中建立一个工程(Project)时,Visual C+都会自动创建一个Debug 目录,在该目录下存放在开发过程进行调试时生成的文件以及生成的可执行文件(不同类型文件的解释见1.3 节 Visual C+ 6.0工程相关文件介绍),不妨将此时生成的可执行文件称为Debug版本。在Debug 版本当中,包含着Microsoft 格式的调试信息,而且不进行任何代码优化。一般情况下,在程序的开发过程中使用Debug 模式。在应用程序开发完成之后,要将程序发行时,需要编译形成另一种版本的可执行文件,称为Release 版本,在Release 版本中对可执行程序的二进制代码进行了优化,其

43、中不包含任何的调试信息。要建立Release 版本的可执行文件,可以选择菜单Project 中的Setting 命令,这时屏幕上面弹出Project Settings 对话框,如图1-33 所示。在Settings For 下拉列表中选择Release,按OK 按钮退出。如果要在 Visual C+中调试程序,则工程的应设为Debug 版本。一般Visual C+建立一个工程(Project)时,默认采用Debug 版本。图 1-33 设置工程的调试属性1.5.2 学习设置断点进行单步调试通常,一个应用程序是连续运行的,但是在程序调试的过程中,往往需要在程序的运行过程的某一阶段来观测应用程序的

44、状态,所以必须使程序在某一地点停下来。在Visual C+中,可以通过设置断点来达到这样的目的。在设置好断点之后,当程序运行到设立断点处时就停止运行,此时就可以利用各种工具来观察程序的状态,也可以设置各种条件使程序按要求继续运行,这样就可以进一步观测程序的流向。在 Visual C+中,可以设置多种类型的断点,这些断点起作用的方式各不相同,可以将它们分为三类,即:位置断点、逻辑断点以及与Windows 消息有关的断点。下面我们只介绍简单位置断点的设置方法,其它高级断点的设置可以在今后进一步学习中掌握。1、设置位置断点位置断点,这是一类最简单的断点类型,其设置方法也最为简单,只要把光标移到要设断

45、点的位置(当然这一行必须包含一条有效语句);然后按工具条上的add/remove breakpoint按钮或按快捷键F9;如图1-34:图 1-34 设置断点按钮这时将会在屏幕上看到在这一行的左边出现一个红色的圆点,表示在该位置设立了一个断点,如图1-35 所示。如果你想取消断点,将光标移动到设置断点的代码行,按F9。2、启动调试按 F5 或者在Build 菜单中,选择Start Debug 然后选择Go,就可以启动调试程序。程序会一直运行到需要用户输入或者有断点的代码处。如图1-37 处的小黄箭头,表明程序运行到该处停止下来,等待下一步调试命令。3、查看变量值查看变量值有多种方式,你可以选择

46、你喜欢的方式进行。(1)你可以将鼠标移动到程序的变量名处,系统会自动为你显示变量的值;(2)复杂变量(如对象)可以通过QuickWatch 查看,方法是:将光标定位到所要查看值的变量处,按鼠标右键,选择QuickWatch 菜单,就可以看到变量值。(3)启动调试程序后,屏幕下方将会出现两个输出窗口,一个是Watch,另一个是Variable。Watch 窗口显示变量名和变量值,你可以在Watch 窗口中加上你想观察值的变量名,也可以直接从源代码中选择变量名,并把它拖动到Watch 窗口中。Variable 窗口显示程序当前运行上下文涉及的变量的值。如图 1-37:图 1-35 设置一个断点图

47、1-36 启动调试图 1-37 查看变量数据4、控制程序执行你可以控制程序单步执行(F10)、跟踪到一个函数内部(F11)、从一个函数运行出来(shift+F11)、运行到光标所在位置(Ctrl+F10),以便方便地调试程序。这些命令用于在某个局部范围详细地调试程序。你也可以通过设置断点(F9)然后用直接运行(GO 或者F5)来控制程序直接运行到断点位置。如果你设置了多个断点,程序将会在遇到的第一个断点处停下来。要从断点处继续运行,可以用上面所说的各种命令(F5, F10, F11, Shift+F11,Ctrl+F10)图 1-38 调试控制工具条5、结束调试要结束调试,可以按 shift+

48、F5 或者选择菜单Debug|Stop Debugging。当结束调试后,所有调试窗口会自动关闭,Debug 菜单也会自动还原为Build 菜单。第二章C/C+实验要求2.1 实验的意义和目的程序设计是计算机专业的本,计算机专业大量的理论和实践学习,比如,从数据结构、面向对象程序设计、操作系统到毕业设计,都会用到程序设计,而C+程序设计语言则是进行程序设计的基础工具。正如我们在学习语言时,不能仅仅停留在“听得懂”,而要学会能说会道,才能有效地和别人进行交流。类似的,学习C+程序设计不能仅满足于“懂得了”,满足于了解语法和能看懂书上的程序,而应当掌握程序设计的全过程,即能独立编写源程序,独立调试

49、运行程序,独立分析运行结果,学会利用C+程序设计语言和计算机进行交流。程序设计是一门实践性很强的课程,必须以实践为重,许多实践知识不是靠听课和看书学到的,而是通过长时间的实践积累起来的,切忌只看书,不上机实践。不仅要纸上谈兵,更要沙场比试。正是如此,C+实验给同学提供了一个实践的机会。C+实验的目的,绝不仅是为了验证教材和讲课的内容,或者验证自己所编写的程序正确与否。其目的更在于:1、加深对讲授内容的理解,尤其是一些语法规定,光靠课堂讲授,不足于掌握理解。通过多次上机,就能自然地、熟悉地掌握,所谓熟能生巧。2、熟练掌握并使用C+程序开发的环境。3、学会独立调试和运行程序。任何程序都不是一蹴而就

50、的,需要多次的更改调试,对初学者来说更是如此。因此,要在调试过程中积累经验,再利用经验高效、快速地调试程序。调试程序的能力是每个程序设计人员应当掌握的一项基本功。4、养成良好的编程习惯,编写良好风格的代码。编写程序应遵循良好的编程规范,使程序具有良好的可读性、可维护性。正如写文章一样,不仅要写得一手好字,更要格式规范,段落分明,思路清晰。5、培养独立编写程序的能力。程序设计最终的目的是使用计算机解决实际问题,问题是什么,如何解决,解决方法是什么,如何编写程序解决问题才是核心。因此,在做实验的时候应多问为什么,多观察,多分析,多动手。2.2 实验过程总体要求2.2.1 实验内容总体安排2.2.2

51、 实验前的准备工作1、预习、思考实验内容;2、复习和掌握与本实验有关的知识内容;3、准备好上机所需的程序代码。实验课内时间主要是解决问题、调试程序、运行程序、测试程序和分析结果的时间。切忌不编写程序或抄袭别人程序去上机;4、填写实验报告中的如下内容:一、实验目的二、实验内容 1-4 点5、对程序中自己有不懂或疑问的地方,应做出记录,以便在实验课上集中解决;6、准备好调试和运行所需的数据;2.2.3 上机实验步骤上机实验时应该是一人一组,独立上机。上机过程中出现的问题,尽量先独立思考和解决,尤其是语法错误问题,应善于独立分析判断,这是提高程序调试能力最主要的途径;对于难以解决的问题可以和同学交流

52、或问老师。具体的上机步骤是:1、在磁盘上建立自己的工作目录,比如D:张三C+实验实验一2、进入C+工作环境,如Visual C+ 6.0 集成开发环境;3、输入自己编好的程序;4、检查输入是否有错;5、编译和连接。如果出现错误,首先记录错误信息,然后根据提示的出错信息查找出错位置和原因,加以改正。再进行编译,如此反复直到正确编译和连接为止通过为止。6、运行程序,输入测试数据,记录程序运行结果;7、分析结果是否正确,并改进程序;2.2.4 上机代码编写要求1、认真阅读参考资料华为编程规范和范例;2、实验代码书写规范清晰,如缩进、空行、程序块对齐等;3、书写的代码有必要的注释;注意:代码的规范性将

53、作为实验(过程和期末)考核的一个重要部分2.2.5 实验报告编写实验后,应及时整理出实验报告,实验报告提交电子文档,实验报告具体内容见附录A实验报告。2.2.6 实验数据提交1、提交内容每次实验需要提交的数据主要有以下几项:(1)、实验报告:严格按照附录A 给出的格式完成实验报告。(2)、实验代码:实验代码必须规范编写,不良代码不予接收。(3)、实验可执行文件2、提交方法每次实验的数据均需要按时提交到指导教师指定的服务器上。提交的方法如下:(1)、把实验的内容(见1)统一放入一个文件夹中。文件夹以学生的班级、学号、姓名组合命名,比如:计算机-20060405-张三。如下图2-1:图 2-1 实

54、验数据整理(2)、把(1)整理的个人实验数据文件夹提交到服务器,具体服务器由指导教师根据实验室环境情况确定。2.2.7 实验参考资料1 华为编程规范2 林锐. 高质量C+C 编程指南. 2001, 73 谭浩强. C+ 程序设计. 北京:清华大学出版社. 20044 谭浩强. C+程序设计题解与上机指导. 北京:清华大学出版社. 20042.3 实验考核2.3.1 平时实验过程考核平时实验过程考核主要是三个方面:1、上机实验考勤。每次上机应主动在指导老师处签到,冒签等不诚信行为一旦发现,取消本次实验成绩。累计缺席实验课5 次及5 次以上者(共16 课),取消期末实验上机考试资格。2、实验数据提

55、交。应根据指导教师要求按时提交每次实验的数据(不知道提交什么?见2.2.6 实验数据提交)。抄袭代码或实验报告等不诚信行为一旦发现,取消本次实验成绩。实验数据未交5 次及5 次以上者(共13 个实验),取消期末实验上机考试资格。3、指导教师每次实验课根据实验过程情况,随机抽查510 名同学进行当次实验的答辩。4、实验课请假,请出据学办老师签字的正规请假条。2.3.2 期末实验上机考试C+程序设计语言实验期末考试方式为:上机考试。题目总量34 道,类型主要有以下三类:1、程序改错题12 道。主要考核程序语法错误改正、程序调试能力;2、面向过程程序设计12 道。主要考核利用在实验17 中学习到的结

56、构化方法进行程序设计;3、面向对象程序设计12 道。主要考核利用在实验813 中学习到的面向对象方法进行程序设计;分值分布:1:20%30% ; 2:70%80%2.3.3 实验成绩评定面向对象程序设计实验期末考核成绩将兼顾平时实验过程考核成绩和期末实验上机考试成绩。以期末实验上机考试成绩为主,平时实验过程考核为辅。第三章 实验内容与指导3.1 实验一 数据类型与表达式3.1.1 实验类型:验证型实验 2 学时3.1.2 实验目的1、熟悉并学习使用C+程序编译平台VC6.0;2、掌握如何在编译平台下编辑、编译、连接和运行一个简单的C+程序;3、掌握C+语言基础数据类型,熟悉变量定义和赋值方法;

57、4、学会使用C+算术运算符和算术表达式;3.1.3 知识点介绍1、C+程序的结构。一个 c+程序有多个程序单位构成,每一个程序单位作为一个文件,编译系统分别对每个程序文件分别编译,然后连接起来形成可执行程序。在一个程序单位中包含以下几部分:预处理命令,全局声明部分,函数(有函数首部和函数体组成),一个C+必须有一个(而且只能有一个)main()函数。2、C+数据类型和表达式C+有多种数据类型,数据类型隐含着该类数据的表示、存储及处理规则。C+运算符丰富,使用十分灵活。有运算符和括号将运算对象(操作数)连接起来,构成表达式。表达式中混合运算式要注意运算符的优先级和结合性。此外,不同数据类型运算时

58、,存在类型转换(隐式自动转换和强制转换)。3、C+程序的编写实现用 C+语言编写程序对源程序文件进行编译声称目标文件对目标文件连接形成可执行程序运行程序得到结果分析结果。3.1.4 实验内容题目1 最简单的C+程序按提示的操作步骤,输入下面程序代码,编译连接并执行。实验提示1、按照1.2.4、1.2.5 节操作步骤创建第一个应用:(1)编辑你的第一个C+源程序(2)保存你的源文件(3)编译、连接得到可执行程序(4)改正源程序中的错误(5)运行你的第一个程序2、你可以有三种方式运行你的程序:(1)在开发环境中运行程序选择 Build|Execute hello.exe(或者Ctrl+F5),在开

59、发环境中执行你的程序。程序运行以后将显示一个类似于DOS 的窗口,在窗口中输出一行“ C语言方式的打印输出hello! C+语言方式的打印输出!”,紧接着在下面显示“Press anykey to continue”,这句话是系统提示你按任意键退出当前运行的程序,回到开发环境中。按任意键,窗口关闭,退回到Visual C+开发环境。我们实验中将用这种方式运行程序。(2)在DOS 环境下运行程序打开 DOS 窗口,改变工作路径到项目目录,该目录是你在创建目录时指定的。如果你不记得了,可以在Developer Studio 中的工作区窗口中选择项目名称(这里是“hello files”),然后选择

60、菜单View|Properties,将可以显示出项目路径。切换到 debug 子目录下,运行hello.exe,程序将输出:C语言方式的打印输出hello! C+语言方式的打印输出!。(3)在Windows 环境下运行程序打开 Windows 的资源管理器,找到程序所在的目录,运行它。你看到的结果是怎样的?思考与扩展1、如果程序中大小写输入错误如main 写成Main,结果会怎样?2、编译运行通过后,本程序输出了两行字符串,如果还想输出一行字符串:its too easy! 程序代码该如何修改添加?提示:注意使用换行控制符 n或输出控制符endl。题目2 简单应用求圆柱体的体积输入下面程序代码,编译运行。实验提示按照第一题的操作步骤新建工程,输入代码,编译连接,执行程序,输入测试数据分析结果是否正确,如有错误改正后再重新编译连接,直到没有错误为止。在输入代码的过程中要细心,注意中西文输入法的区别。测试数据运行时输入:5 8-2 1思考与扩展1、#define PI 3.1415

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!