实验五 - - 循环结构程序设计

2019-03-28 16:09

360717070.docx循环结构程序设计

实验五 循环结构程序设计

(4学时)

【实验前做的操作】

在本人所用计算机的逻辑盘(如D:盘或E:盘)上建立一个以本人姓名为名称的文件夹,然后在此父文件夹下建立子文件夹,名称为“实验五”,用来零时存放实验五需要上交的有关文件。

【实验目的】

1、 掌握循环结构程序设计的基本思想。 2、 理解循环结构程序段中语句的执行过程。 3、 了解goto语句和if语句构成循环的设计方法。

4、 掌握用for、while、do-while语句实现循环(一重循环和多重(重点是双重)循环))

程序设计。

5、 掌握for、while、do-while三种循环的区别和联系及它们之间的灵活转换。 6、 在程序设计过程中实现一些常用算法。

7、 进一步练习程序的跟踪调试技术,掌握运行到光标处的调试方法。 8、 巩固利用VC++对C程序的查错方法,进一步提高修改程序错误的能力。

【实验内容】

一、程序运行到光标处的跟踪调试和变量值的监视练习(可不上交、但必须操作、理解,掌握其方法)

1、程序运行到光标处的跟踪调试和变量值的监视示例(请仔细按以下各步骤进行操作):

编程计算表达式“1 + 2 + 3 + ?? + 100”的值。

源程序(有错误的程序)

#include void main( ) { int i, sum; for ( i = 1, i <= 100, i++ ) sum = sum + i; printf(\ }

第1页共11页

360717070.docx循环结构程序设计

运行结果(改正后程序的运行结果) 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;,重新编译、连

第2页共11页

360717070.docx循环结构程序设计

接,然后重做(3)和(4),图5.4显示sum的值为0,正确。

图5.3 程序运行到光标的位置

图5.4 程序运行到光标的位置,观察“sum”的值

第3页共11页

360717070.docx循环结构程序设计

(5)把光标设在“}”的前面,鼠标单击所示),变量窗口中,sum的值是5050,正确。

(6)鼠标单击终止调试图标

,程序运行到光标处“}”的前面(如图5.5

(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: 10 y = 6.46

提示:

(1)模仿示例,采用运行到光标(Run to Cursor(Ctrl+F10))调试程序,并观察变量值的变化。

(2)注意整数与整数相除的情况。

源程序(有错误的程序——不是语法错误,而是算法错误或逻辑错误) #include void main() { int n,i; float sum;

第4页共11页

360717070.docx循环结构程序设计

}

sum=0;

printf(\scanf(\for(i =1; i <=n;i++) if( i ==1) sum=1/3; else sum+=(i-1)*(i+1)/(i*(i+2)); printf(\

3、程序的跟踪调试和变量值的监视练习: 下面程序的功能是计算n!。

输入下面程序,并以factor.c文件名保存 main()

{int i,n,s=1; printf(\; scanf(\,&n); for(i=1;i<=n;i++) s=s*i;

printf(\,n,s); }

多次运行程序,每次改变n的值(从小到大,如4,7,10,??,20等等),思考哪些结果是正确的,n的值为多少时,输出了错误的结果?如20!=-2102132736,这显然是错误的,为什么?

为了找到程序的错误,可以通过单步执行来观察变量的变化。分析产生这种现象的原因,把程序改正过来,并保存,再用n=20进行实验,分析所得到的结果。

二、编程练习(必须上交)

利用VC++编写程序,并调试、运行,直到输出正确结果。

编程练习1: 注意:

这里提供了以填空的形式出现源程序参考清单,目的是给同学们一个思路。最好不要将此源程序清单复制到VC++中,否则会出现多处语法错误。同学们可以据此思路来填写有

第5页共11页


实验五 - - 循环结构程序设计.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2018年自适应机器人现状及发展趋势分析 (目录)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: