刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

单选题

针对以下C语言程序段,假设sta[10]=-1,对于x的取值,需要______个测试用例能够满足分支覆盖的要求。
Int MathMine(int x)
{
int m=0;
int i;
for(i=x-1;i<=x+1;i++)
{
If(i<0)    continue;
If(i>31)    break;
If(sta[i]==-1)    m++;
}
return m;
}

A
3
B
4
C
5
D
6
使用微信搜索喵呜刷题,轻松应对考试!

答案:

A

解析:

根据分支覆盖的要求,需要设计测试用例使得程序中的每个分支至少执行一次。在这个C语言程序段中,关键的分枝条件包括i<0、i>31以及sta[i]==-1。为了覆盖所有这些条件,我们需要考虑以下几种情况:

  1. 当i<0时,程序会执行continue语句,跳过当前循环的剩余部分,直接进行下一次循环。因此,我们需要一个测试用例使得i<0成立。
  2. 当i>31时,程序会执行break语句,立即终止循环。我们需要一个测试用例使得i>31成立。
  3. 当sta[i]==-1时,变量m会增加。我们需要确保在循环中至少有一次满足这个条件。考虑到sta[10]已经等于-1,我们可以调整x的值使得循环考虑这个元素。因此需要一个测试用例使得sta[i]==-1成立。

结合上述分析,我们可以选择三个测试用例来满足分支覆盖的要求:x=0(使得循环执行一次)、x=1(使得循环执行三次)、以及x=3(使得循环执行一次且满足sta[i]==-1)。因此,需要三个测试用例就能满足分支覆盖的要求,答案选择A。

创作类型:
原创

本文链接:针对以下C语言程序段,假设sta[10]=-1,对于x的取值,需要______个测试用例能够满足分支

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share