【简答题】
试题一(15分)
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
[说明]
以下代码由C语言书写,能根据指定的年、月计算当月所含天数。
int GetMaxDay( int year, int month )
{
int maxday = 0;
if ( month >= 1 && month <= 12 )
{
if ( month == 2 )
{
if ( year % 4 == 0 )
{
if ( year % 100 == 0 )
{
if ( year % 400 == 0 )
maxday = 29;
else
maxday = 28;
}
else
maxday = 29;
}
else
maxday = 28;
}
else
{
if ( month == 4 || month == 6 || month == 9 || month == 11 )
maxday = 30;
else
maxday = 31;
}
}
return maxday;
}
[问题1](4分)
请画出以上代码的控制流图。
[问题2](3分)
请计算上述控制流图的环路复杂度V(G)。
[问题3](8分)
假设year的取值范围是1000 < year < 2001,请使用基本路径测试法为变量year、month设计测试用例(写出year取值、month取值、maxday预期结果),使之满足基本路径覆盖要求。