数学与软件科学学院实验报告
学期:11至12___ 第_1 学期 2011年10月17日
课程名称:程序设计基础教程-C语言实验编号: 04 实验项目:分支结构的程序设计指导教师_张莉_
姓名:陈韫学号:2010060202 2010 级2班专业: 数学与应用数学
实验成绩:
实验内容:
1. (a)l流程图为:
Yes
Yes
输出nA,nB,nX
nX=nX+1
nA==2或nX>1?
nX=nX/nA
nA>1且nB==0?
输出nA,nB,nX
No
No
(b) 增加输入、输出功能以补充完整该程序段,使之能够运行;
完善后的源程序代码为:
#include<>
int main(void)
{
float nA,nB,nX;
scanf("%f,%f,%f",&nA,&nB,&nX);
if (nA>1 && nB==0) nX=nX/nA;
if (nA==2 || nX>1) nX=nX+1;
printf("nA=%f,nB=%f,nX=%f\n",nA,nB,nX);
return 0;
}
(c) 测试该程序段的各种条件组合下的运行结果。测试数据组如下:
nA nB nX
1 1 10
1 1 20
3 0 11
2 0 42
2 1 12
1 0 21
2 1 22
3 0 21
(d) 分析讨论:
1) 用哪组数据就可以使程序段中每个处理语句都执行一次?为了找出程序中的逻辑错误,应使用什么样的数据进行测试?请上机验证自己的分析结果。
答:用第4组数据(2 0 4)每个处理语句都执行一次。
2) 用哪两组数据可以使程序段中的每个分支都至少运行一次?为找出各个分支中的逻辑错误,应选用什么样的数据进行逻辑测试?请上机验证自己的分析结果。
答:用第3、4、5、6、7、8组数据(3 0 1,2 0 4,2 1 1,1 0 2,2 1 2,3 0 2)每个处理语句都至少执行一次。
3) 用哪四组数据可以将从起点到终点的各条路径都覆盖一次?为了测试程序在各个不同路径上的错误,应选用什么样的测试数据?请上机验证自己的分析结果。
答:用第4、5、7组数据(2 0 4,2 1 1,2 1 2)每个处理语句都执行一次。
2. 2. if else语句实验。用if else句型,编写求4个数中最大者的程序,并设计测试用例、记录测试结果;
源程序代码为:
#include<>
int main(void)
{
float a,b,c,d,max;
printf("Please input four numbers:\n");
scanf ("%f,%f,%f,%f",&a,&b,&c,&d);
if (a>b&&a>c&&a>d)
printf("max=%f\n",a);
else if(b>a&&b>c&&b>d)
printf("max=%f\n",b);
else if(c>a&&c>b&&c>d)
printf("max=%f\n",c);
else
printf("max=%f\n",d);
return 0;
}
测试结果为:
3
2010060202 陈韫 实验四费下载 来自淘豆网m.daumloan.com转载请标明出处.