软件测评师(中级)|画控制流图手把手教程

软件测评师(中级)|画控制流图手把手教程

逻辑与(&&):当两个条件都为真时,整个表达式才为真。如果第一个条件为假,则整个表达式的结果已经确定为假,此时不会计算第二个条件。

逻辑或(||):当两个条件中至少有一个为真时,整个表达式就为真。只有当两个条件都为假时,整个表达式才为假。

逻辑非(!):这个运算符将一个条件的结果取反。如果条件为真,则结果为假;如果条件为假,则结果为真

相关关键字

continue语句

在C语言中用于跳过当前循环中剩余的代码,直接进入下一次循环的判断条件。它的使用可以减少不必要的计算或操作,提高程序的效率。continue语句通常与for、while和do-while循环结构一起使用,可以在循环中的任何位置使用。在使用continue时,需要注意循环的条件和循环变量的更新,以避免出现死循环或逻辑错误。

for (int i = 0; i < 10; i++) {

if (i == 7) {

continue; // 当i等于7时,跳过本次循环

}

printf("%d ", i); // i==7的时候,不打印7

}

// 输出结果:0 1 2 3 4 5 6 8 9

中断语句break关键字

是C语言中的关键字,用于跳出循环或switch语句的执行。break语句通常用于在满足某个条件时提前终止循环,或在switch语句中匹配到某个case后跳出。

for (int i = 0; i < 5; i++) {

if (i==3) {

break; // 跳出循环

}

printf("%d",i);

}

//循环外

printf("循环结束");

//输出结果:0 1 2 循环结束

switch (条件) {

case 1:

// 相应的代码

break; // 跳出switch语句

case 2:

// 相应的代码

break; // 跳出switch语句

default:

// 相应的代码

}

return关键字

在c语言中用于将函数的执行结果返回给调用函数,并终止当前函数的执行

```void peintpassage()

{

printf("使用return\n");

return;

printf("本条语句不会被执行哦\n");

5.2真题画控制流图

2010年真题下午卷

【问题1答案】程序中的逻辑判断子语句如下:

i<=k

m%i==0

i>=k+1

【问题2答案】 白盒测试用例设计方法:判定覆盖法又称为逻辑覆盖,是通过对程序逻辑结构的遍历实现程序的覆盖

【问题3答案】

控制流程图:(条件是为了便于理解,正式作图的时候不需要标)

环路复杂度V(G)=控制流线-节点+2=8-6+2=4

环路复杂度V(G)=密封区域+1=3+1=4

环路复杂度V(G)=判定节点数+1 =3+1=4 /通过代码看判断条件

注:环路复杂度任选一种答题即可

总结

根据控制流图计算复杂度,如果没有代码,只有控制流图的情况下,尽可能使用【控制流线-节点+2】的方式计算V(G),这种情况一般会出现在选择题中,如果有代码没有图,可以使用【判定点+1】的方式计算V(G)

画控制流图正确与否可以通过计算3种复杂度计算结果相同来校验图是否画正确

本题的代码中没有给定具体的节点,那么我们可以根据判定节点画图,重点必须包含本题代码的所有判定节点路径

2011年真题下午卷

【问题1答案】

【问题2答案】

解析:本题给出了画控制流图的节点数,具体可见代码中//数字,本题代码中给出了节点数为12个,这种题给了节点,那么我们做图的时候节点中需要有数字标明是几号节点

图不需要跟标准答案一致,只要保证节点和控制流线链接正确即可

或者

复杂度V(G)=6

总结

画图技巧:分析每个判定节点可能执行的路径(为真的路径、为假的路径)有哪些,只要每个节点可能执行的路径全部分析正确,控制流图就掌握了80%,另外20%,细心一定要细心,不要把线连错啦;不要把各条件的括号看错,不要画线不带箭头,导致失分(这些都是我画图的时候出现的错误)

画图尽可能保证当前节点画完,在接着画下一个节点,这样不容易出错;另外画完后记得多检查下

【问题3答案】

构造一个6个字符构成的字符串(设置x,y,z,u,v,w6个字符),使得每个字符覆盖一条基本路径。其中,x='r', y='f', z∈['0','9'], u<'0', v>'9'并且v!='f',w为任意,这6个字符可以任意排列。例如:mode="r0faa"

参考文档

https://blog.csdn.net/weixin_64021180/article/details/133999576

相关推荐

极品飞车9修改器使用方法介绍 365bet提款问题
2026年世界杯增至48队 亚非成最大赢家 bt365手机版
新版本如何获得神器换装 仅活动就可嫖五个 bt365手机版