计算机C实验指导书.pdf

上传人:奔*** 文档编号:89826316 上传时间:2023-05-13 格式:PDF 页数:84 大小:12.92MB
返回 下载 相关 举报
计算机C实验指导书.pdf_第1页
第1页 / 共84页
计算机C实验指导书.pdf_第2页
第2页 / 共84页
点击查看更多>>
资源描述

《计算机C实验指导书.pdf》由会员分享,可在线阅读,更多相关《计算机C实验指导书.pdf(84页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第一部分 上机实验总的目的和要求一、上机实验目的学习C语言程序设计课程必须重视实践环节。即独立编写出程序,独立上机调试程序。必须保证有足够的上机实验时间。上机实验的目的,绝不仅是为了验证教材和讲课的内容或者验证自己所编的程序正确与否。学习程序设计,上机实验的目的:1、加深对讲授内容的理解,尤其是些语法规定,光靠课堂讲授,既枯燥无味又难以记住,但它们都很重要。通过多次上机,就能自然地、熟练地掌握。通过上机来掌握语法规则是行之有效的方法。2、熟悉所用的计算机系统的操作方法,也就是了解和熟悉C语言程序开发的环境。一个程序必须在一定的外部环境下才能运行,所谓 环境,就是指所用的计算机系统的硬件和软件条

2、件。使用者应该了解为了运行一个C程序,需要哪些必要的外部条件(例如硬件配置、软件配置),可以利用哪些系统的功能来帮助自己开发程序。每一种计算机系统的功能和操作方法不完全相同,但只要熟练掌握一、二种计算机系统的使用,再遇到其它的系统时便会触类旁通,很快地学会。3、学会上机调试程序。也就是善于发现程序中的错误,并且能很快地排除这些错误,使程序能正确运行。经验丰富的人,当编译时出现“出错信息 时,能很快地判断出错误所在,并改正之。而缺乏经验的人即使在明确的出错提示下也往往找不出错误而求救于别人。计算机技术是实践性很强的技术,要求从事这一领域的人不仅能了解和熟悉有关理论和方法,还要求自己动手实现。对程

3、序设计来说,要求会编程序并上机调试通过。因此调试程序本身是程序设计课程的一个重要的内容和基本要求,应给予充分的重视。调试程序的经验固然可以借鉴他人的现成经验,但更重要的是通过自己的直接实践来累积,而且有些经验是只能 会意 难以 言传。别人的经验不能代替自己的经验,调试程序的能力是每个程序设计人员应当掌握的一项基本功。因此,在实验时千万不要在程序通过后就认为万事大吉、完成任务了,而应当在已通过的程序基础上 作 些 改 动(例如修改一些参数、增加程序一些功能、改变输入数据的方法等卜 再进行编译、连接和运行。甚至于“自设障碍”,即把正确的程序改为有错的(例如用scanf函数输入变量时,漏写符号:使数

4、组下标出界;使整数溢出等),观察和分析所出现的情况。这样的学习才会有真正的收获,是灵活主动地学习而不是固板被动的学习。二、上机实验前的准备工作在上机实验前应事先做好准备工作,以提高上机实验的效率,准备工作至少应包括如卜五个方面:,了解所用的计算机系统的性能和使用方法(包括C编译系统),复习和掌握与本实验有关的教学内容,准备好上机所需的程序。程序应书写整齐,并经人工检查无误后才能上机,以提高上机效率。初学者切忌不编程序或抄别人程序去上机,应从一开始就养成严谨的科学作风。,对运行中可能出现的问题应事先作出估计;对程序中自己有疑问的地方,应作上记号,以便上机时给予注意。工准备好调试和运行时所需的数据

5、。三、上机实验的步骤一个C 源程序编写完成后,就可以进入输入、编译连接与运行的过程。1 .源程序的输入用户编写好的C 源程序只有输入进行计算机经处理后才能运行。因此,上机运行程序的第一步是输入源程序、建立源文件。2 .编译编译通过后,即生成相应的目标程序,它是由计算机能识别的机器代码所组成的。3 .连接所谓连接,是指将编译生成的目标程序文件与被调用函数的目标模块进行连接,最后生成一个计算机真正能执行的可执行文件。在连接的过程中,也要进行查错,主要是检查调用、各模块之间的联系以及存储空间等方面的错误。如果发现有连接错误,则要对源程序进行编辑修改,然后重新进行编译和连接。4.运行源程序经过文件的编

6、辑、编译和连接过程,并且无错误发生,最后生成可执行文件后,就可以运行该可执行文件,得到所需要的结果。必须指出,编译连接过程虽然能发现源程序中的大部分语法等错误,但不能发现程序中的全部错误,特别是不能发现逻辑错误(应该实现的功能未实现)。在这种情况下,还需要对源程序进行编辑修改,然后再进行编译连接,直到运行结果正确为止。上机过程出现的问题,除了系统的问题外,一 般应自己独立处理,不要轻易举手问老师,尤其对“出错信息“,应善于自己分析判断。这是学习调试程序的良好机会,上机实验-般应包括以下儿个步骤:调出C 编译系统,进入C 工作环境(如 Turbo C 集成环境,VC+6.0 集成环境)输入自己编

7、好的程序(默认扩展名.C,应采用正确的指法击键)检查一遍已输入的程序是否有错(包括输入时打借的和编程中的错误),如发现有错,则及时改正。进行编译,生成目标文件(扩展名为.OBJ)与可执行文件(扩展名为.EXE)。若在编译和连接过程中发现错误,屏幕上会出现“出错信息“,根据提示找到出错位置和原因,加以改正,再进行编译直到顺利通过编译和连接为止。运行程序,并分析运行结果是否合理和正确。如果在这一步中发现有错误,则要重新调用编辑程序对源程序进行编辑修改,再进行编译、连接与运行,直到没有错误为止。输出程序清单和运行结果四、实验后应完成实验报告的填写实验结束后,要整理实验结果并认真分析和总结,根据教师要

8、求写出实验报告实验报告一般包括如下内容:实验内容 算法说明 程序清单 运行结果实验题目与要求.用文字或流程图说明.原始数据,相应的运行结果和必要的说明.A 分析与思考:调试过程及调试中遇到的问题及解决办法;调试程序的心得与体会;其他算法的存在与实践等.若最终未完成调试,要认真找出错误并分析原因等.五、程序错误类型及测试1 程序错误的类型为帮助同学调试程序和分析程序,下面简单介绍程序出错的种类1、语法错误:不符合C语言的语法规定。1)函数、语句拼写错误(p r i n tf 写为p i n tf)2)括弧不匹配3)语句最后漏了分号2、逻辑错误:程序无语法错误,也能正常运行,但结果不对。这类错误可

