网友您好, 请在下方输入框内输入要搜索的题目:

题目内容 (请给出正确答案)
针对下列程序段,需要( )个测试用例可以满足分支覆盖的要求。int IsLeap(int year){if(year%4==0){if((year%100==0){if(year%400==0)leap=1;else leap=0;}else leap=l;}else leap=0;return leap;}

A.3
B.4
C.6
D.7

参考答案

参考解析
解析:本题考查DC用例设计。代码中有三个判定表达式,所需用例数是判定数+1=4。
更多 “针对下列程序段,需要( )个测试用例可以满足分支覆盖的要求。int IsLeap(int year){if(year%4==0){if((year%100==0){if(year%400==0)leap=1;else leap=0;}else leap=l;}else leap=0;return leap;}A.3 B.4 C.6 D.7” 相关考题
考题 ●试题八阅读以下说明和C++程序,将应填入(n)处的字句写在答题纸的对应栏内。【说明】设计一个日期类Date包括年、月、日等私有数据成员。要求实现日期的基本运算,如某日期加上天数、某日期减去天数、两日期相差的天数等。在Date类中设计如下重载运算符函数:Date operator+(int days):返回某日期加上天数得到的日期。Date operator-(int days):返回某日期减去天数得到的日期。int operator-(Date&b):返回两日期相差的天数。【程序】#includeiostream.hint day tab[2][12]={{31,28,31,30,31,30,31,31,30,31,30,31},{31,29,31,30,31,30,31,31,30,31,30,31}};∥day_tab二维数组存放各月天数,第一行对应非闰年,第二行对应闰年class Date{int year,month,day;∥年,月,日int leap(int);∥判断是否为闰年int dton(Date&);Date ntod(int);public:Date(){}Date(int y,int mint d){year=y;month=m;day=d;}void setday(intd){day=d;}void setmonth(int m){month=m;}void setyear(int y){year=y;}int getday(){return day;}int getmonth(){return month:}int getyear(){return year;)Date operator+(int days)∥+运算符重载函数{static Date date;int number= (1) ;date=ntod(number);return date;}Date operator-(int days)∥-运算符重载函数{staffs Date date;int number= (2) ;number-=days;date=ntod(number);return date;}int operator-(Date &b)∥-运算符重载函数{int days= (3) ;return days;}void disp(){coutyear"."month"."dayendl;}};int Date::leap(int year){if( (4) )∥是闰年return 1;∥不是闰年elsereturn0:}int Date::dton(Date &d)∥求从公元0年0月0日到d日期的天数{inty,m,days=0;for(y=1;y=d.year;y++)if( (5) )days+=366;∥闰年时加366天else days+=365;∥非闰年时加365天for(m=0;md.month-1;m++)if( (6) )days+=day_tab[1][m];elsedays+=day_tab[0][m];days+=D.day;return days;}Date Date::ntod(intn)∥将从公元0年0月0日的天数转换成日期{int y=1,m=1,d,rest=n,lp;while (1){if(leap(y))if(rest=366)break;else rest-=366;else∥非闰年if(rest=365)break;else rest-=365;y++;}y--;Ip=Ieap(y);while (1){if(Ip)∥闰年if(restday_tab[1][m-1])rest-=day_tab[1][m-1];else break;else∥非闰年if(restday_tab[0][m-1])rest-=day_tab[0][m-1];else break;m++;}d=rest;return Date(y;m,d);}void main(){Date now(2003,10,1),then(2005,6,5);cout"now:";now.disp();cout"then:";then.disp();cout"相差天数:"(then-now)endl;Date dl=now+1000,d2=now-1000;cout"now+1000:";d1.disp();cout"now-1000:":d2.disp();}

考题 ● 给定C 语言程序:int foo( int x, int y, int d){if( x != 0 ) {if ( y == 0 ) d = d / x;else d = d / (x * y );} else {if( y == 0 ) d = 0;else d = d / y;}return d ;}当用路径覆盖法进行测试时,至少需要设计 (31) 个测试用例。(31)A. 3 B. 4 C. 5 D. 8

考题 给定C语言程序:int foo(int x, int y,int d){if ( x !=0 ) {if ( y == 0 ) d = d / x;else d=d/(x*y);} else {if ( y == 0 ) d = 0;else d=d/y;}return d;}当用路径覆盖法进行测试时,至少需要设计(31)个测试用例。A.3B.4C.5D.8

考题 有以下程序:class Date{public:Date(int y,int m,int d);{year=y;month=mday=d;}Date(int y=2000){year=y;month=10;day=1;}Date(Date d){year=d.year;month=d.month;day=d.day;}void print( ){cout<<year<<"."<<month<<"."<<day<<endl;}private:int year,month,day;};Date fun(Date d){Date temp;temp=d;return temp;}int main( ){Date datel(2000,1,1),date2(0,0,0);Date date3(datel);date2=fun(date3);return 0;}程序执行时,Date类的拷贝构造函数被调用的次数是A.2B.3C.4D.5

考题 请补充fun函数,该函数的功能是:判断一个年份是否为闰年。例如,1900年不是闰年,2004是闰年。[注意] 部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。[试题源程序]include<stdio.h>include<conio.h>int fun(int n){int fiag=0;if(n%4==0){if( (1) )fiag=1;}if( (2) )flag=1;return (3) ;}void main(){int year;clrscr();printf("Input the year:");scanf("%d", &year);if(fun(year))printf("%d is a leap year.\n", year);elseprintf("%d is not a leap year.\n", year);}

考题 阅读下列说明,回答问题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;elsemaxday = 28;}elsemaxday = 29;}elsemaxday = 28;}else{if ( month == 4 || month == 6 || month == 9 || month == || )maxday = 30;elsemaxday = 31;}}return maxday; }请画出以上代码的控制流图。请计算上述控制流图的环路复杂度V(G)。假设year的取值范围是1000<year<2001,请使用基本路径测试法为变量year、 month设计测试用例(写出year取值、month取值、maxday预期结果),使之满足基本路径覆盖要求。请帮忙给出每个问题的正确答案和分析,谢谢!

