早教吧 育儿知识 作业答案 考试题库 百科 知识分享
早教吧考试题库频道 --> 计算机类考试 -->软考中级 -->

● 针对以下C语言程序段,假设sta[10]= -1,对于x的取值,需要__个测试用例能够满足分支覆盖的要求。

题目

● 针对以下C语言程序段,假设sta[10]= -1,对于x的取值,需要__个测试用例能够满足分支覆盖的要求。 int MathMine( int x ) { int m = 0; int i; for( i = x-1; i <= x + 1; i++ ) { if ( i < 0 ) continue; if ( i >31 ) break; if ( sta[i] == -1 ) m++; } return m; }

A.3

B.4

C.5

D.6

参考答案
正确答案:A
分支覆盖要使得程序中的每一个分支都至少执行一次。本题比较特殊,在循环体中用到了continue与break,其中执行continue语句,则结束本次循环,也就是说执行continue后,其后面的循环体语句在本次循环中将不执行;而break语句结束的是本层循环,在本题中就结束了整个循环。在本题中要设计的用例如下:(1)使i<0成立,(2)使i<0不成立,而i>31成立(3)使i<0不成立,且i>31也不成立,而使sta[i]==-1成立。这样就实现了分支覆盖。参考答案A