9、能是设计算法时的错误,也可能是算法正确而在编写程序时出现,一般较难发现,必须认真检查。3、运行错误:有时程序既无语法错误,又无逻辑错误,但不能正常运行或结果不对。多数情况是数据不对,包括数据本身不合适以及数据类型不匹配。2 程序的调试(debugging)1、程序调试的任务:是排除程序中的错误,使程序能顺利地运行并得到预期的效果。程 序 的调试 阶 段 不 仅 要 发 现 和 消除语法上的错 误,还 要 发 现 和 消除 逻辑错误和运行错 误。2、程序测试的任务:是尽力寻找程序中可能存在的错误。在测试时要设想到程序运行时的各种情况,测试在各种情况下的运行结果是否正确。程序测试是程序调试的一个组

10、成部分3.V i s ual C+调试功能:V i s ual C+内置了强大的调试功能。调试发生在你已经成功地进行了编译、连接,得到了可执行程序,但是程序执行的结果不正确的情况下。调试是修改你的代码以便它能够正确工作的过程。D e ve l o p e rS tud i o 提供了许多工具帮助你跟踪和定位错误。调试系统提供特殊的菜单、窗口、对话框等来为开发者提供帮助。A调试命令:有关调试的命令分散在B ui l d、D e b ug、V i e w和E d i t菜单中。B ui I d 菜单包含一个S tar t D e b ug子菜单,其中的命令是D e b ug 菜单命令的子集,包括:

11、启动调试过程(G o)、单步跟踪(S te p I n to)和运行到光标处(R un T o C ur s o r).当启动调试进程后,B ui I d 菜单会被D e b ug 菜单代替,D e b ug 菜单包含各种控制程序执行的命令,如单步执行、进入函数体、从函数体中出来、运行到光标所在位置等。V i e w菜单包含一些命令,可以控制显示各种与调试有关的窗口,如变量窗口(V ar i ab l e swi n d o w)、调用栈窗口(C al l S tack wi n d o w)等。E d i t菜单下的B r e ak p o i n ts 命令可以打开一个对话框,在其中可以插

