阅读下列C程序,回答问题1至问题3,将解答填入答题纸的对应栏内。 【C程序】 请画出上述程序的控制流图,并计算其控制流图的环路复杂度V(G)。

admin2017-11-27  16

问题 阅读下列C程序,回答问题1至问题3,将解答填入答题纸的对应栏内。
【C程序】

请画出上述程序的控制流图,并计算其控制流图的环路复杂度V(G)。

选项

答案控制流图 [*] 环路复杂度V(G)=5

解析 本问题考查白盒测试用例设计方法中的基本路径测试法。涉及到的知识点包括根据代码绘制控制流图、计算环路复杂度。
    控制流图是描述程序控制流的一种图示方式,它由节点和定向边构成。控制流图的节点代表一个基本块,定向边代表控制流的方向。其中要特别注意的是,如果判断中的条件表达式是复合条件,即条件表达式是由一个或多个逻辑运算符连接的逻辑表达式,则需要改变复合条件的判断为一系列单个条件的嵌套的判断。本题程序中,if(y=7||y=21)这条判断语句中的判定由两个条件组成,因此在画控制流图的时候需要拆开成两条判断语句。需要注意的是,复合条件之间是“&&”的关系还是“||”的关系反应在控制流图的画法是不同的。
    程序的环路复杂度等于控制流图中判定节点的个数加1,本题控制流图中判定节点个数为4,所以V(G)=5。
转载请注明原文地址:https://kaotiyun.com/show/CzPZ777K
0

最新回复(0)