摘要:试题一(15分)阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。[说明]以下代码由C语言书写,能根据指定的年、月计算当月所含天数。intGetMaxDay(intyear,intmonth){intmaxday=0;if(month>=1&&month<=12){if(month==2){if(year%4==0){if
试题一(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 预期结果),使之满足基本路径覆盖要求。
软考备考资料免费领取
去领取