12、入、删除、启动、停止各个断点。A设置断点:你可以控制程序直接运行到指定地点,然后查看运行到这个地方时程序的状态,如变量的值、调用栈的情况等。你可以通过设置断点来达到这一目的。设置断点的方式是:将光标移到要设置断点的地方,按 F 9,这时会有一个红的圆点出现在代码行的左边。如果你想取消断点,将光标移动到设置断点的代码行,按 F 9。A 启动调试:按 F 5或者在Bui I d 菜单中,选择S tar t De b ug 然后选择G o,就可以启动调试程序。程序会一直运行到需要用户输入或者有断点的代码处。A 查看变量值:查看变量值有多种方式,你可以选择你喜欢的方式进行。1)你可以将鼠标移动到程序的

13、变量名处,系统会自动为你显示变量的值;2)复杂变量(如对象)可以通过Q ui c k W atc h 查看,方法是:将光标定位到所要查看值的变量处,按鼠标右键,选择Q ui c k W atc h 菜单,就可以看到变量值。3)启动调试程序后,屏幕下方将会出现两个输出窗口,一个是W atc h,另一个是V ar i ab le。W atc h 窗口显示变量名和变量值,你可以在W atc h 窗口中加上你想观察值的变量名,也可以直接从源代码中选择变量名,并把它拖动到W atc h 窗口中。V ar i ab le 窗口显示程序当前运行上下文涉及的变量的值。A 控制程序执行:你可以控制程序单步执行(

14、F 1 0)、跟踪到一个函数内部(F 1 1)、从一个函数运行出来(s h i f t+F ll)、运行到光标所在位置(Ctr l+F 1 0),以便方便地调试程序。这些命令用于在某个局部范围详细地调试程序。你也可以通过设置断点(F 9)然后用直接运行(GO 或者F 5)来控制程序直接运行到断点位置。如果你设置了多个断点,程序将会在遇到的第一个断点处停下来。要从断点处继续运行,可以用上面所说的各种命令(F 5,F 1 0,F i l,S h i f t+F ll,Ctr l+F lO 行A 结束调试:要结束调试,可以按s h i f t+F 5或者选择菜单De b ug lS to p De

15、b ug g i n g。当结束调试后,所有调试窗口会自动关闭,De b ug 菜单也会自动还原为Bui ld 菜单。第二部分实验环境介绍、T ur b o C 的使用1 .编辑一个新文件1)按 F 1 0 键激活【F i le】主菜单,按回车键弹出子菜单(或 者 按 Alt+组合键),选择子菜 单【N e w】,豳 1),回车后进入编辑状态。光标定位在左上角(第一行、第一列)。图 1 文件菜单2)编辑过程中,可 用 I n s 键转换插入/改写状态和 De l键删除字符。3)按(Cte l)+Y 组合键可删除光标所在一行。4)按(Cte l)+组合键可插入一行。2.保存文件按 F 1 0 键

16、并按回车(或 者 按 Alt+(F)组合键),选择子菜单【S ave】,按回车键后,T c 会弹出一个对话框。用户可按自己的习惯指定文件名,然后,此源文件就以此文件名存在用户工作目录中。如果用户指定目录路径,则文件存入用户指定的目录中。用户可设置改变用户工作目录,方 法 是 按 Al t+(F)组合键,选 择【Ch an ge d i r ,回车后,就会弹出新目录输入框,提示用户输入自己选择的(或建立的)工作目录名,如 图 2。但应注意,输入的目录必须已存在,否则,系统会报错。图 2改变用户工作目录3.打开一个已存在的文件按 Al t+F 组合键,选 择【L oad】,这时屏幕上会出现一个*.