考题 阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。【说明】设计一个日期类Date包括年、月、日等私有数据成员。要求实现日期的基本运算,如某日期加上天数、某日期减去天数、两日期相差的天数等。在Date类中设计如下重载运算符函数:Date operator + (int days) : 返回某日期加上天数得到的日期。Date operator - (int days) : 返回某日期减去天数得到的日期。int operator - (Dateb): 返回两日期相差的天数。【程序】include<iostream.h>int day tab[2][12]={{31,28,31,30,31,30,31,31,30,31,30,31},{31,29,31,30,31,30,31,31,30,31,30,31}};//day_tab二维数组存放各月天数,第一行对应非闰年,第二行对应闰年class Date{int year, month, day //年,月,日int leap(int); //判断是否闰年int dton(Date)Date ntod(int)public:Date() { }Date (int y, int mint d) I year = y; month = m; day = d;}void setday(intd){day = d;}void setmonth(int m) {month = m;}void setyear(int y) {year =y;}int getday() {return day;}int getmonth() {return month:}int getyear() {return yea;}Date operator + (int days) //+运算符重载函数{static Date date;int number =(1)date = ntod(number)return date}Date operator - (int days) //-运算符重载函数{staffs Date date;int number=(2);number - = days;date = ntod(number)return date;}int operator - (Date b) //-运算符重载函数{int days=(3);return days;}void disp(){cout<<year<<"."<<month<<". "<<day<<endl;}};int Date: :leap( int year)if((4)) //是闰年return 1; //不是闰年elsereturn0:}int Date:: dton( Date d) //求从公元0年0月0日到d日期的天数{inty,m,days =0;for(y=1;y<=d. year;y++)if((5))days+ =366; //闰年时加366天else days + = 365; //非闰年时加365天for(m =0;m<d. month-1;m++)if((6))days += day_tab[1] [m];elsedays +=day_tab[0] [m];days + = d. day;return days;}Date Date::ntod(intn) //将从元0年0月0日的天数转换成日期{int y=1,m = 1,d,rest = n,lp;while(1){ if(leap(y))if(rest<= 366) break;else rest - = 366;else //非闰年if(rest = 365 ) break;else rest-=365;

