首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。 【说明】 逻辑覆盖法是设计白盒测试用例的主要方法之一,通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由C语言编写的程序,按要求回答问题。 int XOR(char*filen
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。 【说明】 逻辑覆盖法是设计白盒测试用例的主要方法之一,通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由C语言编写的程序,按要求回答问题。 int XOR(char*filen
admin
2015-05-21
52
问题
阅读下列说明,回答问题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
软件评测师下午应用技术考试
软考中级
相关试题推荐
关于质量控制点的说法,不正确的是()。
三方协同的质量控制体系是信息工程项目成功的重要因素,项目的质量保证计划是在()的质量保证计划的基础上建立起来的。
某公司已将软件管理和工程文档化、标准化,综合成该组织的标准软件过程。所有项目均使用经批准、裁剪的标准软件过程来开发和维护软件。说明该公司已达到CMMI的()。
在()阶段不仅包括系统分析、系统设计、系统实施,还包括系统验收等工作。
进度控制过程是个周期性的循环过程,一个完整的进度控制过程为()。
如果将部门聚餐烤肉比作购买云计算服务,去饭店吃自助烤肉、去饭店直接吃烤肉、自己架炉子买肉烤着吃,分别对应()服务。
使计算机系统各个部件、相关的软件和数据协调、高项工作的是()。
总包单位依法将建设工程分包时,分包工程发生的质量问题,应______。
测试是信息系统工程质量监理最重要的手段之一,这是由信息系统工程的特点所决定的,测试结果是判断信息系统工程质量最直接的依据之一。在整个质量控制过程中,可能存在承建单位、监理单位、建设单位以及公正第三方测试机构对工程的测试。各方的职责和工作重点有所不同,下面关
监理工程师在遇到项目变更情况时,正确的变更控制程序是()。
随机试题
下列关于扁骨的叙述,正确的是【】
男性,45岁,行胃大部切除手术,用于术后止痛的药物选用
如果合同中对履行地点约定不明确,则合同的履约地为()。
影响碾压混凝土坝施工质量的因素主要有()。
归因理论是从______来阐述行为动机的。
Itisillegalforapublicofficialtoaskpeopleforgiftsormoney______favorstothem.
海曙区南门街道万安社区所辖的书香苑居民小区,座落在万安路西边,2002年2月落成后入住228户人家。新建成的住宅区,空气清新,花木繁盛,活动会所齐备,能够为居民提供良好的安居和休闲环境,是一个可实现封闭管理的小区。原来由经房物业公司负责物业管理,但由于各种
下图是网络地址转换NAT的一个示例根据图中信息,标号为③的方格中的内容应为
对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为
Thedecision______,thenextproblemwaswhentostarttheproject.
最新回复
(
0
)