计算机C实验指导书新.docx
- 文档编号:11467394
- 上传时间:2023-03-01
- 格式:DOCX
- 页数:137
- 大小:431.77KB
计算机C实验指导书新.docx
《计算机C实验指导书新.docx》由会员分享,可在线阅读,更多相关《计算机C实验指导书新.docx(137页珍藏版)》请在冰豆网上搜索。
计算机C实验指导书新
第一部分上机实验总的目的和要求
一、上机实验目的
学习C语言程序设计课程必须重视实践环节。
即独立编写出程序,独立上机调试程序。
必须保证有足够的上机实验时间。
上机实验的目的,绝不仅是为了验证教材和讲课的内容或者验证自己所编的程序正确与否。
学习程序设计,上机实验的目的:
1、加深对讲授内容的理解,尤其是一些语法规定,光靠课堂讲授,既枯燥无味又难以记住,但它们都很重要。
通过多次上机,就能自然地、熟练地掌握。
通过上机来掌握语法规则是行之有效的方法。
2、熟悉所用的计算机系统的操作方法,也就是了解和熟悉C语言程序开发的环境。
一个程序必须在一定的外部环境下才能运行,所谓"环境",就是指所用的计算机系统的硬件和软件条件。
使用者应该了解为了运行一个C程序,需要哪些必要的外部条件(例如硬件配置、软件配置),可以利用哪些系统的功能来帮助自己开发程序。
每一种计算机系统的功能和操作方法不完全相同,但只要熟练掌握一、二种计算机系统的使用,再遇到其它的系统时便会触类旁通,很快地学会。
3、学会上机调试程序。
也就是善于发现程序中的错误,并且能很快地排除这些错误,使程序能正确运行。
经验丰富的人,当编译时出现"出错信息"时,能很快地判断出错误所在,并改正之。
而缺乏经验的人即使在明确的出错提示下也往往找不出错误而求救于别人。
计算机技术是实践性很强的技术,要求从事这一领域的人不仅能了解和熟悉有关理论和方法,还要求自己动手实现。
对程序设计来说,要求会编程序并上机调试通过。
因此调试程序本身是程序设计课程的一个重要的内容和基本要求,应给予充分的重视。
调试程序的经验固然可以借鉴他人的现成经验,但更重要的是通过自己的直接实践来累积,而且有些经验是只能"会意"难以"言传"。
别人的经验不能代替自己的经验,调试程序的能力是每个程序设计人员应当掌握的一项基本功。
因此,在实验时千万不要在程序通过后就认为万事大吉、完成任务了,而应当在已通过的程序基础上作一些改动(例如修改一些参数、增加程序一些功能、改变输入数据的方法等卜再进行编译、连接和运行。
甚至于"自设障碍",即把正确的程序改为有错的(例如用scanf函数输入变量时,漏写"&"符号:
使数组下标出界;使整数溢出等),观察和分析所出现的情况。
这样的学习才会有真正的收获,是灵活主动地学习而不是固板被动的学习。
二、上机实验前的准备工作
在上机实验前应事先做好准备工作,以提高上机实验的效率,准备工作至少应包括如下五个方面:
了解所用的计算机系统的性能和使用方法(包括C编译系统)
复习和掌握与本实验有关的教学内容
准备好上机所需的程序。
程序应书写整齐,并经人工检查无误后才能上机,以提高上机效率。
初学者切忌不编程序或抄别人程序去上机,应从一开始就养成严谨的科学作风。
对运行中可能出现的问题应事先作出估计;对程序中自己有疑问的地方,应作上记号,以便上机时给予注意。
准备好调试和运行时所需的数据。
三、上机实验的步骤
一个C源程序编写完成后,就可以进入输入、编译连接与运行的过程。
1.源程序的输入
用户编写好的C源程序只有输入进行计算机经处理后才能运行。
因此,上机运行程序的第一步是输入源程序、建立源文件。
2.编译
编译通过后,即生成相应的目标程序,它是由计算机能识别的机器代码所组成的。
3.连接
所谓连接,是指将编译生成的目标程序文件与被调用函数的目标模块进行连接,最后生成一个计算机真正能执行的可执行文件。
在连接的过程中,也要进行查错,主要是检查调用、各模块之间的联系以及存储空间等方面的错误。
如果发现有连接错误,则要对源程序进行编辑修改,然后重新进行编译和连接。
4.运行
源程序经过文件的编辑、编译和连接过程,并且无错误发生,最后生成可执行文件后,就可以运行该可执行文件,得到所需要的结果。
必须指出,编译连接过程虽然能发现源程序中的大部分语法等错误,但不能发现程序中的全部错误,特别是不能发现逻辑错误(应该实现的功能未实现)。
在这种情况下,还需要对源程序进行编辑修改,然后再进行编译连接,直到运行结果正确为止。
上机过程出现的问题,除了系统的问题外,一般应自己独立处理,不要轻易举手问老师,尤其对“出错信息“,应善于自己分析判断。
这是学习调试程序的良好机会,上机实验一般应包括以下几个步骤:
◆调出C编译系统,进入C工作环境(如TurboC集成环境,VC++6.0集成环境)
◆输入自己编好的程序(默认扩展名.C,应采用正确的指法击键)
◆检查一遍已输入的程序是否有错(包括输入时打错的和编程中的错误),如发现有错,则及时改正。
◆进行编译,生成目标文件(扩展名为.OBJ)与可执行文件(扩展名为.EXE)。
若在编译和连接过程中发现错误,屏幕上会出现“出错信息“,根据提示找到出错位置和原因,加以改正,再进行编译……直到顺利通过编译和连接为止。
◆运行程序,并分析运行结果是否合理和正确。
如果在这一步中发现有错误,则要重新调用编辑程序对源程序进行编辑修改,再进行编译、连接与运行,直到没有错误为止。
◆输出程序清单和运行结果
四、实验后应完成实验报告的填写
实验结束后,要整理实验结果并认真分析和总结,根据教师要求写出实验报告.。
实验报告一般包括如下内容:
Ø实验内容:
实验题目与要求.
Ø算法说明:
用文字或流程图说明.
Ø程序清单:
Ø运行结果:
原始数据,相应的运行结果和必要的说明.
Ø分析与思考:
调试过程及调试中遇到的问题及解决办法;调试程序的心得与体会;其他算法的存在与实践等.若最终未完成调试,要认真找出错误并分析原因等.
五、程序错误类型及测试
1程序错误的类型
为帮助同学调试程序和分析程序,下面简单介绍程序出错的种类
1、语法错误:
不符合C语言的语法规定。
1)函数、语句拼写错误(printf写为pintf)
2)括弧不匹配
3)语句最后漏了分号
2、逻辑错误:
程序无语法错误,也能正常运行,但结果不对。
这类错误可能是设计算法时的错误,也可能是算法正确而在编写程序时出现,一般较难发现,必须认真检查。
3、运行错误:
有时程序既无语法错误,又无逻辑错误,但不能正常运行或结果不对。
多数情况是数据不对,包括数据本身不合适以及数据类型不匹配。
2程序的调试(debugging)
1、程序调试的任务:
是排除程序中的错误,使程序能顺利地运行并得到预期的效果。
程序的调试阶段不仅要发现和消除语法上的错误,还要发现和消除逻辑错误和运行错误。
2、程序测试的任务:
是尽力寻找程序中可能存在的错误。
在测试时要设想到程序运行时的各种情况,测试在各种情况下的运行结果是否正确。
程序测试是程序调试的一个组成部分
3.VisualC++调试功能:
VisualC++内置了强大的调试功能。
调试发生在你已经成功地进行了编译、连接,得到了可执行程序,但是程序执行的结果不正确的情况下。
调试是修改你的代码以便它能够正确工作的过程。
DeveloperStudio提供了许多工具帮助你跟踪和定位错误。
调试系统提供特殊的菜单、窗口、对话框等来为开发者提供帮助。
Ø调试命令:
有关调试的命令分散在Build、Debug、View和Edit菜单中。
Build菜单包含一个StartDebug子菜单,其中的命令是Debug菜单命令的子集,包括:
启动调试过程(Go)、单步跟踪(StepInto)和运行到光标处(RunToCursor).当启动调试进程后,Build菜单会被Debug菜单代替,Debug菜单包含各种控制程序执行的命令,如单步执行、进入函数体、从函数体中出来、运行到光标所在位置等。
View菜单包含一些命令,可以控制显示各种与调试有关的窗口,如变量窗口(Variableswindow)、调用栈窗口(CallStackwindow)等。
Edit菜单下的Breakpoints命令可以打开一个对话框,在其中可以插入、删除、启动、停止各个断点。
Ø设置断点:
你可以控制程序直接运行到指定地点,然后查看运行到这个地方时程序的状态,如变量的值、调用栈的情况等。
你可以通过设置断点来达到这一目的。
设置断点的方式是:
将光标移到要设置断点的地方,按F9,这时会有一个红的圆点出现在代码行的左边。
如果你想取消断点,将光标移动到设置断点的代码行,按F9。
Ø启动调试:
按F5或者在Build菜单中,选择StartDebug然后选择Go,就可以启动调试程序。
程序会一直运行到需要用户输入或者有断点的代码处。
Ø查看变量值:
查看变量值有多种方式,你可以选择你喜欢的方式进行。
1)你可以将鼠标移动到程序的变量名处,系统会自动为你显示变量的值;2)复杂变量(如对象)可以通过QuickWatch查看,方法是:
将光标定位到所要查看值的变量处,按鼠标右键,选择QuickWatch菜单,就可以看到变量值。
3)启动调试程序后,屏幕下方将会出现两个输出窗口,一个是Watch,另一个是Variable。
Watch窗口显示变量名和变量值,你可以在Watch窗口中加上你想观察值的变量名,也可以直接从源代码中选择变量名,并把它拖动到Watch窗口中。
Variable窗口显示程序当前运行上下文涉及的变量的值。
Ø控制程序执行:
你可以控制程序单步执行(F10)、跟踪到一个函数内部(F11)、从一个函数运行出来(shift+F11)、运行到光标所在位置(Ctrl+F10),以便方便地调试程序。
这些命令用于在某个局部范围详细地调试程序。
你也可以通过设置断点(F9)然后用直接运行(GO或者F5)来控制程序直接运行到断点位置。
如果你设置了多个断点,程序将会在遇到的第一个断点处停下来。
要从断点处继续运行,可以用上面所说的各种命令(F5,F10,F11,Shift+F11,Ctrl+F10)。
Ø结束调试:
要结束调试,可以按shift+F5或者选择菜单Debug|StopDebugging。
当结束调试后,所有调试窗口会自动关闭,Debug菜单也会自动还原为Build菜单。
第二部分实验环境介绍
一、TurboC的使用
1.编辑一个新文件
1)按〈F10〉键激活【File】主菜单,按回车键弹出子菜单(或者按〈Alt〉+〈F〉组合键),选择子菜单【New】,(见图1),回车后进入编辑状态。
光标定位在左上角(第一行、第一列)。
图1文件菜单
2)编辑过程中,可用〈Ins〉键转换插入/改写状态和〈Del〉键删除字符。
3)按〈Ctel〉+〈Y〉组合键可删除光标所在一行。
4)按〈Ctel〉+〈N〉组合键可插入一行。
2.保存文件
按〈F10〉键并按回车(或者按〈Alt〉+〈F〉组合键),选择子菜单【Save】,按回车键后,Tc会弹出一个对话框。
用户可按自己的习惯指定文件名,然后,此源文件就以此文件名存在用户工作目录中。
如果用户指定目录路径,则文件存入用户指定的目录中。
用户可设置改变用户工作目录,方法是按〈Alt〉+〈F〉组合键,选择【Changedir】,回车后,就会弹出新目录输入框,提示用户输入自己选择的(或建立的)工作目录名,如图2。
但应注意,输入的目录必须已存在,否则,系统会报错。
图2改变用户工作目录
3.打开一个已存在的文件
按〈Alt〉+〈F〉组合键,选择【Load】,这时屏幕上会出现一个*.c的“装入文件”对话框,用户可以在此处输入要打开的文件名,或者直接按回车,则TurboC会显示当前工作目录下所有后缀为.c的文件名,可以通过光标移动键移到要打开的文件上(“..”表示到上级目录),按回车键就可进入编辑窗口,对此文件进行编辑。
文件修改完后,若要另外保存文件(原文件还将保存),可在【File】菜单下选择【Writeto】(相当于“另存为”),回车后,显示的窗口,输入要保存的文件名即可。
4.编译和连接
编辑好源程序后,应对源程序进行编译、连接。
可用以下方法中的任一种。
1)按〈F10〉键,将亮条移到【Compile】处后按回车键(或按〈Alt〉+〈C〉组合键),选择【ComplietoOBJ】,按回车键就可进行编译。
编译完成后,选择【Compile】中的【LinkEXEfile】,然后按回车键,就可以执行连接,见图3。
图3对源程序进行编译
2)按〈Alt〉+〈C〉组合键选中编译菜单,从中选择【MakeEXEfile】项,按回车键后一次完成编译和连接。
3)按〈F9〉键可一次完成编译和连接。
注意:
生成的中间文件*.obj和最终文件*.exe保存在当前工作目录和配置文件TC-CONFIG(TC的工作环境配置文件)指定的目录中。
5.运行
1)DOS环境下运行。
在DOS窗口下,输入所生成的最终输出文件名即可运行(注意路径要正确)。
2)TC集成环境下运行。
按〈F10〉键,选择【Run】(或者直接按〈Alt〉+〈R〉组合键),按回车键后,在弹出的子菜单上选择【Run】并按回车键即可运行。
3)直接按〈Ctrl〉+〈F9〉组合键即可运行。
实际上此方法是将编译、连接和运行一起完成。
注意:
此时按〈Alt〉+〈F5〉组合键可观看运行结果,按任一键可返回编辑状态。
6.确立TC工作环境
按〈F10〉键,选择【Options】主菜单后按回车键,在弹出的窗口选择【Directories】项,按回车键后又弹出的窗口。
其中:
>Includedirectories:
C:
\TC\INCLDE表示头文件的默认目录。
>Librarydirectories:
C:
\TC\LIB表示TC的库文件默认目录。
>Outputdirectory:
C:
\TC\Liq.OUT表示用户可指定自己存放*.exe和*.obj文件的目录。
>TurboCdirectory:
C:
\TC表示Install建立的默认目录。
这个用户无需改。
用户设置完成后,还应当把这些信息保存下来。
方法是选择【Options】主菜单,并按回车键后选择【Saveoptions】子菜单,再按回车键后,系统提示输入配置文件名,直接按回车键使用系统默认即可。
二、VisualC++6.0的使用
1.VisualC++简介
VisualC++是Microsoft公司的VisualStudio开发工具箱中的一个C++程序开发包。
VisualStudio提供了一整套开发Internet和Windows应用程序的工具,包括VisualC++,VisualBasic,VisualFoxpro,VisualInterDev,VisualJ++以及其他辅助工具,如代码管理工具VisualSourceSafe和联机帮助系统MSDN。
VisualC++包中除包括C++编译器外,还包括所有的库、例子和为创建Windows应用程序所需要的文档。
从最早期的1.0版本,发展到最新的6.0版本,VisualC++已经有了很大的变化,在界面、功能、库支持方面都有许多的增强。
最新的6.0版本在编译器、MFC类库、编辑器以及联机帮助系统等方面都比以前的版本做了较大改进。
VisualC++一般分为三个版本:
学习版、专业版和企业版,不同的版本适合于不同类型的应用开发。
实验中可以使用这三个版本的任意一种。
VisualC++集成开发环境(IDE)
集成开发环境(IDE)是一个将程序编辑器、编译器、调试工具和其他建立应用程序的工具集成在一起的用于开发应用程序的软件系统。
VisualC++软件包中的DeveloperStudio就是一个集成开发环境,它集成了各种开发工具和VC编译器。
程序员可以在不离开该环境的情况下编辑、编译、调试和运行一个应用程序。
IDE中还提供大量在线帮助信息协助程序员做好开发工作。
DeveloperStudio中除了程序编辑器、资源编辑器、编译器、调试器外,还有各种工具和向导(如AppWizard和ClassWizard),以及MFC类库,这些都可以帮助程序员快速而正确地开发出应用程序。
向导(Wizard)
向导是一个通过一步步的帮助引导你工作的工具。
DeveloperStudio中包含三个向导,用来帮助程序员开发简单的Windows程序,它们是:
AppWizard:
用来创建一个Windows程序的基本框架结构。
AppWizard向导会一步步向程序员提出问题,询问他所创建的项目的特征,然后AppWizard会根据这些特征自动生成一个可以执行的程序框架,程序员然后可以在这个框架下进一步填充内容。
AppWizard支持三类程序:
基于视图/文档结构的单文档应用、基于视图/文档结构的多文档应用程序和基于对话框的应用程序。
也可以利用AppWizard生成最简单的控制台应用程序(类似于DOS下用字符输入输出的程序)。
ClassWizard:
用来定义AppWizard所创建的程序中的类。
可以利用ClassWizard在项目中增加类、为类增加处理消息的函数等。
ClassWizard也可以管理包含在对话框中的控件,它可以将MFC对象或者类的成员变量与对话框中的控件联系起来。
ActiveXControlWizard:
用于创建一个ActiveX控件的基本框架结构。
ActiveX控件是用户自定义的控件,它支持一系列定义的接口,可以作为一个可再利用的组件。
MFC库
库(library)是可以重复使用的源代码和目标代码的集合。
MFC(MicrosoftFundamentalCasses)是VisualC++开发环境所带的类库,在该类库中提供了大量的类,可以帮助开发人员快速建立应用程序。
这些类可以提供程序框架、进行文件和数据库操作、建立网络连接、进行绘图和打印等各种通用的应用程序操作。
使用MFC库开发应用程序可以减少很多工作量。
2.项目开发过程
在一个集成的开发环境中开发项目非常容易。
一个用C++开发的项目的通用开发过程可以用左图表示。
建立一个项目的第一步是利用编辑器建立程序代码文件,包括头文件、代码文件、资源文件等。
然后,启动编译程序,编译程序首先调用预处理程序处理程序中的预处理命令(如#include,#define等),经过预处理程序处理的代码将作为编译程序的输入。
编译对用户程序进行词法和语法分析,建立目标文件,文件中包括机器代码、连接指令、外部引用以及从该源文件中产生的函数和数据名。
此后,连接程序将所有的目标代码和用到的静态连接库的代码连接起来,为所有的外部变量和函数找到其提供地点,最后产生一个可执行文件。
一般有一个makefile文件来协调各个部分产生可执行文件。
可执行文件分为两种版本:
Debug和Release。
Debug版本用于程序的开发过程,该版本产生的可执行程序带有大量的调试信息,可以供调试程序使用,而Release版本作为最终的发行版本,没有调试信息,并且带有某种形式的优化。
学员在上机实习过程中可以采用Debug版本,这样便于调试。
选择是产生Debug版本还是Release版本的方法是:
在DeveloperStudio中选择菜单Build|SetActiveConfiguration,在弹出的对话框中,选择所要的类型,然后选择OK关闭对话框。
VisualC++集成开发环境中集成了编辑器、编译器、连接器以及调试程序,覆盖了的开发应用程序的整个过程,程序员不需要脱离这个开发环境就可以开发出完整的应用程序。
3.运行方法
将C程序分为单文件程序和多文件程序。
下面分别介绍在VisualC++6.0系统中运行这两类程序的方法。
1.运行单文件程序
所谓单文件程序是指一个程序只由一个源文件组成,在初学C语言时,大多数情况下编写的程序都是这类程序。
编辑运行单文件程序的步骤如下:
【第1步】双击桌面上的“MicrosoftVisualC++6.0”图标,出现如图1所示的VisualC++6.0系统界面。
图1“MicrosoftVisualC++6.0”系统界面
【第2步】从File菜单中选择“New”命令,出现“New”对话框,从中选择“Files”选项卡,选择“C++SourceFile”选项,如图2所示。
图2“New”对话框
【第3步】单击右侧的“...”命令按钮(用于设置存放C程序文件的文件夹),出现如图3所示的“ChooseDirectory”对话框。
选取d:
盘中的“C实验教程”文件夹,单击“OK”命令按钮返回。
图3“ChooseDirectory”对话框
【第4步】在“File”文本框中输入“charp1_1”(表示以c1.cpp文件存放当前程序),如图4所示,单击“OK”命令按钮返回。
图4“New”对话框
【第5步】在出现的charp1_1.cpp编辑框中输入程序,如图5所示。
注意
在输入程序时要随时保存程序文件(使用“Files”菜单中的“Save”命令,或单击左上方的保存图标),以免出现意外导致程序丢失。
图5“charp1_1.cpp”编辑框
【第6步】在程序输入完毕,选择“Build”菜单中的“Compilec1.cpp”命令,在出现的所示提示框中选择“Yes”。
这样产生了charp1_1.exe可执行文件。
【第7步】选择“Build”菜单中的“Executec1.exe”命令,执行该程序。
【第8步】在执行程序中输入:
25↙执行结果为:
最大值:
5。
最后用户按任一键返回。
2运行多文件程序
所谓多文件程序是指一个程序中至少包含两个文件,可以是两个以上文件组成的一个程序。
下面以举例来说明编译连接和运行这种程序的方法。
该程序由三个文件组成:
file1.cpp文件:
#include
externvoidf1(),voidf2();
main()
{
f1();
f2();
}
file2.cpp文件:
#include
staticvoidf3()
{
printf("file2:
f3()\n");
}
voidf1()
{
printf("file2:
f1()\n");
f3();
}
file3.cpp文件:
#include
staticvoidf3()
{
printf("file3:
f3()\n");
}
voidf2()
{
printf("file3:
f2()\n");
f3();
}
运行上述程序的步骤如下:
【第1步】在某个指定的目录下创建好C++的源文件(采用1节的步骤)。
例如,在d:
\CBook\student1文件夹中建立好C++的源文件file1.cpp、file2.cpp和file3.cpp。
【第2步】创建一个新的项目文件。
方法是先选择主菜单中的“File”,在它的下拉菜单中选择“New”命令,屏幕上出现“New”对话框,选择“Projects”选项卡,在“Projectname”选框中输入所指定项目名字,如“stu”。
在“Location”选框中,输入你要建立项目文件所需的源文件所在的路径,如“D:
\C\stu”,如图9所示。
选中“Win32ConsoleApplication”选项(一定要选中此选项,表示建立控制台应用程序,即建立和TurboC运行环境相似的C程序),单击“OK”命令按钮。
图6“New”对话框的“Projects”选项卡页面
【第3步】在出现的如图10所示“Win32ConsoleAppli
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 实验 指导书