计算机C实验指导书.docx
第一部分上机实验总的目的和要求一、上机实验目的学习C语言程序设计课程必须重视实践环节。即独立编写出程序,独立上机调试程序。必须保证有足够的上机实验时间。上机实验的目的,绝不仅是为了验证教材和讲课的内容或者验证自己所编的程序正确与否。学习程序设计,上机实验的目的:1、加深对讲授内容的理解,尤其是一些语法规定,光靠课堂讲授,既枯燥无味又难以记住,但它们都很重要。通过多次上机,就能自然地、熟练地掌握。通过上机来掌握语法规则是行之有效的方法。2、熟悉所用的计算机系统的操作方法,也就是了解和熟悉C语言程序开发的环境。一个程序必须在一定的外部环境下才能运行,所谓"环境",就是指所用的计算机系统的硬件和软件条件。使用者应该了解为了运行一个C程序,需要哪些必要的外部条件(例如硬件配置、软件配置),可以利用哪些系统的功能来帮助自己开发程序。每一种计算机系统的功能和操作方法不完全相同,但只要熟练掌握一、二种计算机系统的使用,再遇到其它的系统时便会触类旁通,很快地学会。3、学会上机调试程序。也就是善于发现程序中的错误,并且能很快地排除这些错误,使程序能正确运行。经验丰富的人,当编译时出现"出错信息"时,能很快地判断出错误所在,并改正之。而缺乏经验的人即使在明确的出错提示下也往往找不出错误而求救于别人。计算机技术是实践性很强的技术,要求从事这一领域的人不仅能了解和熟悉有关理论和方法,还要求自己动手实现。对程序设计来说,要求会编程序并上机调试通过。因此调试程序本身是程序设计课程的一个重要的内容和基本要求,应给予充分的重视。调试程序的经验固然可以借鉴他人的现成经验,但更重要的是通过自己的直接实践来累积,而且有些经验是只能"会意"难以"言传"。别人的经验不能代替自己的经验,调试程序的能力是每个程序设计人员应当掌握的一项基本功。因此,在实验时千万不要在程序通过后就认为万事大吉、完成任务了,而应当在已通过的程序基础上作一些改动(例如修改一些参数、增加程序一些功能、改变输入数据的方法等卜再进行编译、连接和运行。甚至于"自设障碍”,即把正确的程序改为有错的(例如用scanf函数输入变量时,漏写符号:使数组下标出界;使整数溢出等),观察和分析所出现的情况。这样的学习才会有真正的收获,是灵活主动地学习而不是固板被动的学习。二、上机实验前的准备工作在上机实验前应事先做好准备工作,以提高上机实验的效率,准备工作至少应包括如下五个方面:4了解所用的计算机系统的性能和使用方法(包括C编译系统)上复习和掌握与本实验有关的教学内容准备好上机所需的程序。程序应书写整齐,并经人工检查无误后才能上机,以提高上机效率。初学者切忌不编程序或抄别人程序去上机,应从一开始就养成严谨的科学作风。口对运行中可能出现的问题应事先作出估计;对程序中自己有疑问的地方,应作上记号,以便上机时给予注意。准备好调试和运行时所需的数据。三、上机实验的步骤一个C源程序编写完成后,就可以进入输入、编译连接与运行的过程。1 .源程序的输入用户编写好的C源程序只有输入进行计算机经处理后才能运行。因此,上机运行程序的第一步是输入源程序、建立源文件。2 .编译编译通过后,即生成相应的目标程序,它是由计算机能识别的机器代码所组成的。3 .连接所谓连接,是指将编译生成的目标程序文件与被调用函数的目标模块进行连接,最后生成一个计算机真正能执行的可执行文件。在连接的过程中,也要进行查错,主要是检查调用、各模块之间的联系以及存储空间等方面的错误。如果发现有连接错误,则要对源程序进行编辑修改,然后重新进行编译和连接。4 .运行源程序经过文件的编辑、编译和连接过程,并且无错误发生,最后生成可执行文件后,就可以运行该可执行文件,得到所需要的结果。必须指出,编译连接过程虽然能发现源程序中的大部分语法等错误,但不能发现程序中的全部错误,特别是不能发现逻辑错误(应该实现的功能未实现)。在这种情况下,还需要对源程序进行编辑修改,然后再进行编译连接,直到运行结果正确为止。上机过程出现的问题,除了系统的问题外,一般应自己独立处理,不要轻易举手问老师,尤其对“出错信息“,应善于自己分析判断。这是学习调试程序的良好机会,上机实验一般应包括以下几个步骤: 调出C编译系统,进入C工作环境(如Turbo C集成环境,VC+6.0集成环境) 输入自己编好的程序(默认扩展名.3应采用正确的指法击键) 检查一遍已输入的程序是否有错(包括输入时打错的和编程中的错误),如发现有错,则及时改正。 进行编译,生成目标文件(扩展名为.OBJ)与可执行文件(扩展名为.EXE)。若在编译和连接过程中发现错误,屏幕上会出现“出错信息“,根据提示找到出错位置和原因,加以改正,再进行编译直到顺利通过编译和连接为止。 运行程序,并分析运行结果是否合理和正确。如果在这一步中发现有错误,则要重新调用编辑程序对源程序进行编辑修改,再进行编译、连接与运行,直到没有错误为止。 输出程序清单和运行结果四、实验后应完成实验报告的填写实验结束后,要整理实验结果并认真分析和总结,根据教师要求写出实验报告实验报告一般包括如下内容:实验内容:实验题目与要求.算法说明:用文字或流程图说明.程序清单:运行结果:原始数据,相应的运行结果和必要的说明.A分析与思考:调试过程及调试中遇到的问题及解决办法;调试程序的心得与体会;其他算法的存在与实践等.若最终未完成调试,要认真找出错误并分析原因等.五、程序错误类型及测试1程序错误的类型为帮助同学调试程序和分析程序,下面简单介绍程序出错的种类1、语法错误:不符合C语言的语法规定。1)函数、语句拼写错误(printf写为pintf)2)括弧不匹配3)语句最后漏了分号2、逻辑错误:程序无语法错误,也能正常运行,但结果不对。这类错误可能是设计算法时的错误,也可能是算法正确而在编写程序时出现,一般较难发现,必须认真检查。3、运行错误:有时程序既无语法错误,又无逻辑错误,但不能正常运行或结果不对。多数情况是数据不对,包括数据本身不合适以及数据类型不匹配。2程序的调试(debugging)1、程序调试的任务:是排除程序中的错误,使程序能顺利地运行并得到预期的效果。程序的调试阶段不仅要发现和消除语法上的错误,还要发现和消除逻辑错误和运行错误。2,程序测试的任务:是尽力寻找程序中可能存在的错误。在测试时要设想到程序运行时的各种情况,测试在各种情况下的运行结果是否正确。程序测试是程序调试的一个组成部分3. Visual C+调试功能:Visual C+内置了强大的调试功能。调试发生在你已经成功地进行了编译、连接,得到了可执行程序,但是程序执行的结果不正确的情况下。调试是修改你的代码以便它能够正确工作的过程。Developer Studio提供了许多工具帮助你跟踪和定位错误。调试系统提供特殊的菜单、窗口、对话框等来为开发者提供帮助。A调试命令:有关调试的命令分散在加"令口61>118、6»»和££|代菜单中。Bui Id菜单包含一个Start Debug 子菜单,其中的命令是Debug菜单命令的子集,包括:启动调试过程(Go)、单步跟踪(Step Into)和运行到光标处(Run To Cursor).当启动调试进程后,Bui Id菜单会被Debug菜单代替,Debug菜单包含各种控制程序执行的命令,如单步执行、进入函数体、从函数体中出来、运行到光标所在位置等。View菜单包含一些命令,可以控制显示各种与调试有关的窗口,如变量窗口(Variables window)、调用栈窗口(Call Stack window)等。Edit菜单下的Breakpoints命令可以打开一个对话框,在其中可以插入、删除、启动、停止各个断点。A设置断点:你可以控制程序直接运行到指定地点,然后查看运行到这个地方时程序的状态,如变量的值、调用栈的情况等。你可以通过设置断点来达到这一目的。设置断点的方式是:将光标移到要设置断点的地方,按F9,这时会有一个红的圆点出现在代码行的左边。如果你想取消断点,将光标移动到设置断点的代码行,按F9。A启动调试:按F5或者在Bui Id菜单中,选择Start Debug然后选择G。,就可以启动调试程序。程序会一直运行到需要用户输入或者有断点的代码处。A查看变量值:查看变量值有多种方式,你可以选择你喜欢的方式进行。1)你可以将鼠标移动到程序的变量名处,系统会自动为你显示变量的值;2)复杂变量(如对象)可以通过QuickWatch查看,方法是:将光标定位到所要查看值的变量处,按鼠标右键,选择QuickWatch菜单,就可以看到变量值。3)启动调试程序后,屏幕下方将会出现两个输出窗口,一个是Watch,另一个是Variable。Watch窗口显示变量名和变量值,你可以在Watch窗口中加上你想观察值的变量名,也可以直接从源代码中选择变量名,并把它拖动到Watch窗口中。Variable窗口显示程序当前运行上下文涉及的变量的值。»控制程序执行:你可以控制程序单步执行(F10),跟踪到一个函数内部(F11),从一个函数运行出来(shift+F11),运行到光标所在位置(Ctrl+F10),以便方便地调试程序。这些命令用于在某个局部范围详细地调试程序。你也可以通过设置断点(F9)然后用直接运行(GO或者F5)来控制程序直接运行到断点位置。如果你设置了多个断点,程序将会在遇到的第一个断点处停下来。要从断点处继续运行,可以用上面所说的各种命令(F5, F10, F11, Shift+FH, Ctrl+F1O),A结束调试:要结束调试,可以按shift+F5或者选择菜单Debug|Stop Debugging。当结束调试后,所有调试窗口会自动关闭,Debug菜单也会自动还原为Bui Id菜单。第二部分实验环境介绍一、Turbo C的使用1 .编辑一个新文件D按F10键激活【File】主菜单,按回车键弹出子菜单(或者按Alt+(F)组合键),选择子菜单【New,(见图1),回车后进入编辑状态。光标定位在左上角(第一行、第一列)。图1文件菜单2)编辑过程中,可用Ins键转换插入/改写状态和Del键删除字符。3)按(Ctel)+<Y>组合键可删除光标所在一行。4)按Ctel+(N)组合键可插入一行。2 .保存文件按F10键并按回车(或者按Alt+F组合键),选择子菜单【Save】,按回车键后,Tc会弹出一个对话框。用户可按自己的习惯指定文件名,然后,此源文件就以此文件名存在用户工作目录中。如果用户指定目录路径,则文件存入用户指定的目录中。用户可设置改变用户工作目录,方法是按Alt+F组合键,选择【Change dir,回车后,就会弹出新目录输入框,提示用户输入自己选择的(或建立的)工作目录名,如图2。但应注意,输入的目录必须已存在,否则,系统会报错。图2改变用户工作目录3 .打开一个已存在的文件按Alt+F组合键,选择【Load】,这时屏幕上会出现一个*.c的“装入文件”对话框,用户可以在此处输入要打开的文件名,或者直接按回车,则Turbo C会显示当前工作目录下所有后缀为.c的文件名,可以通过光标移动键移到要打开的文件上”表示到上级目录),按回车键就可进入编辑窗口,对此文件进行编辑。文件修改完后,若要另外保存文件(原文件还将保存),可在【File】菜单下选择【Write to(相当于“另存为”),回车后,显示的窗口,输入要保存的文件名即可。4 .编译和连接编辑好源程序后,应对源程序进行编译、连接。可用以下方法中的任一种。1)按F10键,将亮条移到【Compile】处后按回车键(或按Alt+(C)组合键),选择Complie to OBJ,按回车键就可进行编译。编译完成后,选择Compile中的【Link EXE file,然后按回车键,就可以执行连接,见图3。图3对源程序进行编译2)按Alt+C组合键选中编译菜单,从中选择【Make EXE file项,按回车键后一次完成编译和连接。3)按(F9)键可一次完成编译和连接。X 注意:生成的中间文件札obj和最终文件札exe保存在当前工作目录和配置文件TC-CONFIG (TC的工作环境配置文件)指定的目录中。5 .运行DDOS环境下运行。在DOS窗口下,输入所生成的最终输出文件名即可运行(注意路径要正确)。2)TC集成环境下运行。按F10键,选择【Run】(或者直接按Alt+R组合键),按回车键后,在弹出的子菜单上选择【Run】并按回车键即可运行。3)直接按(Ctrl)+<F9)组合键即可运行。实际上此方法是将编译、连接和运行一起完成。X 注意:此时按Alt+<F5>组合键可观看运行结果,按任一键可返回编辑状态。6 .确立TC工作环境按F10键,选择【Options】主菜单后按回车键,在弹出的窗口选择【Directories】项,按回车键后又弹出的窗口。其中:>Include directories: C:TCINCLDE 表示头文件的默认目录。>Library directories: C:TCLIB 表示 TC 的库文件默认目录。>0utput directory: C:TCLiq. OUT表示用户可指定自己存放礼exe和*. obj文件的目录。>Turbo C directory: C:TC表示Install建立的默认目录。这个用户无需改。用户设置完成后,还应当把这些信息保存下来。方法是选择【Options】主菜单,并按回车键后选择【Save options】子菜单,再按回车键后,系统提示输入配置文件名,直接按回车键使用系统默认即可。二、Visual C+6.0的使用1 . Visual C+简介Visual C+是Microsoft公司的Visual Studio开发工具箱中的一个C+程序开发包。 VisualStudio提供了一整套开发Internet和Windows应用程序的工具,包括VisualC+, Visual Basic, Visual Foxpro, Visual InterDev, Visual J+以及其他辅助工具,如代码管理工具Visual SourceSafe和联机帮助系统MSDN。Visual C+包中除包括C+编译器外,还包括所有的库、例子和为创建Windows应用程序所需要的文档。从最早期的L0版本,发展到最新的6.0版本,Visual C+已经有了很大的变化,在界面、功能、库支持方面都有许多的增强。最新的6.0版本在编译器、MFC类库、编辑器以及联机帮助系统等方面都比以前的版本做了较大改进。Visual C+一般分为三个版本:学习版、专业版和企业版,不同的版本适合于不同类型的应用开发。实验中可以使用这三个版本的任意一种。Visual C+集成开发环境(IDE)集成开发环境(IDE)是一个将程序编辑器、编译器、调试工具和其他建立应用程序的工具集成在一起的用于开发应用程序的软件系统。Visual C+软件包中的Developer Studio 就是一个集成开发环境,它集成了各种开发工具和VC编译器。程序员可以在不离开该环境的情况下编辑、编译、调试和运行一个应用程序。IDE中还提供大量在线帮助信息协助程序员做好开发工作。Developer Studio中除了程序编辑器、资源编辑器、编译器、调试器外,还有各种工具和向导(如AppWizard和ClassWizard),以及MFC类库,这些都可以帮助程序员快速而正确地开发出应用程序。向导(Wizard)向导是一个通过一步步的帮助引导你工作的工具。Developer Studio中包含三个向导,用来帮助程序员开发简单的Windows程序,它们是:AppWizard:用来创建一个Windows程序的基本框架结构。AppWizard向导会一步步向程序员提出问题,询问他所创建的项目的特征,然后AppWizard会根据这些特征自动生成一个可以执行的程序框架,程序员然后可以在这个框架下进一步填充内容。AppWizard支持三类程序:基于视图/文档结构的单文档应用、基于视图/文档结构的多文档应用程序和基于对话框的应用程序。也可以利用AppWizard生成最简单的控制台应用程序(类似于DOS下用字符输入输出的程序)。ClassWizard:用来定义AppWizard所创建的程序中的类。可以利用ClassWizard在项目中增加类、为类增加处理消息的函数等。ClassWizard也可以管理包含在对话框中的控件,它可以将MFC对象或者类的成员变量与对话框中的控件联系起来。ActiveX Control Wizard:用于创建一个ActiveX控件的基本框架结构。ActiveX控件是用户自定义的控件,它支持一系列定义的接口,可以作为一个可再利用的组件。MFC库库(library)是可以重复使用的源代码和目标代码的集合。MFC (Microsoft Fundamental Casses)是Visual C+开发环境所带的类库,在该类库中提供了大量的类,可以帮助开发人员快速建立应用程序。这些类可以提供程序框架、进行文件和数据库操作、建立网络连接、进行绘图和打印等各种通用的应用程序操作。使用MFC库开发应用程序可以减少很多工作量。2 .项目开发过程在一个集成的开发环境中开发项目非常容易。Compilerhello.exehello.exe一个用C+开发的项目的通用开发过程可以用左图表Zj,x o建立一个项目的第一步是利用编辑器建立程序代码文件,包括头文件、代码文件、资源文件等。然后,启动编译程序,编译程序首先调用预处理程序处理程序中的预处理命令(如#include,#define等),经过预处理程序处理的代码将作为编译程序的输入。编译对用户程序进行词法和语法分析,建立目标文件,文件中包括机器代码、连接指令、外部引用以及从该源文件中产生的函数和数据名。此后,连接程序将所有的目标代码和用到的静态连接库的代码连接起来,为所有的外部变量和函数找到其提供地点,最后产生一个可执行文件。一般有一个makefile文件来协调各个部分产生可执行文件。可执行文件分为两种版本:Debug和Release。 Debug版本用于程序的开发过程,该版本产生的可执行程序带有大量的调试信息,可以供调试程序使用,而Release版本作为最终的发行版本,没有调试信息,并且带有某种形式的优化。学员在上机实习过程中可以采用Debug版本,这样便于调试。选择是产生Debug版本还是Release版本的方法是:在Developer Studio中选择菜单Bui ld|Set Act i ve Configuration,在弹出的对话框中,选择所要的类型,然后选择0K关闭对话框。Visual C+集成开发环境中集成了编辑器、编译器、连接器以及调试程序,覆盖了的开发应用程序的整个过程,程序员不需要脱离这个开发环境就可以开发出完整的应用程序。3 .运行方法将C程序分为单文件程序和多文件程序。下面分别介绍在Visual C+6.0系统中运行这两类程序的方法。1.运行单文件程序所谓单文件程序是指一个程序只由一个源文件组成,在初学C语言时,大多数情况下编写的程序都是这类程序。编辑运行单文件程序的步骤如下:【第1步】双击桌面上的“Microsoft Visual C+6.0”图标,出现如图1所示的 Visual C+6.0系统界面。图1"Micros。代 Visual C+6.0”系统界面【第2步】从File菜单中选择“New”命令,出现“New”对话框,从中选择“Files”选项卡,选择“C+Source File”选项,如图2所示。图2“New”对话框【第3步】单击右侧的“”命令按钮(用于设置存放C程序文件的文件夹),出现如图3所示的“Choose Directory”对话框。选取d:盘中的“C实验教程”文件夹,单击“0K”命令按钮返回。Files | Projects |ChooseDirectoryc1旧Active Server Pa(豆Binary File fBitmap File D C/C»< Header Hl Pl C»-» Source File 汾 Cursor FileHTML Page Jlcon File XMacro File Resource Script 而Resource Temph 国 SQL Script File 国 Text FileDirectory name:D:UN06计算机CQKCancelNetwork.lln06 Hmeo普建文件夹drives:d SettingsAdm d:图3M Choose Directory M 对话框【第4步】在"File”文本框中输入“charpl”(表示以cl.cpp文件存放当前程序),如图4所示,单击“0K”命令按钮返回。NewFiles | Projects | Workspaces | Other Documents |V Add to project:File |chaq)1_1Location: |D:UN06 计算机 ctgf1 Active Server Page0Binary File8Bitmap File C/C* Header File(?) C+ Source File汾 Cursor File9 HTML PageJlcon File.:Macro FileResource Script理Resource Template国 SQL Script FileIB Text File图4“New”对话框【第5步】在出现的charpl_l.cpp编辑框中输入程序,如图5所示。注意在输入程序时要随时保存程序文件(使用“Files”菜单中的“Save”命令,或单击左上方的保存图标),以免出现意外导致程序丢失。charpl_l. exe _0 error (s),0 warning(s)| Bu i 1 d /Debug X Find in Files 1 Find in Files |r c上机.图5"charpl.cpp”编辑框【第6步】在程序输入完毕,选择“Build”菜单中的“Compilecl.cpp”命令,在出现的所示提示框中选择“Yes”。这样产生了 charpl_l.exe可执行文件。【第7步】选择"Build”菜单中的“Executecl.exe”命令,执行该程序。【第8步】在执行程序中输入:25/执行结果为:最大值:5 o最后用户按任一键返回。2运行多文件程序所谓多文件程序是指一个程序中至少包含两个文件,可以是两个以上文件组成的一个程序。下面以举例来说明编译连接和运行这种程序的方法。该程序由三个文件组成:filel.cpp 文件:#include <stdio.h>extern void f1(),void f2(); main ()fl();f2();filel.cpp 文件:#include <stdio.h> static void f3() printf(nfile2:f3()nn);)void fl() (printf("file2:f1()n"); f3();file3.cpp 文件:#include <stdio.h> static void f3()(printf("file3:f3()nn);void f2()(printf(nfile3:f2()n"); f3();|运行上述程序的步骤如下:【第1步】在某个指定的目录下创建好C+的源文件(采用1节的步骤)。例如,在 d:CBookstudent 1文件夹中建立好 C+的源文件 filel.cpp、flle2.cpp 和 file3.cpp。【第2步】创建一个新的项目文件。方法是先选择主菜单中的“File”,在它的下拉菜单中选择"New”命令,屏幕上出现"New”对话框,选择"Projects”选项卡,在"Project name”选框中输入所指定项目名字,如“stu”。在“Location”选框中,输入你要建立项目文件所需的源文件所在的路径,如"D:Cstu",如图9所示。选中“Win32 Console Application”选项(一定要选中此选项,表示建立控制台应用程序,即建立和TurboC运行环境相似的C程序),单击“OK”命令按钮。图6“New”对话框的“Projects”选项卡页面【第3步】在出现的如图10所示"Win32 Console Application对话框中单击u An empty project”选项(默认值),再单击“Finish”命令按钮。图7° Win32 Console Applicationsw 对话框【第4步】在出现如图11所示的“New Project Information"对话框中单击“OK”命令按钮。图8"New Project Information”对话框【第5步】在出现如图12所示的“stu”项目界面中,选择Project菜单中“AddTo Project”命令,再在出现的子菜单中选择"Files”命令,出现打开文件对话框,把filel.cpp、file2.cpp 和file3.cpp依次添加到该项目中。BmX4 Help B C,0Vlew EZ) FIluVImJTDs*«n4«nc> «>.£*>><> Kaport H«k«rkl«图9"Excise”项目界面【第6步】选择"Build”菜单中的“BuildExcise.exe”命令进行编连,结果如图13所示,表示编连正确。图10 stu项目编连结果【第7步】选择"Build”菜单中的"ExecuteExcise.exe”命令运行程序,即运行输出如下:file2:fl () file2:f3() file3:f2() file3:f3()第三部分上机实验内容实验一基础实验一、实验目的:ffl 熟悉C语言的集成编译环境;掌握C程序的编辑、编译、链接以及运行等步骤;熟悉常用的调试信息并根据系统提示的信息进行C程序的修改;掌握查看程序运行结果的方法。Ga熟练掌握c语言中数据类型的概念和定义、声明变量的方式及对变量赋值的方法。ffl 熟练掌握C程序各种运算符及其运算符的优先级和结合性、运算规则、运算对象、表达式(特别是关系表达式与逻辑表达式的使用方法)以及表达式运算过程中的类型转换。Q 熟练掌握scanf (getchar)/printf (putchar)库函数的调用格式及其使用,能够正确使用各种格式转换控制符掌握各种类型数据的输入/输出的方法。£体会编程的方法。Q 进一步训练C程序的编辑、编译、链接和运行的过程并体会输出函数。二、实验内容1 .下面C程序的功能是:通过键盘输入数据,计算并输出这些数据的和。(该程序有部分错误) Sinclude <stdio. h>void main() int a, b, c, suml;float x, y, z; sum2=0.0;printf( aInput int data:nn );scanf ( u%d%d%d,>,&a,&b,&c);Sumi=a+b+cprintf( aOutput suml=%dnw , suml);printf( uInput float data:n);scanf ("%f,%f,%f ”,&x,&y,&z);SUM2+=suml;printf(Output sum2=%dn, sum2);)要求:(1)输入该程序,进行编译、链接,在编译的过程发现错误,根据信息窗口的提示检查源程序并进行修改,然后再进行编译链接,直到成功通过为止。并解释错误的原因。(2)运行该程序、察看运行结果并体会输入格式。2.计算三角形面积的程序源代码:程序有错请检查错误。# include<math. h># include<stdio. h>void main()(float a, b, c, s, area;scanf ("f,%f,%f ”,&a,&b,&c);s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c);printf("area二%dn”,area);)将上述文件保存到syl_2.c。这个源程序没有任何语法错误,能顺利通过编译和连接。在运行时输入:2.5,3.6,4.7/输出结果为: area=0,为什么?4.输入下列程序:void main()int a, b;float x, y;char cl, c2;scanf ("a=%d, b=%dw,&a,&b);scanf ("x=%f, y=%f",&x,&y);scanf (wcl=%c c2=%c”,&cl,&c2);printf ("a=%d, b=%d, x=%f, y=%f, cl=%c, c2=%cn”, a, b, x, y, cl, c2);)'要求:1)为了使变量的值为:a=10, b=255, x=123.456, y=-l.9, cl= a', c2=' A',则正确的数据输入形式是什么?体会输入格式串,说明为什么?2)什么样的输入格式最容易发现存在的错误?假定仍要得到上面的结果,你还可以将输入语句怎样改写?5 .按上面“输入、调试、编译、链接、执行”程序的步骤,完成下面程序的输入、编译、执行。void main()int x,y;x=32767;y=x+l;printf (“x=%d, y=%dn", x, y);分析上面程序的运行结果(分别在turboc2下及VC+6.0下执行),写出不同环境下的运行结果;并给出运行结果的说明。6 .编程,实现取一个整数a从右端开始的47位。问题讨论1 .小结上机各个环节所出现的错误及解决的办法。2 .记下在调试过程中所发现的错误、系统给出的出错信息和对策。分析讨论对策成功或失败的原因。3 .总结C程序的结构和书写规则。实验二顺序结构和选择结构程序设计一、实验目的Q 了解C语言表示逻辑量的方法(以0代表“假”,以1代表“真”)Q学会正确使用逻辑运算符和逻辑表达式;£熟练掌握if、ifelse、ifelseif语句和switch语句格式及使用方法,掌握if语句中的嵌套关系和匹配原则,利用if语句和switch语句实现分支选择结构。二、实验内容1 .输入下列程序,找出错误的地方,并说明错误原因。a)以下程序用来求一元二次方程实根,求根之前先判断有无实根,第一次输入”好2.0, b=-2.0, c=l.0”;第二次输入“a=L 0, b=-4.0, c=4.00",分别输出正确的结果。#include “stdio. h"void main ()float a, b, c, d, xl, x2;scanf ("%f,%f,%f",&a,&b,&c);d=b*b-4*a*c;if (d<0)printf ("该方程无实根。n");else if (fabs(d)<e-6)printf ("有两个相等的实根:“);printf(*%5.4fn”,-b/(2*a);else x1=(-b+sqrt(d)/(2*a);x2=(-b-sqrt(d)/(2*a);printf ("有两个不等的实根:%5.4fn%5.4fn”, xl, x2);b)以下程序的作用是,根据从键盘输入的自变量x的值,输出函数值y。这个函数就是分段表示的符号函数,即当x<0时,尸-1;当x=0时,尸0;当x>0时,y=lo程序从第3行开始有3处错误,请改正并运行之,并说明原因,运行3次,分别输入2.30,-4.10,0,输出正确的函数值。void main() float x, y;printf ("请输入 x 的值:n x=");scanf x);if(x<0) y=-l;if(x=0) y=0;else y=l;printf ("x=%3.2f, y=%3.2f”, x, y);二、编程题:1 .编写程序,输入三角形三边a、b、c,判断a、b、c能否构成三角形,若不能则输出相应的信息,若能则判断组成的是等腰、等边、直角还是一般三角形。实验步骤与要求:(1)输入一组数据3,4,8,观察程序运行结果,并与实验一中程序2做比较(2)如果程序有误,可采用“跟踪打印”的调试方法,确定错误的出处。2 .计算表达式(形如3+5,9/3的四则运算式)的值3 .给出一个百分制成绩,要求输出成绩等级'A'、'B'、'、'D'、' E',其中90分以上为'A',80-89分为'B',7079分为'C',6069分为'D',60分以下为'E'。要求分别用if和switch来实现。修改程序,使能正确处理任何数据,当输入数据大于100或小于0时,显示“输入数据错误”,程序结束问题讨论1、C语言中如何表示“真”和“假”?2、C编译系统中如何判断一个量的“真”“和“假”?3、如何实现交换两个变量的值?4、什么情况下的if语句可以用switch代替?实验三、循环结构程序设计一、实验目的由熟练掌握while语句、do . while语句和for语句格式及使用方法,掌握三种循环控制语句的循环过程以及循环结构的嵌套,利用循环语句实现循环结构。由掌握简单、常用的算法,并在编程过程中体验各种算法的编程技巧。进一步学习调试程序,掌握语法错误和逻辑错误的检查方法。二、实验内容1 .编写程序:根据公式+,“输出n的值。6 V r T 了要求:1)变量n为单精度类型,n为整型;2)计算当n的取值分别为20,50,100,200时的n值,说明什么问题?3)修改程序,不给出n值,而改为求n值,直到最后一项的数值小于10'为止。4)对修改后的程序,输出兀值以及总的项数n。输出格式为:n=值;n=值。2 .从键盘输入一个01000之间的任意整数,输出该整数的所有因子(例如:输入12,其因子为1,2,3,4,6,12) o要求:1)采用while循环语句实现。2)输出格式为:Input:12Output:1,2,3,4,6,123计算并输出1000以内最大的10个素数以及