题库 题库

【简答题】

试题四(10分)
    阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
[说明]
    以下代码由C语言书写,在输入三个整数后,能够输出最大数和最小数。
    int main( void )
    {
    int a, b, c, max, min;
    printf( "input three numbers:    " );
    scanf( "%d%d%d", &a, &b, &c );
    if( a > b )                      /*判断1*/
    {
    max = a;
    min = b;
    }
    else
    {
    max = b;
    min = a;
    }
    if( max < c )                /*判断2*/
    max = c;
    else if( min > c )            /*判断3*/
    min = c;
    printf( "max=%d\nmin=%d", max, min );
    return 0;
    }

[问题1](3分)
    请画出该程序段的控制流图,并分析该控制流图中有多少条线性独立路径(V(G)的值)。

[问题2](2分)
    为了用分支(判定)覆盖方法测试该程序,需要设计测试用例,使其能对该程序中的每个判断语句的各种分支情况全部进行过测试。
    对两组输入数据(1)a=3,b=5,c=7;(2)a=4,b=6,c=5,请分别写出程序中各个判断语句的执行结果(以T表示真,以F表示假),填入答题纸的相应栏中。[问题3](5分)
    上述两组测试数据是否能实现该程序的分支(判定)覆盖?如果能,请说明理由。如果不能,请再增设一组输入数据,使其能实现分支(判定)覆盖。

参考答案

相关试题