2 0 2 1 年软件评测师真题(含答案) (共20 分) 阅读下列C 程序,回答问题1 至问题3,将解答填入答题纸的对应栏内
【C 程序】 int GetMaxDay( int year, int month){ int maxday=0; //1 if( month=1month=12){ //2,3 if (month==2 ){ //4 if( year%4==0){ //5 if(year
0==0){ //6 if( year@0==0) //7 maxday= 29; //8 else //9 maxday= 28; } else //10 maxday= 29; } else maxday = 28; //11 } else{ //12 if (month=4||month=6||month=9||month=11) //13, 14,15,16 maxday = 30; //17 else //18 maxday = 31; } } return maxday; //19 } 【问题1】(6 分) 请针对上述C 程序给出满足100ü(判定覆盖)所需的逻辑条件
【问题2】(9 分) 请画出上述程序的控制流图,并计算其环路复杂度V(G)
【问题3】(5 分) 请给出问题2 中控制流图的线性无关路径
参考答案: 【问题1】: Month=1month=12 Month==2 Year%4==0 Year
0==0 Year@0==0 Month==2 Month==4 Month==6 Month==9 Month==11 【问题2】: V(G)=11 【问题3】: 1、2 1、2、3 1、2、3、4、12、13、17、19 1、2、3、4、12、13、14、17、19 1、2、3、4、12、13、14、15、17、19 1、2、3、4、12、13、14