九江学院化环学院C语言程序实验报告五
实 验 报 告
院(系): 课程名称:C程序设计 日期:
班级学号实验室专业姓名计算机号实验
名称循环结构程序设计成绩评定所用
软件Visual C++ 6.0教师签名实
验
目
的
或
要
求1. 熟悉使用Visual C++ 6.0单步调试程序的方法。
2. 熟练掌握while、do-while以及for语句实现循环的方法。
3. 掌握break和continue语句在循环中的控制作用。
4. 理解循环的嵌套结构以及嵌套的执行过程。
实
验
步
骤
、
心
得
体
会
实
验
步
骤
、
心
得
体
会
实
验
步
骤
、
心
得
体
会
实
验
步
骤
、
心
得
体
会
实
验
步
骤
、
心
得
体
会
实
验
步
骤
、
心
得
体
会
实
验
步
骤
、
心
得
体
会
1、熟悉使用Visual C++ 6.0单步调试程序的方法
1 在VC中新建一个源程序,输入以下代码:
#include
void main int n 528,s 0,t; while n! 0 t n%10;
s s+t; n n/10; printf "%d\n", s ; 2 编译、连接该程序,直至没有任何错误,调试信息窗口显示:
***.exe - 0 error s , 0 warning s 注:***为你取的文件名
3 调出Debug 调试 工具栏 工具栏上单击鼠标右键,在弹出式菜单中选择Debug选项,可调出Debug 调试 工具栏,如下图:
几个常用图标的含义为: Step Into F11 单步执行,如果被执行的语句是函数调用,还要进入被调函数内部继续单步执行。
Step Over F10 单步执行,如果被执行的语句是函数调用,则不进入被调函数内部。
Stop Debugging Shift+F5 停止调试
4 按F10,在int n 528,s 0,t;这行的左侧将出现一个箭头,表示程序开始单步执行
5 注意观察屏幕下方窗口“监视表达式”的值的动态变化 上图左侧窗口中,自动显示了变量n、s、t的值。右侧窗口中可以在“Name”框中填入其他表达式,例如填入表达式“n! 0” ,可发现其“Value”值为1。
6 每按一次F10,将依次执行程序中的一行代码,同时箭头指向即将被执行的下一行。每执行一行代码后,自己预测n、s、t的值,同时观察上图窗口中“监视表达式”值的变化,看是否与预测的一致。
7 执行完最后一条语句后,按Shift+F5停止调试。
8 分析这个程序,可发现通过循环能依次取出n的每一位,保存到t,同时累加到s中,最后的s为n的各位数之和。
9 本程序的运行结果为 。
2、预测程序运行结果,并上机验证
1 #include void main int i 5, j 0 ;
do j j+i;
i--;
while i 2 ;
printf "%d\n",j ; 你预期的输出结果是 , 实际输出结果为 。
其中,循环体共执行了 次。
请对照上面的程序认真体会下列人工分析过程,程序阅读题均可按此方法分析。为简便起见,用①、②代表循环体中的语句。 i j i 2 输出
int i 5,j 0; 5 0
①j j+i; 5
②i--; 4
③while表达式 真
① 9
② 3
③ 真
① 12
② 2
③ 假
printf 12
请利用前面介绍的方法,在VC中单步执行该程序,同时观察监视表达式i、j、i 2的值,验证上述人工分析的结果是否正确。 2 #include
void main int k 1, n 0, sum 0; while k 20 if k%3 0 sum + k; n++; k++; printf "sum %d,n %d\n" ,sum,n ; 预期的输出结果是 实际的输出结果为 从程序可看出,sum计算的是20以内 之和。
3 #include
void main int i, s1 0,s2 0,s3 0; for i 1; i 4; i++ switch i case 1: s1++; case 2: s2++; break; case 3: s3++; continue; default: s2++; s1++; printf "%d,%d,%d\n",s1,s2,s3 ; break语句的作用是 continue语句的作用是 , 程序输出结果为_____________ ,
本程序中break语句执行了 次,continue语句执行了 次,
循环体执行了 次。当i 2时