欢迎来到天天文库
浏览记录
ID:12496742
大小:326.00 KB
页数:12页
时间:2018-07-17
《实验5 循环结构程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、eda5618ebe0e8a35749e14d1cf037287.doc(匡珍春制作)实验五循环结构程序设计(4学时)实验前必须做的操作——新建文件夹:1、先在对应的K:盘上建立一个父文件夹(用来存放本人整个学期的作业),格式为:“专业+班级+学号+姓名”,如:航海1091班、学号为05的匡珍春同学,其父文件夹名称为:航海109105匡珍春,然后在此父文件夹下建立子文件夹,名称为:实验5(用来存放实验5需要上交的文件)。2、在E:盘上建立一个以本人姓名为名称的文件夹(本次实验的工作文件夹),例如:E:匡珍春【实验目的】1、掌握循环结构程序设计的基本思想。2、理解循
2、环结构程序段中语句的执行过程。3、了解goto语句和if语句构成循环的设计方法。4、掌握用for、while、do-while语句实现循环(一重循环和多重(重点是双重)循环))程序设计。5、掌握for、while、do-while三种循环的区别和联系及它们之间的灵活转换。6、在程序设计过程中实现一些常用算法。7、进一步练习程序的跟踪调试技术,掌握运行到光标处的调试方法。8、巩固利用VC++对C程序的查错方法,进一步提高修改程序错误的能力。【实验内容】[实验任务一]:程序运行到光标处的跟踪调试和变量值的监视练习程序跟踪调试实例5-1:程序运行到光标处的跟踪调试和变量值
3、的监视示例(请仔细按以下各步骤进行操作):编程计算表达式“1+2+3+……+100”的值。(需要存盘)源程序(有错误的程序)运行结果(改正后程序的运行结果)sum=5050【操作步骤】:第12页共12页eda5618ebe0e8a35749e14d1cf037287.doc(匡珍春制作)(1)输入源程序,并以error5_1.c文件名最终保存在实验5文件夹里,然后执行“编译/Build”—>“编译/Compile”,出现第一个错误信息是:双击该错误信息,箭头指向”for”这一行,错误信息指出在for语句的右圆括号前面缺少分号,根据所学知识可知for语句括号里面应使用
4、分号“;”,对for语句括号里面进行仔细分析,发现把“;”写成了“,”。把“,”改为“;”后,重新编译并连接,都正确。(2)开始调试,若调试工具栏不可见,采用实验四介绍的方法,调出该工具栏(见实验四图4.2所示)。(3)鼠标单击第6行,光标就在第六行前面闪烁,这就是当前的光标位置(如图5.1所示)。光标位置图5.1光标在程序中位置(4)单击(RuntoCursor(Ctrl+F10)),程序运行到光标的位置(如图5.3所示)。此过程中,出现图5.2“生成可执行文件”的对话框时,选“是(Y)”按钮。图5.2生成“error5_1.exe”文件在变量窗口中,第一次循环时
5、i的值为1,正确,而sum的值是-858993460,不正确。仔细分析程序,发现sum没有赋初值。在for语句前面加一条语句sum=0;,重新编译、连接,然后重做(3)和(4),图5.4显示sum的值为0,正确。第12页共12页eda5618ebe0e8a35749e14d1cf037287.doc(匡珍春制作)图5.3程序运行到光标的位置图5.4程序运行到光标的位置,观察“sum”的值(5)把光标设在“}”的前面,鼠标单击,程序运行到光标处“}”的前面(如图5.5所示),变量窗口中,sum的值是5050,正确。(6)鼠标单击终止调试图标(StopDebugging
6、(Shaft+F5)),程序调试结束。第12页共12页eda5618ebe0e8a35749e14d1cf037287.doc(匡珍春制作)图5.5程序运行到光标的位置,观察最后“sum”的值程序跟踪调试实例5-2:改错:计算下列表达式的值(保留2位小数)。将程序以error5_2.c文件名最终保存在实验5文件夹里。(需要存盘)y=1/(1*3)+(1*3)/(2*4)+(2*4)/(3*5)+…+(8*10)/(9*11)输入输出示例:Inputn:10y=6.46提示:(1)模仿示例,采用运行到光标(RuntoCursor(Ctrl+F10))调试程序,并观察变
7、量值的变化。(2)注意整数与整数相除的情况。源程序(有错误的程序——不是语法错误,而是算法错误或逻辑错误)第12页共12页eda5618ebe0e8a35749e14d1cf037287.doc(匡珍春制作)程序跟踪调试实例5-3:下面程序的功能是计算n!。输入下面程序,并以factor.c文件名最终保存在实验5文件夹里。(需要存盘)多次运行程序,每次改变n的值(从小到大,如4,7,10,……,20等等),思考哪些结果是正确的,n的值为多少时,输出了错误的结果?如20!=-2102132736,这显然是错误的,为什么?为了找到程序的错误,可以通过单步执行来观察变
此文档下载收益归作者所有