● 针对以下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.3B.4C.5D.6

题目

● 针对以下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
分支覆盖要使得程序中的每一个分支都至少执行一次。本题比较特殊,在循环体中用到了continue与break,其中执行continue语句,则结束本次循环,也就是说执行continue后,其后面的循环体语句在本次循环中将不执行;而break语句结束的是本层循环,在本题中就结束了整个循环。在本题中要设计的用例如下:(1)使i<0成立,(2)使i<0不成立,而i>31成立(3)使i<0不成立,且i>31也不成立,而使sta[i]==-1成立。这样就实现了分支覆盖。参考答案A
更多“● 针对以下C语言程序段,假设sta[10]= -1,对于x的取值,需要__个测试用例能够满足分支覆盖的要求。 ”相关问题
  • 第1题:

    ● 针对以下C语言程序段,假设sta[10]= -1,对于 x 的取值,需要(56)个测试用例能够满足分支覆盖的要求。

    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;

    }

    (56)

    A.3

    B.4

    C.5

    D.6


    正确答案:A

  • 第2题:

    针对以下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
    解析:
    本题考查分支覆盖的概念和相关计算方法。分支覆盖要求程序中的每个分支都被测试覆盖到。本题中,x分别取0、100、10即符合要求。

  • 第3题:

    针对以下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
    解析:
    本题考查分支覆盖的概念和相关计算方法。分支覆盖要求程序中的每个分支都被测试覆盖到。本题中,x分别取0、100、10即符合要求。

  • 第4题:

    针对程序段:IF(X>10)AND(Y<20)THEN W=W/A,对于(X,Y)的取值,以下( )组测试用例能够满足判定覆盖的要求。

    A.(30,15)(40,10)
    B.(3,0)(30,30)
    C.(5,25)(10,20)
    D.(20,10)(1,100)

    答案:D
    解析:
    本题考查白盒测试用例设计方法--判定覆盖法的概念。比语句覆盖稍强的覆盖标准是判定覆盖(Decision Coverage)。判定覆盖的含义是:设计足够的测试用例,使得程序中的每个判定至少都获得一次"真值"或"假值",或者说使得程序中的每一个取"真"分支和取"假"分支至少经历一次,因此判定覆盖又称为分支覆盖。

  • 第5题:

    针对以下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
    解析: