实验二1:练习转移语句和标号语句的使用
在本实验中,我使用了Turbo C 2.0集成开发环境中的调试功能,包括单步执行、设置断点和观察变量值。我编写了一个程序,完成了以下任务:
1. 实验目的
1.1 掌握复合语句、if语句、switch语句的使用;
1.2 熟练掌握for、while、do-while三种基本的循环控制语句的使用;
1.3 掌握重复循环技术;
1.4 了解转移语句与标号语句;
1.5 使用Turbo C 2.0集成开发环境中的调试功能,包括单步执行、设置断点和观察变量值。
2. 实验内容
2.1 源程序改错题
下面是一个计算s=n!的源程序,然而,该程序存在一些语法和逻辑错误。为了使程序能够正确完成指定的任务,我在计算机上进行了调试和修改。例如,当n=8时,8!=40320。
源程序如下:
```c
#include <stdio.h>
int main() {
int n, i, s;
printf("请输入一个整数n:");
scanf("%d", &n);
s = 1;
for (i = 1; i <= n; i++);
{
s = s * i;
}
printf("%d! = %d\n", n, s);
return 0;
}
```
在调试过程中,我发现程序中存在以下错误:
2.1.1 语法错误
- 第10行末尾存在一个分号`i++`,导致循环没有执行;
- 第13行中的大括号位置错误,导致循环体无法正确执行。
2.1.2 逻辑错误
- 第7行的变量`s`应该初始化为1,而不是0;
- 第13行的循环体应该累乘到`s`上,而不是将`i`赋值给`s`。
在对源程序进行错误修改后,修正后的代码如下:
```c
#include <stdio.h>
int main() {
int n, i, s;
printf("请输入一个整数n:");
scanf("%d", &n);
s = 1;
for (i = 1; i <= n; i++) {
s = s * i;
}
printf("%d! = %d\n", n, s);
return 0;
}
```
3. 实验结果
经过调试和修改后,源程序可以正确计算出给定整数的阶乘,并将结果输出。我使用Turbo C 2.0集成开发环境的调试功能,验证了程序的正确性。
总之,在本实验中,我掌握了转移语句和标号语句的使用,并成功运用Turbo C 2.0集成开发环境的调试功能进行错误修正。通过这个实验,我巩固了复合语句、if语句、switch语句以及for、while、do-while三种基本循环控制语句的使用,加深了对重复循环技术的理解,进一步了解了转移语句与标号语句的应用。同时,我也掌握了在Turbo C 2.0集成开发环境中使用调试功能的方法,包括单步执行、设置断点和观察变量值等。通过这次实验,我对编程和调试技术有了更深入的了解和应用。