单项选择题

设有一段程序如下:
if((a==b) and ((c==d) or (e==f))) do S1
else if((p==q) or (s==t)) do S2
else do S3
满足判定/条件覆盖的要求下,最少的测试用例数目是______。

A.6
B.8
C.3
D.4
热门 试题

问答题
已知C源程序如下: * Input today’s date,output tomorrow’s date * * version 2 * #include <stdio.h> struct ydate int day; int month; int year; ; int leap(struct ydate d) if((d.year%4==0&&d.year%100!=0)||(d.year%400==0) return 1; else return 0; int numdays(struct ydate d) int day; static int daytab[]= 31,28,31,30,31,30,31,31,30,31,30,31; if (leap (d)&&d.month==2) day=29; else day=daytab [d.month-1]; return day; int main (void) struct ydate today, tomorrow; printf( format of date is: year,month, day 输入的年、月、日之间应用逗号隔开 n printf( today is: ) ; scanf ( %d, %d, %d , &today. year, &today.month, &today. day) ; while(0>=today.year|| today.year>65535||0>=today.month||today.month>12)||0>= today, day||today, day>numdays (today)) printf( input date error! reenter the day! n ); printf( today is : ); scanf ( %d, %d, %d , &today. year, &today.month, &today. day); if (today. day! =numdays (today)) tomorrow.year:today.year; tomorrow.month=today.month; tomorrow.day=today.day+1; else if(today.month==12) tomorrow.year:today.year+1; tomorrow.month=1; tomorrow.day=1; else tomorrow.year=today.year; tomorrow.month=today.month+1; tomorrow.day=1; printf( tomorrow is :%d,%d,%d n n , tomorrow.year, tomorrow.month, tomorrow.day); (1)画出程序中所有函数的控制流程图。 (2)设计一组测试用例,使该程序所有函数的语句覆盖率和分支覆盖率均能达到100%。如果认为该程序的语句或分支覆盖率无法达到100%,则说明为什么。