- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验五__循环结构程序设计
实验五 循环结构程序设计(4学时)【实验前做的操作】在本人所用计算机的逻辑盘(如D:盘或E:盘)上建立一个以本人姓名为名称的文件夹,然后在此父文件夹下建立子文件夹,名称为“实验五”,用来零时存放实验五需要上交的有关文件。【实验目的】掌握循环结构程序设计的基本思想。理解循环结构程序段中语句的执行过程。了解goto语句和if语句构成循环的设计方法。掌握用for、while、do-while语句实现循环(一重循环和多重(重点是双重)循环))程序设计。掌握for、while、do-while三种循环的区别和联系及它们之间的灵活转换。在程序设计过程中实现一些常用算法。进一步练习程序的跟踪调试技术,掌握运行到光标处的调试方法。巩固利用VC++对C程序的查错方法,进一步提高修改程序错误的能力。【实验内容】 一、程序运行到光标处的跟踪调试和变量值的监视练习(可不上交、但必须操作、理解,掌握其方法)1、程序运行到光标处的跟踪调试和变量值的监视示例(请仔细按以下各步骤进行操作):编程计算表达式“1 + 2 + 3 + …… + 100”的值。源程序(有错误的程序)#include stdio.hvoid main( ){int i, sum; for ( i = 1, i = 100, i++ ) sum = sum + i; printf(sum = %d\n, sum); }运行结果(改正后程序的运行结果)sum = 5050(1)输入源程序,并以error5_1.c文件名保存,编译程序,出现第一个错误信息:missing ; before )双击该错误信息,箭头指向“for”这一行,错误信息指出在for语句的括号里面应使用“;”,对for语句括号里面进行仔细分析,发现把“;”写成了“,”。把“,”改为“;”后,重新编译,连接,都正确。(2)开始调试,如果调试工具栏不可见,采用实验四或实验二介绍的方法,调出该工具栏(见实验四图4.2所示)。(3)鼠标单击第6行,光标就在第六行前面闪烁,这就是当前的光标位置(如图5.1所示)。光标位置图5.1 光标在程序中位置(4)单击(Run to Cursor(Ctrl+F10)),程序运行到光标的位置(如图5.3所示)。 此过程中,出现图5.2 “生成可执行文件”的对话框时,选“是(Y)”按钮。图5.2 生成“error5_1.exe”文件在变量窗口中,第一次循环时i的值为1,正确,而sum的值是-858993460,不正确。仔细分析程序,发现sum没有赋初值。在for语句前面加一条语句sum = 0;,重新编译、连接,然后重做(3)和(4),图5.4显示sum的值为0,正确。图5.3 程序运行到光标的位置图5.4 程序运行到光标的位置,观察“sum”的值(5)把光标设在“}”的前面,鼠标单击,程序运行到光标处“}”的前面(如图5.5所示),变量窗口中,sum的值是5050,正确。(6)鼠标单击终止调试图标(Stop Debugging(Shaft+F5)),程序调试结束。图5.5 程序运行到光标的位置,观察最后“sum”的值2、程序运行到光标处的跟踪调试和变量值的监视练习:改错:计算下列表达式的值(保留2位小数)。(源程序名可定为error5_2.c)y = 1 / ( 1 * 3) + ( 1 * 3 ) / ( 2 * 4 ) + ( 2 * 4 ) / ( 3 * 5 ) + … + ( 8 * 10 ) / ( 9 * 11 )输入输出示例:Input n: 10y = 6.46提示:(1)模仿示例,采用运行到光标(Run to Cursor(Ctrl+F10))调试程序,并观察变量值的变化。(2)注意整数与整数相除的情况。源程序(有错误的程序——不是语法错误,而是算法错误或逻辑错误)#include stdio.hvoid main(){int n, i; float sum; sum = 0; printf(Input n: ); scanf(%d, n); for(i = 1; i =n; i++) if( i == 1) sum = 1 / 3; else sum+=(i-1)*(i+1)/(i*(i+2)); printf(Sum=%0.2f\n,sum); }3、程序的跟踪调试和变量值的监视练习:下面程序的功能是计算n!。输入下面程序,并以factor.c文件名保存main(){ int i,n,s=1; printf(Please enter n:); scanf(%d,n); for(i=1;i=n;i++) s=s*i; printf(%d! = %d\n,n,s);} 多次运行程序,每次改变n的值(从小到大,如4,7,10,……,20等等),思考哪些结果
文档评论(0)