17、c 的“装入文件”对话框,用户可以在此处输入要打开的文件名,或者直接按回车,则 T u r b o C 会显示当前工作目录下所有后缀为.c 的文件名,可 以 通 过 光 标 移 动 键 移 到 要 打 开 的 文 件 上 表 示 到 上 级 目 录),按回车键就可进入编辑窗口,对此文件进行编辑。文件修改完后,若要另外保存文件(原文件还将保存),可 在【F i l e】菜单下选择 W r i t e t o相当 于“另存为”),回车后,显示的窗口,输入要保存的文件名即可。4 .编译和连接编辑好源程序后,应对源程序进行编译、连接。可用以下方法中的任一种。1)按(F 10)键,将亮条移到【Com p

18、i l e】处后按回车键(或 按 Al t+组合键),选 择 Com pl i et o O BJ ,按回车键就可进行编译。编译完成后,选 择【Com pi l e】中 的【L i n k EX E fi l e ,然后按回车键,就可以执行连接,见图3。图 3 对源程序进行编译2)按 Al t+C)组合键选中编译菜单,从中选择【M ak e EX E fi l e 项,按回车键后一次完成编译和连接。3)按 F 9 键可一次完成编译和连接。工 注 意:生成的中间文件*.ob j 和最终文件*.e x e 保存在当前工作目录和配置文件T C-CO N F I G (T C 的工作环境配置文件)指定

19、的目录中。5 .运行1)DO S环境下运行。在DO S窗口下,输入所生成的最终输出文件名即可运行(注意路径要正确)。2)T C集成环境下运行。按 F 10键,选择 R u n(或者直接按Al t+R组合键),按回车键后,在弹出的子菜单上选择【R u n】并按回车键即可运行。3)直接按Ct r l+I n c l u d e d i r e c t or i e s:C:T C I N CL DE 表示头文件的默认目录。L i b r ar y d i r e c t or i e s:C:T C L I B 表示 T C 的库文件默认目录。0u t pu t d i r e c t or y:

20、C:T C L i q.O U T表示用户可指定自己存放*.e x e和*.ob j文件的目录。T u r b o C d i r e c t or y:C:T C表示I n st al l建立的默认目录。这个用户无需改。用户设置完成后,还应当把这些信息保存下来。方法是选择【O pt i on s】主菜单,并按回车键后选择【Sav e o p t i o n s】子菜单,再按回车键后,系统提示输入配置文件名,直接按回车键使用系统默认即可。二、Visual C+6.0 的使用1.Visual C+简介Vi s u a l C+是Mi c r o s o f t公司的Vi s u a l St u

21、 d i o开发工具箱中的一个C+程序开发包。Vi s u a l St u d i o提供了 一整套开发I n t er n et和W i n d o w s应用程序的工具,包括Vi s u a l C+,Vi s u a l B a s i c,Vi s u a l F o x p r o,Vi s u a l I n t er D ev,Vi s u a l J+以及其他辅助工具,如代码管理工具Vi s u a l So u r c eSa f e和联机帮助系统MSD N。Vi s u a l C+包中除包括C+编译器外,还包括所有的库、例子和为创建W i n d o w s应用程序所需

22、要的文档。从最早期的1.0版本,发展到最新的6.0版本,Vi s u a l C+已经有了很大的变化,在界面、功能、库支持方面都有许多的增强。最新的6.0版本在编译器、M F C类库、编辑器以及联机帮助系统等方面都比以前的版本做了较大改进。Vi s u a l C+一般分为三个版本:学习版、专业版和企业版,不同的版本适合于不同类型的应用开发。实验中可以使用这三个版本的任意一种。Vi s u a l C+集成开发环境(I D E)集成开发环境(I D E)是一个将程序编辑器、编译器、调试工具和其他建立应用程序的工具集成在一起的用于开发应用程序的软件系统。Vi s u a l C+软件包中的D e

23、v el o p er St u d i o就是一个集成开发环境,它集成了各种开发工具和V C编译器。程序员可以在不离开该环境的情况下编辑、编译、调试和运行一个应用程序。I D E中还提供大量在线帮助信息协助程序员做好开发工作。D ev el o p er St u d i o中除了程序编辑器、资源编辑器、编译器、调试器外,还有各种工具和向导(如A p p W i za r d和C l a s s W i za r d),吸 M F C类库,这些都可以帮助程序员快速而正确地开发出应用程序。向导(W i za r d)向导是一个通过一步步的帮助引导你工作的工具。D ev el o p er St