考题 从下列的3道式题(试题五至试题七)中任选1道解答。如果解答的试题数超过1道,则题号小的1道解答有效。阅读以下说明和C++码,将应填入(n)处的字名写在的对应栏内。[说明] 利用c++的各种控制语句编写一个万年历程序,要求:显示任何年份的日历,日历以月份顺序排列,每月以星期顺序排列,类似于一般挂历上的格式。本程序包含如下两个函数:Leap ()用于判定指定的年份是闰年,Week ()用于计算year年份的1月1日是星期几,其判定规则为:(1) 如果year 年份为1994年,则为星期六。(2) 如果year 年份大于1994年,则星期值weekno 按下列公式计算:differ=(year-1994)*(365%6)+(year-1993)/4-(year-2001)/100+(year-2001)/400 date=6+differ%7weekno=(date6)? date-7:date(3) 如果year 年份小于1994年,则星期值weekno 按下列公式计算:differ=(1994-year)*(365%7)+(1996-year)/4-(2001-year)/100+(2000-year)/400 weekno=6-dder%7include "iostream. h"include "iomanip. h"int leap(int n){if( (1) )return 0elsereturn 1;}int week( int year ){int a1, differ, date, weekno;if (year = = 1994)a1 =0;else if (year > 1994)a1=1;else a1= -1;switch(a1){case 0: return 6; break;case 1:{(2)date = 6 + differ% 7; weekno = ( date > 6) ? date - 7 date;}return weekno; break;case - 1:{differ = ( 1994 - year) * (365%7) + (1996 - year)/4 - (2001 - year)/100 + (2000 - year)/400;weekno =6-differ%7; } return weekno; break;}}void main( )}int i,year,m2,n,j;cout < < “Please input 某年数:”;cin> >year;if ( ! leap(year) )(3);elsem2 =28;int month [12]: {31 ,m2,31,30,31,30,31,31,30,31,30,31 };(4)for ( i=0; i<12; i+ + ){cout< < < <end1< <setw(4*n) < <";for(j=1 ;j< =month [i] ;j+ +){cout< <setw(4) < <j;n+ +;if(n> =7){(5)cout < < end1;}}}}

考题 下面程序是判断某一个是否为闰年,请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。(闰年的条件是符合下面两者之一:①能被4整除,但不能被100整除;②能被4整除,又能被100整除)。注意:不改动程序的结构,不得增行或删行。import java.io.*;public class LeapYear{public static void main(String args[]){int year=1979;if((year %4= =0 || year % 100 !=0) || (year % 400= =0))System.out.println(year+"是闰年.");elseSystem.out.println(year+"不是闰年。");year=2000;boolean leap;if(year % 4 !=0)leap=false;else if(year % 100 !=0)leap=true;else if(year % 400 !=0)leap=false;elseleap=true;if(______)System.out.println(year+"是闰年。");elseSystem.out.println(year+"不是闰年。");year=2010;if(year % 4= =0){if(year % 100= =0){if(year % 400= =0)leap=true;else______}elseleap=false;}if(1eap= =true);System.out.println(year+"是闰年。");elseSystem.out.println(year+"不是闰年。");}}

考题 有以下程序: class Date { public: Date(int y,int m,int D) ; { year =y; month=m; day=d; } Date(int y=2000) { year=y; month=10; day=1; } Date(Date D) { year=d.year; month=d.month; day=d.day; } void print () { cout<<year<<"."<<month<<"."<<day<<end1; } private: int year,month,day; }; Date fun(Date D) { Date temp; temp=d; return temp; } int main() { Date date1(2000,1,1),date2(0,0,0); Date date3(date1); date2=fun(date3); return 0; } 程序执行时,Date类的拷贝构造函数被调用的次数是A.2B.3C.4D.5

考题 针对下列程序段,需要(58)个测试用例可以满足分支覆盖的要求。 int IsLeap(int year) { if(year % 4==0) { if((year % 100==0) { if(year % 400==0) leap=1; else leap=0; } else leap=l; } else leap=0; return leap; }A.3B.4C.6D.7

考题 下列程序要求用户输入一个年份,并能够判断用户输入的年份是否是闰年,下划线处应填( )。 Sub EnSure() Dim year As Integer year=Val(InputBox("请输入年份:")) If(year Mod 4=0 ______ year Mod 100<>0) ______ (year Mod 400=0) Then Print "您输入的是闰年" Else Print "不是闰年,是普通年份" End If End SubA.And AndB.And OrC.Or OrD.Or Or

考题 阅读以下说明和C++抖程序,将应填入(n)处的字句写在答题纸的对应栏内。【说明】下面程序的功能是计算并输出某年某月的天数。【C++程序】include<iostream>using namespace std;(1) Month{Jan,Feb,Mar,Art,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec};class Date{public:Date(int year,Month m_month){(2) =year;if (m_month<Jan‖m_month>Dec) month=Jan;else month=m_month;};~Date(){};bool IsLeapYear(){return ((year%4==0 year%1001!=0)‖year%400==0);};int CaculateDays(){switch( (3) ){case Feb:{if( (4) )return29;e1Se return 28;}case Jan:case Mar:case May:case Jul:case AUg:case Oct:case Dec:retllrn 31;case Apr:case Jun:Case Sep:case Nov:roturu30;}};private:int year;Month month;};void main(){Date day(2000,Feb);tout<<day. (5) ();}

考题 阅读下列说明,回答问题1至问题3。【说明】使用基本路径法设计出的测试用例能够保证程序的每一条可执行语句在测试过程中至少执行一次。以下代码由C语言书写,请按要求回答问题。int IsLeap(int year){if(year% 4==0){if((year % 100==0){if( year % 400==0'leap=1;eIseleap=0;}elseleap=1;elseleap=0;return leap;}请画出以上代码的控制流图。请计算上述控制流图的V(G)。假设的取值范围是1000<year<2001,请使用基本路径测试法为变量year设计测试用例,使之满足基本路径覆盖的要求。请帮忙给出每个问题的正确答案和分析,谢谢!

考题 阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。【说明】下面程序的功能是计算并输出某年某月的天数,函数IsLeap Year()能够判断是否是闰年。【C++程序】include < iostream >using namespace std;(1) Month {Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec };class Date {public:Date( int year, Month m_ month) {this→year = year;if( (2) ) month: Jan;else month = m_ month;};~Date(){};bool IsLeap Year( ) {return ((year%4= =0 year% 100 ! =0)|| year%400= =0);};int CaculateDays( ) {switch(m_month ) {case (3) ;{if (4) return 29;else return 28;}case Jan: case Mar: case May: case Jul: case Aug: case Oct: case Dec: return 31;case Apr: case Jun: case Sop: case Nov: return 30;}}private:int year;Month month;};void main( ) {Date day(2000,Feb);cout < <day. (5) ( );}

考题 【说明】 使用基本路径法设计出的测试用例能够保证程序的每一条可执行语句在测试过程中至少执行一次。以下代码由C语言书写,请按要求回答问题。 int isLeap (int year) { if (year % 4 == 0) { if (year % 100 == 0) { if ( year % 400 == 0) leap = 1; else leap = 0; } else leap = 1; } else leap = 0; return leap; } 【问题1】(3分) 请画出以上代码的控制流图。

考题 请补充函数fun(),该函数的功能是:判断某一个年份是否为闰年。例如,1900年不是闰年,2004是闰年。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:include<stdio.h>include<conio.h>int fun(int n){int flag=0;if (n%4=0){if (【 】)flag=1;}if (【 】)flag=1;return【 】;}main(){int year;clrscr();printf("Input the year:");scanf("%d", year);if (fun(year))printf("%d is a leap year. \n", year);elseprintf("%d is not a leap year.\n",year);}

考题 以下代码用于判断闰年,由C 语言书写。其对应的控制流图如下图所示。 请按要求回答问题。 int isLeap(int year){ int leap; if (year % 4 = = 0){ if (year % 100 = = 0){ if ( year % 400 = = 0) leap = 1; else leap = 0; } else leap = 1; } else leap = 0; return leap; } (1)请画出控制流图,并计算圈复杂度V(G)。 (2)找出独立路径。

考题 阅读以下说明和C代码,填补代码中的空缺,将解答填入答题纸的对应栏内。【说明】 某文本文件中保存了若干个日期数据,格式如下(年/月/日): 2005/12/1 2013/2/29 1997/10/11 1980/5/15 .... 但是其中有些日期是非法的,例如2013/2/29是非法日期,闰年(即能被400整除或者能被4整除而不能被100整除的年份)的2月份有29天,2013年不是闰年。现要求将其中自1985/1/1开始、至2010/12/31结束的合法日期挑选出来并输出。 下面的C代码用于完成上述要求。 【C代码】 include stdio.h typedef struct{ int year, month, day;/* 年,月,日*/ }DATE; int isLeap Year(int y) /*判断y表示的年份是否为闰年,是则返回1,否则返回0*/ { return((y%4==0 y%100!=0)Il(y%400==0)); } int isLegal(DATE date) /*判断date表示的日期是否合法,是则返回1,否则返回0*/ { int y=date.year,m= date.month,d=date.day; if (y1985 II y2010 II m1 II m12 II dl II d31) return 0; if((m==4 ll m==6 ll m==9 II m==11) (1) ) return 0; If(m==2){ if(isLeap Year(y) (2) ) return 1; 。 else if (d28) return 0; } return 1; } Int Lteq(DATE d1,DATE d2) /*比较日期d1和d2,若d1在d2之前或相同则返回1,否则返回0*/ { Long t1,t2; t1=d1.year*10000+d1.month*100+d1.day; t2=d2.year*10000+d2.month*100+d2.day; if( (3) ) return 1; else return 0; } int main() { DATE date,start={1985,1,1},end={2010,12,30}; FILE*fp; fp=fopen(d.txt,r); If( (4) ) return-1; while(!feof(fp)){ if(fscanf(fp,%d%d%d,date.year,date.month,date.day)!=3) break; if( (5) ) /*判断是否为非法日期 */ continue; if( (6) ) /*调用Lteq判断是否在起至日期之间*/ printf(%d%d%d\n,date.year,date.month,date.day); } fclose(fp); Return 0; }

考题 ● 针对下列程序段,需要(58)个测试用例可以满足分支覆盖的要求。int IsLeap(int year){if ( year % 4 == 0 ){if ( ( year % 100 == 0 ){if ( year % 400 == 0 )leap = 1;elseleap = 0;}elseleap = 1;}elseleap = 0;return leap;}(58)A.3B.4C.6D.7

考题 There are twelve (46) in a year.The (47) 0f the twelve months are: January, February, March,April,May,June,(48) ,August, (4 9) ,October, November and December.Each month has (50) days or thirty-one days except(除……之外)February..In a leap year(闰年),February has (51) days.A leap year comes once in four years.There are 365(52 ) in a year.There are (53) days in a week. They are Sunday, Monday, Tuesday, Wednes-day, Thursday, Friday and Saturday.The parts of the day are: morning,(54) ,evening and night.April,June,September and (55) have thirty days.All the rest have thirty-one days, except(除……之外)February alone(只、仅).46.______

考题 阅读下列C程序,回答下列问题。 [C程序] int GetMaxDay( int year, intmonth ) { int maxday = 0; //1 if ( month >= 1 //8 else //9 maxday = 28; } else //10 maxday = 29; } else //11 maxday = 28; } 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、请针对上述C程序给出满足100%DC(判定覆盖)所需的逻辑条件。

考题 阅读下列C程序,回答下列问题。 [C程序] int GetMaxDay( int year, intmonth ) { int maxday = 0; //1 if ( month >= 1 //8 else //9 maxday = 28; } else //10 maxday = 29; } else //11 maxday = 28; } 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 } 2、请画出上述程序的控制流图,并计算其环路复杂度VG.。

考题 阅读下列C程序,回答下列问题。 [C程序] int GetMaxDay( int year, intmonth ) { int maxday = 0; //1 if ( month >= 1 //8 else //9 maxday = 28; } else //10 maxday = 29; } else //11 maxday = 28; } 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 } 3、请给出问题2中控制流图的线性无关路径。

考题 阅读下列C程序,回答下列问题。 [C程序] int GetMaxDay( int year, int month ) { int maxday = 0; //1 if ( month >= 1 //8 else //9 maxday = 28;} else //10 maxday = 29; } else //11 maxday = 28; } 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 }3.1、请针对上述C程序给出满足100%DC(判定覆盖)所需的逻辑条件。(6分)3.2、请画出上述程序的控制流图,并计算其环路复杂度V(G)。(9分)3.3、请给出问题2中控制流图的线性无关路径。(5分)

考题 编写一个Java程序,对于给定的年份,回答“Leap Year”(闰年)或者“Not a Leap Year”(平年)。如果一个年份能被4整除,但是不能被100整除,它是闰年;如果一个年份能被100整除,也能被400整除,它也是闰年。需要定义名为LeapYear的服务提供类

考题 能完全正确表示“year是闰年”的逻辑表达式是()。A、 year mod 4=0B、 year mod 400=0C、(year mod 400=0)or(year mod 4=0)and(year mod 1000)D、(year mod 400=0)and(year mod 4=0)or(year mod 1000)