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

admin2020-05-31  37

问题 阅读下列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
请给出问题2中控制流图的线性无关路径。

选项

答案线性无关路径: 1.1-2-8 2.1-2-3-4-2…8 3.1-2-3-4-5-6-4…2…8 4.1-2-3-4-5-7-4…2…8

解析 本问题考查白盒测试用例设计方法:基本路径法。涉及到的知识点包括:根据控制流图和环路复杂度给出线性无关路径。
线性无关路径是指包含一组以前没有处理的语句或条件的路径。从控制流图上来看,一条线性无关路径是至少包含一条在其他线性无关路径中从未有过的边的路径。程序的环路复杂度等于线性无关路径的条数,所以本题中应该有4条线性无关路径。
转载请注明原文地址:https://kaotiyun.com/show/rzPZ777K
0

最新回复(0)