24、 u d i o中包含三个向导,用来帮助程序员开发简单的W i n d o w s程序,它们是:A p p W i za r d:用来创建一个W i n d o w s程序的基本框架结构。A p p W i za r d向导会一步步向程序员提出问题,询问他所创建的项目的特征,然后A p p W i za r d会根据这些特征自动生成一个可以执行的程序框架,程序员然后可以在这个框架下进一步填充内容。Ap p W i z a rd支持三类程序:基于视图/文档结构的单文档应用、基于视图/文档结构的多文档应用程序和基于对话框的应用程序。也可以利用Ap p W i z a rd生成最简单的控制台应用程序

25、(类似于D O S下用字符输入输出的程序)。Cl a ssW i z a rd:用来定义Ap p W i z a rd所创建的程序中的类。可以利用Cl a ssW i z a rd在项目中增加类、为类增加处理消息的函数等。Cl a ssW i z a rd也可以管理包含在对话框中的控件,它可以将MF C对象或者类的成员变量与对话框中的控件联系起来。Ac ti ve X Co n tro l W i z a rd:用于创建一个Ac ti ve X控件的基本框架结构。Ac ti ve X控件是用户自定义的控件,它支持一系列定义的接口,可以作为一个可再利用的组件。MF C库库(1 i b ra ry

26、)是可以重复使用的源代码和目标代码的集合。MF C(Mi c ro so f t F un d a m e n ta lCa sse s)是V i sua l C+开发环境所带的类库,在该类库中提供了大量的类,可以帮助开发人员快速建立应用程序。这些类可以提供程序框架、进行文件和数据库操作、建立网络连接、进行绘图和打印等各种通用的应用程序操作。使用MF C库开发应用程序可以减少很多工作量。2.项目开发过程在一个集成的开发环境中开发项目非常容易。hello.exe hello.exe一 个 用 C+开发的项目的通用开发过程可以用左图表ZjSo建立一个项目的第一步是利用编辑器建立程序代码文件,包括头

