首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。 【说明】 逻辑覆盖法是设计白盒测试用例的主要方法之一,通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由C语言编写的程序,按要求回答问题。 int XOR(char*filen
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。 【说明】 逻辑覆盖法是设计白盒测试用例的主要方法之一,通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由C语言编写的程序,按要求回答问题。 int XOR(char*filen
admin
2015-05-21
60
问题
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
逻辑覆盖法是设计白盒测试用例的主要方法之一,通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由C语言编写的程序,按要求回答问题。
int XOR(char*filename,unsigned long key){
FILE*input=NULL,~output=NULL; //1
char*outfilename=NULL;
int len=strlen(filename);
unsigned char buffer;
if((filename[1en一2]==’.’)&&(filename[1en一1]==’C’)){//2,3
outfilename=new char[len+1]; //4
strcpy(outfilename,filename);
outfilename[len一2]=’\0’;
}
else{ //S
outfilename=new char[len+5];
strcpy(outfilename,filename);
strncat(outfilename,“.C”,2);
}
input=fopen(filename,“rb”);
if(input==NULL){ //6
cout<<”Error opening file”<
delete[]outfilename;
outfilename=NULL;
return 1;
}
output=fopen(outfilename,”wb”);
if(output==NULL){ //8
cout<<”Error creating output file”<
delete[]outfilename;
outfllename=NULL;
return 1;
}
while(!feof(input)){ //1 0
if(fread(&buffer,Sizeof(unsigned char),1,input)!=1){//11
if(!feof(input)){ //12
delete[]outfilename; //13
outfilename=NULL;
fclose(input);
fclose(output);
return 1;
}
}
else{ //14
buffer^=key;
fwrite(&buffer,sizeof(unsigned char),1,output);
}
}
fclose kinput; //15
fclose(output);
defete[]outfilename;
return 0;
}
请画出上述程序的控制流图,并计算其控制流图的环路复杂度V(G)。
选项
答案
环路复杂度V(G)=8。 [*]
解析
本问题考查白盒测试用例设计方法:基本路径法。涉及的知识点包括:根据代码绘制控制流图、计算环路复杂度。
控制流图是描述程序控制流的一种图示方式,它由节点和定向边构成。控制流图的节点代表一个基本块,定向边代表控制流的方向。其中要特别注意的是,如果判断中的条件表达式是复合条件,即条件表达式是由一个或多个逻辑运算符连接的逻辑表达式,则需要改变复合条件的判断为一系列之单个条件的嵌套的判断。本题程序中,
if((filename[len-2]=‘.’)&&(filename[len一1]=‘c’))这条判断语句中的判定由两个条件组成,因此在画控制流图的时候需要拆开成两条判断语句。程序的环路复杂度等于控制流图中判定节点的个数加1,本题控制流图中判定节点个数为7,所以V(G)=8。
转载请注明原文地址:https://kaotiyun.com/show/Z7WZ777K
本试题收录于:
软件评测师下午应用技术考试题库软考中级分类
0
软件评测师下午应用技术考试
软考中级
相关试题推荐
现代工程管理通常使用变更控制系统控制项目变更。变更控制系统包括()。①配置管理②变更控制委员会③项目竣工验收小组④变更沟通过程所产生的信息
信息系统项目实施过程中往往会出现进度滞后、投资超预算等情况,这说明该项目需加强()。
接入层交换机的功能不包括()。
()是以信息技术为主要手段建立的信息采集、存储、处理的系统。
关于索赔程序的描述,不正确的是()。
监理工程师对核心问题有预先控制措施上的认识,凡事要有证据,处理业务一定要有可靠的依据和凭证,判断问题时尽量用数据说服建设单位或承建单位,这体现了组织协调中的______原则。
某计算机系统结构如下图所示,若所构成系统的每个部件的可靠度均为0.9,即R=0.9,则该系统的可靠度为______。
监理工程师在设计阶段进行质量控制时,重点是(55)。
以下属于工程设计阶段质量控制要点的是(48)。
由于项目管理不够规范,引发了项目质量和进度方面的问题,监理方应该做的工作不包括(36)。
随机试题
()在制作多媒体时经常使用如图所示的绘图工具栏,图中标明序号①的按钮是在幻灯片版面上或图形里添加画出一带箭头方向的直线段。
建设项目按照项目的投资作用分类有()。
在建设工程设计准备阶段,监理工程师进度控制的任务包括( )。
某机电安装公司承建一个石化项目的通风空调工程与设备安装工程,施工项目包括:地下车库排风兼排烟系统、防排烟系统、楼梯间加压送风系统、空调风系统、空调水系统、空调设备配电系统、动设备安装、静设备安装。该项目的所有施工内容及系统试运行已完毕,在进行竣工验收的同时
《史记》蕴含着丰富的中国古代私人理财思想,是中国私人理财发展史上的一个重要里程碑。( )
下列行为中,不属于可撤销的民事法律行为的是()。
证明:函数f(x)=1一在(一∞,0)上是增函数。
教师职业最重要的本质特征是()。
合作学习
Theyhadaheateddiscussiononthetopicbutcametono______.
最新回复
(
0
)