A-A+

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

2022-08-05 21:36:02 问答库 阅读 172 次

问题详情

● 针对以下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

考点:语言,测试