27、文件、代码文件、资源文件等。然后,启动编译程序,编译程序首先调用预处理程序处理程序中的预处理命令(如#include,#define等),经过预处理程序处理的代码将作为编译程序的输入。编译对用户程序进行词法和语法分析,建立目标文件,文件中包括机器代码、连接指令、外部引用以及从该源文件中产生的函数和数据名。此后,连接程序将所有的目标代码和用到的静态连接库的代码连接起来,为所有的外部变量和函数找到其提供地点,最后产生一个可执行文件。一般有一个makefile文件来协调各个部分产生可执行文件。可执行文件分为两种版本:Debug和 ReleaseDebug版本用于程序的开发过程,该版本产生的可执行程序

28、带有大量的调试信息,可以供调试程序使用,而 Release版本作为最终的发行版本,没有调试信息,并且带有某种形式的优化。学员在上机实习过程中可以采用Debug版本,这样便于调试。选择是产生Debug版本还是R elease版本的方法是:在 Developer S tu d io中选择菜单Buildl SetActive C onfiguration,在弹出的对话框中,选择所要的类型,然后选择OK关闭对话框。Visual C+集成开发环境中集成了编辑器、编译器、连接器以及调试程序,覆盖了的开发应用程序的整个过程,程序员不需要脱离这个开发环境就可以开发出完整的应用程序。3.运行方法将C程 序 分

29、为 单 文 件 程 序 和 多 文 件 程 序。下 面 分 别 介 绍 在Visual C+6.0系统中运行这两 类 程 序的方法。1.运 行 单 文件程序所谓单文件程序是指一个程序只由一个源文件组成,在初学C语言时,大多数情况下编写的程序都是这类程序。编辑运行单文件程序的步骤如下:【第1步】双 击 桌 面 上 的Microsoft Visual C+6.0”图 标,出 现 如 图1所示的 Visual C+6.0系统界面。图 1 Microsoft Visual C+6.0”系统界面【第2步】从File菜 单 中 选 择“New”命 令,出 现“New”对 话 框,从 中 选 择“Files

30、”选项卡,选 择KC+Source File5选 项,如 图2所 示。图 2“New”对话框【第3步】单 击 右 侧 的“”命 令 按 钮(用于设置存放C程序文件的文件夹),出 现 如 图3所 示 的“Choose Directory”对话框。选 取d:盘 中 的“C实验教程”文件夹,单 击“OK”命令按钮返回。图 3 u Choose Directory w 对话框【第4步】在“File”文本框中输入“charpl”(表示以cl.cpp文件存放当前程序),如 图4所示,单 击“0K”命令按钮返回。|New|Files|Projects|WorkspacesOther Documents|af

31、lActive Server Page Binary File始 Bitmap FileC C/C+Header File3 C*Source File汾 Cursor FileHTML PageJ e o n FileMacro FileResource Script Add lo project:1Filecharp1_1Location:弓Resource Template囹 SOL Script File囱 Text File|D:LIN06 计算加 C图4“New”对话框【第5步】在出现的charpl_l.cpp编辑框中输入程序,如 图5所示。注意在输入程序时要随时保存程序文件(使

32、用“Files”菜 单 中 的“Save”命令,或单击左上方的保存图标),以免出现意外导致程序丢失。图 5 charplj.cpp”编辑框【第6步】在程序输入完毕,选 择“B u i l d”菜 单 中 的“C o m p i l e c l.c p p”命令,在出现的所示提示框中选择 Y e s。这样产生了 c h a r p l _ l.e x e可执行文件。【第7步】选 择 B u i l d”菜 单 中 的“E x e c u t e c l.e x e”命令,执行该程序。【第8步】在执行程序中输入:2 5/执行结果为:最大值:5。最后用户按任一键返回。2运行多文件程序所谓多文件程序是

33、指一个程序中至少包含两个文件,可以是两个以上文件组成的一个程序。下面以举例来说明编译连接和运行这种程序的方法。该程序由三个文件组成:f i l e l.c p p 文件:#include extern void f1(),void f2();main()(fl();f2();)f i l e l.c p p 文件:#include static void f3()printf(nfile2:f3()nn);)void fl()printf(nfile2:fl()nn);f3();f i l e 3.c p p 文件:#include static void f3()(printf(nfile3

34、:f3()n);)void f2()(printf(*f ile3:f2()n);f3();)运行上述程序的步骤如下:【第1步】在某个指定的目录下创建好C+的源文件(采 用1节的步骤)。例如,在d:C B o o k s t u d e n t l 文件夹中建立好 C+的源文件 f i l e l.c p p,f i l e 2.c p p 和 f i l e 3.c p po【第2步】创建一个新的项目文件。方法是先选择主菜单中的“F i l e”,在它的下拉菜单中选择New命令,屏 幕 上 出 现 N e w”对话框,选 择 P r o j e c t s”选项卡,在 P r o j e c

35、 t n a m e”选框中输入所指定项目名字,如“s t u”。在“L o c a t i o n”选框中,输入你要建立项目文件所需的源文件所在的路径,如 D:C s t u ,如 图9所示。选 中“W i n 3 2 C o n s o l e A p p l i c a t i o n”选项(一定要选中此选项,表示建立控制台应用程序,即建立和T u r b o C运行环境相似的C程序),单 击“OK”命令按钮。图 6 New”对话框的“Projects”选项卡页面【第 3 步】在 出 现 的 如 图 10所 示“Win32 console Application”对 话框中单击u An

36、emptyproject”选 项(默认值),再 单 击“Finish”命令按钮。图 7 a Win32 Console Applications w 对话框【第 4 步】在 出 现 如 图 11所 示 的“New ProjectInformation对话框中单击“0K”命令按钮。图 8 New Project Information w 对话框【第 5 步】在 出 现 如 图 12所 示 的“stu”项目界面中,选 择 Project菜 单 中“Add To Project”命令,再在出现的子菜单中选择“Files”命令,出现打开文件对话框,把 filel.cpp、file2.cpp和 fil

37、e3.cpp依次添加到该项目中。图 9 Excise”项目界面【第6步】选 择 Build”菜 单 中 的“BuildExcise.exe”命令进行编连,结 果 如 图 13所示,表示编连正确。图 10 stu项目编连结果【第7步】选 择Build菜单中的Execute Excise.exe命令运行程序,即运行输出如下:file2:fl()file2:f3()file3:f2()file3:f3()第三部分上机实验内容实 验 一 基 础 实 验一、实验目的:r a 熟悉c语言的集成编译环境;掌握c程序的编辑、编译、链接以及运行等步骤;熟悉常用的调试信息并根据系统提示的信息进行c程序的修改;掌握

