首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。 【说明】 逻辑覆盖法是设计白盒测试用例的主要方法之一,通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由C语言编写的程序,按要求回答问题。 int XOR(char*filen
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。 【说明】 逻辑覆盖法是设计白盒测试用例的主要方法之一,通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由C语言编写的程序,按要求回答问题。 int XOR(char*filen
admin
2015-05-21
61
问题
阅读下列说明,回答问题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
软件评测师下午应用技术考试
软考中级
相关试题推荐
某系统集成企业在项目实施阶段出现突发情况,引起进度问题。此时监理单位应通过(),督促各方采取应急措施赶上进度要求,以便项目的开发能以预期进度完成。
监理单位在信息系统工程监理过程中针对各类合同的管理须遵循合同管理原则,合同管理原则中不包括()。
关于质量控制点的说法,不正确的是()。
软件需求分析阶段的成果不包括()。
在机房和综合布线工程实施过程中,关于金属线槽安装要求,不正确的是()。
接入层交换机的功能不包括()。
某综合性信息系统建设工程中,通信工程专业监理工程师编制了详尽的监理实施细则,内容包括:监理流程、监理的控制要点和目标、计划采用的监理技术和工具、针对工程异常情况的监理措施。如果你是总监理工程师,审核时应指出该监理实施细则还必须补充()。
防火墙、入侵监测和漏洞扫描系统是保障()需要用到的网络安全产品。
网络集成面临互连异质、异构网络等问题,网络互连设备既可用软件实现,也可用硬件实现。以下_____________不属于网络互连设备。
在X综合布线项目中,承建单位出现了进度、质量相关问题,监理单位立即向各方提出了意见和建议,并在必要时告知了建设单位。这体现了监理单位在合同管理中的_____________原则。
随机试题
领导生命周期理论模型不包括以下哪种领导类型?()
可以出现机化过程的有
属于镇静催眠药的是()
下列心电图表现中,属于确诊室性心动过速最重要的依据是
从事生产、经营的纳税人应当自领取税务登记证件之日起( )日内,将其财务、会计制度或财务、会计处理办法和会计核算软件报送税务机关备案。
下列关于商业助学贷款贷后检查的说法,错误的是()。(2010年下半年)
在双代号网络计划中,M工作有三项紧前工作,其最早开始时间分别为第6、8、9周,其持续时间分别为3、6、2周,则M工作的最早开始时间是第()周。
对收益性物业来说,空置率提高将会导致()等后果。
某单位去年的总收入比总支出多50万元,今年比去年的总收入增加了10%,总支出节约了20%,如果今年的总收入比总支出多100万元,那么去年的总收入和总支出各是多少万元?()
Usually,therearetworeasonstopursuescientificknowledge:forthesakeoftheknowledgeitself,andforthepracticalu
最新回复
(
0
)