针对以下C语言程序段,假设sta[10]= -1,对于x的取值,需要(  )个测

资格题库2022-08-02  72

问题 针对以下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 == -1 ) m++;}return m;}A.3B.4C.5D.6

选项 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 == -1成立。
这样就实现了分支覆盖。
转载请注明原文地址:https://tihaiku.com/congyezige/2417719.html

最新回复(0)