38、查看程序运行结果的方法。由熟练掌握C语言中数据类型的概念和定义、声明变量的方式及对变量赋值的方法。m 熟练掌握c程序各种运算符及其运算符的优先级和结合性、运算规则、运算对象、表达式(特别是关系表达式与逻辑表达式的使用方法)以及表达式运算过程中的类型转换。G9熟练掌握s c a n f (g e t c h a r)/p r i n t f (p u t c h a r)库函数的调用格式及其使用,能够正确使用各种格式转换控制符。掌握各种类型数据的输入/输出的方法。CQ体会编程的方法。a 进一步训练c程序的编辑、编译、链接和运行的过程并体会输出函数。二、实验内容1.下面c程序的功能是:通过键盘输入

39、数据,计算并输出这些数据的和。(该程序有部分错误)Sinclude void main()int a,b,c,suml;float x,y,z;sum2=0.0;printf(Input int data:n”);scanf(u%d%d%d,Suml=a+b+cprintf(aOutput suml=%dnw,suml);printf(Input float data:n);scanf(a%f,%f,%f”,&x,&y,&z);SUM2+=suml;printf(Output sum2=%dn,sum2);)要求:(1)输入该程序,进行编译、链接,在编译的过程发现错误,根据信息窗口的提示检查源

40、程序并进行修改,然后再进行编译链接,直到成功通过为止。并解释错误的原因。(2)运行该程序、察看运行结果并体会输入格式。2.计算三角形面积的程序源代码:程序有错请检查错误。#include#includevoid main()(float a,b,c,s,area;scanf(u%f,%f,%f”,&a,&b,&c);s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c);printf(area二%dn”,area);)将上述文件保存到s y l _ 2.c。这个源程序没有任何语法错误,能顺利通过编译和连接。在运行时输入:2.5,3.6,4.7/输出结果为:a r e

41、 a=0,为什么?4.输入下列程序:void main()i n t a,b;f l o a t x,y;c h a r c l,c 2;s c a n f (,a=%d,b=%d,&a,&b);s c a n f (x=%f,y=%f,&x,&y);s c a n f (c l =%c c 2=%cH,&c l,&c 2);p r i n tf (Ha=%d,b=%d,x=%f,y=%f,c l=%c,c2=%cn,a,b,x,y,c l,c 2);)要求:1)为了使变量的值为:a=10,b=25 5,x=123.4 5 6,y=T.9,c l=a,c 2=A,则正确的数据输入形式是什么?体

42、会输入格式串,说明为什么?2)什么样的输入格式最容易发现存在的错误?假定仍要得到上面的结果,你还可以将输入语句怎样改写?5.按上面“输入、调试、编译、链接、执行”程序的步骤,完成下面程序的输入、编译、执行。v o i d m a i n ()(i n t x,y;x=3 27 6 7;y=x+l;p r i n tf (ux=%d,y=%d n”,x,y);分析上面程序的运行结果(分别在tu A o c 2下及V C+6.0下执行),写出不同环境下的运行结果:并给出运行结果的说明。6.编 程,实 现 取 一 个 整 数a从 右 端 开 始 的4 7位。问题讨论1.小 结 上 机 各 个 环 节

43、 所 出 现 的 错 误 及 解 决 的 办 法。2.记下在调试过程中所发现的错误、系 统 给出的出错信息和对策。分析讨论对策成功或失败的原 因。3.总 结C程 序 的 结 构 和 书 写 规 则。实验二顺序结构和选择结构程序设计、实验目的由 了 解C语言表示逻辑量的方法(以0代 表“假”,以1代 表“真”)由学会正确使用逻辑运算符和逻辑表达式;CQ熟练掌握i f、i f e l s e、i f e l s e i f语句和s w i tc h语句格式及使用方法,掌 握i f语句中的嵌套关系和匹配原则,利 用i f语句和s w i tc h语句实现分支选择结构。二、实验内容1.输入下列程序,找

44、出错误的地方,并说明错误原因。a)以下程序用来求一元二次方程实根,求根之前先判断有无实根,第一次输入a=2.0,b=-2.0,c=l.0 ;第二次 输入a=l.0,b=-4.0,c=4.00”,分别输出正确的结果。#i n c l u d e s td i o.h v o i d m a i n()(f l o a t a,b,c,d,x l,x 2;s c a n f (线f,%f,%fz/,&a,&b,&c);d=b*b-4*a*c;i f (d 0)p r i n tf (该方程无实根。n);e l s e i f (f a b s(d)0 时,y=l。程序从第3 行开始有3 处错误,请

