阅读下列C程序,回答问题,将解答填入答题纸的对应栏内。 【C程序】 static void permute_args(int panonopt_start,int panonopt_end,int opt_end, int ncycle){

admin2020-05-31  31

问题 阅读下列C程序,回答问题,将解答填入答题纸的对应栏内。
【C程序】
    static void permute_args(int panonopt_start,int panonopt_end,int opt_end, int ncycle){
    int cstart , cyclelent i , j , nnonoptst, nopts , pos;    //1

    nnonopts=panonopt_end - panonopt_start;
    nopts=opt_end - panonopt_end;
    cyclelen=(opt_end - panonopt_start)/ncycle;

    for(i = 0;i < ncycle,i++) {    //2
    cstart=panonopt_end+i;    //3
    pos=cstart;
    for(j=0;j<cyclelen;j++){    //4
    if(pos>=panonopt_end)    //5
    pos-=nnonopts;    //6
    else
    pos+=nopts;    //7
    }
    }
    }    //8
请画出上述程序的控制流图,并计算其控制流图的环路复杂度V(G)。

选项

答案控制流图如下,环路复杂度V(G)=4 [*]

解析 本问题考查白盒测试用例设计方法:基本路径测试法。涉及到的知识点包括:根据代码绘制控制流图、计算环路复杂度。
控制流图是描述程序控制流的一种图示方式,它由节点和定向边构成。控制流图的节点代表一个基本块,定向边代表控制流的方向。
程序的环路复杂度等于控制流图中判定节点的个数加1,本题控制流图中判定节点个数为3,所以V(G)=4。
转载请注明原文地址:https://kaotiyun.com/show/gzPZ777K
0

相关试题推荐
最新回复(0)