45、改正并运行之,并说明原因,运行3 次,分别输入2.30,-4.10,0,输出正确的函数值。v o i d m a i n 0 f l o a t x,y;p r i n t f (请输入 x 的值:n x=);scanfx);i f(x 0 x=0 或 x=2x08.用 C语言编程实现模拟电子时钟显示:要求显示在屏幕上的第15行 30列上,其格式:小时:分钟:秒提示:在 T ur b oc 2 或 W I N _ T C 环境下,用 到 以 F 函数:g ot ox y (x,y);光标定位c l r s c r ();清屏,包含在 i nc l ud e 取系统时间:uns i g ne d

46、 c h a r h our,m i n,s e c;s t r uc t t i m e t;g e t t i m e(&t);/*包括在#i nc l ud e */h our=t.t i _ h our;m i n=t.s e c=t.t i _ s e c;在V C+环境下,用到以下函数:s t r uc t t m *p t r;t i m e _ t t;t=t i m e (N U L L);p t r=l oc a l t i m e(&t);)问题讨论1、C程序可以用几种方法实现循环结构?2、w h i l e 代表什么意思?3、用 f or 语句可以代替d o w h i

47、 l e 语句吗?4、W h i l e、d o w h i l e,f or 哪一个更灵活些?实验四、函数一、实验目的I.掌握c 函数的定义方法、函数的调用方法、参数说明以及返回值。掌握实参与形参的对应关系以及参数之间的“值传递”的方式;掌握函数的嵌套调用及递归调用的设计方法。2.掌握全局变量和局部变量、动态变量与静态变量的概念和使用方法。3.在编程过程中加深理解函数调用的程序设计思想。4.掌握自定义头文件的方法,学会建立和调试多文件程序二、实验内容1.递归与非递归函数编写一个函数,求从 个不同的数中取r 个数的所有选择的个数。其个数值为:其中:n =n*(n-l)*(n-2)*.*lo 测

48、试数据:输入:5 3输出:10输入:10 20输出:Input Invalid!输入:-1 4输出:Input Invalid!输入:50 3输出:19600输入:0 0程序结束 实现要求:(1)分别用递归和非递归两种方式完成程序设计;(2)主程序中设计一个循环,不断从输入接收n 和 r 的值,计算结果并输出,当用户输 入 0 0 时,程序结束;(3)能检查输入数据的合法性,要 求 n=l并 且 n=r;(4)上面的测试数据能得到正确结果。实验步骤 利用一个非递归函数fn(int n)计 算 n!,利用另一个函数Cnr(int n,int r)计 算 C;,在该函数中调用fn(),问题:你打算

49、用什么样的变量类型来存放n!函数返回的值?注意各种数据类型的内存字长不同,整数能存放的数据范围有限,你如何解决?(2)利用一个递归函数实现,实现时利用公式:C(n,r)=C(n,r-1)*(n-r+l)/r递归实现.实现提示:(1)可以用double数据类型来存放函数的计算结果递归结束条件:如果 r=0,则 C(n,r)=1如果 r=1,则 C(n,r)=n2.将上面的程序改成多文件结构 实验要求将上面用非递归方式写成的程序改成用多文件结构表示。要求将main()函数放在一个文件中,将另外两个函数放在另一个文件中,将函数原型说明放在一个头文件中。建立一个项目,将这三个文件加到你的项目中,编译连

50、接使你的程序正常运行。实验步骤(1)新建一个项目,命名为“multifile”(2)用 FilelNew 创建一个新的C+Source File”,命名为 main.cpp(3)用 FilelNew 创建一个新的“C+Source File”,命名为 func.cpp(4)用 FilelNew 创建一个新的“C/C+Header File”,命名为 func.h(5)用 FilelOpen打开你前面实验中用非递归方式求C(n,r)的 C+源程序文件,将其中的主函数部分拷贝到 main.cpp中,将其中的两个函数实现放到func.cpp中,再将两个函数的原型写到func.h中(6)在 main.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com