软件评测师 · 高频练习

已知判定节点数时环路复杂度怎么算?

中级 单选题 第 301 题 基础 软件评测师环路复杂度McCabe基本路径测试
题目

某程序控制流图中共有 5 个判定节点。按 McCabe 环路复杂度的常用判定节点法,该程序的环路复杂度 V(G) 为()。

A 4
B 5
C 6
D 10
题目类型:原创高频计算题 用途:用于帮助理解软件评测师相关考点和答案解析,不等同于官方真题。
正确答案
C
答案解析

使用判定节点法时,环路复杂度 V(G)=判定节点数+1。题干给出判定节点数为 5,因此 V(G)=5+1=6。

选项分析

A

错误。少算了判定节点数量。

B

错误。只写了判定节点数,忘了加 1。

C

正确。5 个判定节点对应 V(G)=6。

D

错误。没有对应本题常用公式。

本题为什么容易错

这题容易漏掉最后的 +1。判定节点数不是环路复杂度本身,环路复杂度还要包含一条基础路径。

先看结论

简短答案

已知判定节点数时环路复杂度怎么算,正确答案是 C(6)。使用判定节点法时,环路复杂度 V(G)=判定节点数+1。题干给出判定节点数为 5,因此 V(G)=5+1=6。

解析

易混淆概念对比表

概念本题判断区别要点记忆提示
4 本题干扰项 错误。少算了判定节点数量。 看到该词不要急着选,先判断是否真正解决题干问题
5 本题干扰项 错误。只写了判定节点数,忘了加 1。 看到该词不要急着选,先判断是否真正解决题干问题
6 本题正确答案 正确。5 个判定节点对应 V(G)=6。 看到题干核心场景时优先联想到它
10 本题干扰项 错误。没有对应本题常用公式。 看到该词不要急着选,先判断是否真正解决题干问题
本题易混淆选项怎么区分
  • 4:错误。少算了判定节点数量。
  • 5:错误。只写了判定节点数,忘了加 1。
  • 10:错误。没有对应本题常用公式。
复习

知识点详解

McCabe是软件评测师考试中需要结合场景理解的考点。围绕“已知判定节点数时环路复杂度怎么算”这类题目,复习时要先看题干描述的是概念定义、适用场景、作用效果,还是与其他选项的区别。本题的题干关键词是“某程序控制流图中共有 5 个判定节点。按 McCabe 环路复杂度的常用判定节点法,该程序的环路复杂度 V(G) 为()”,它指向的核心答案是 C(6)。

备考速记

备考速记:题干如果强调“基本路径测试”中的关键目标,就先联想到 McCabe;如果选项里出现 4、5、10,不要只看名称熟悉,要判断它们是否真正对应题干场景。

McCabe 在基本路径测试场景中的作用

McCabe在本题中的核心价值,是解决“某程序控制流图中共有 5 个判定节点。按 McCabe 环路复杂度的常用判定节点法,该程序的环路复杂度 V(G) 为()”这个场景问题。复习时不要只背选项名称,还要理解它为什么适用于该场景,以及它能解决哪类安全、流程或管理问题。

拓展

同类题怎么考

  • 给出基本路径测试场景,判断应该选择哪个概念、工具、协议或管理过程。
  • 考查McCabe的作用,要求从四个相近选项中找出最符合题干目标的一项。
  • 把McCabe和4、5、10放在一起考,重点看适用场景是否一致。
  • 题干通常会出现一个关键动作或目标,先定位关键词,再回到选项逐一排除。
McCabe 在软件评测师软考中的考法

软考选择题通常不会只考概念定义,还会把McCabe放到基本路径测试场景中,要求判断它的作用、适用范围或与相近概念的区别。遇到这类题时,先抓住题干中的业务场景,再看哪个选项最能解决该场景下的核心问题。

解题思路

题目已经直接给判定节点数,不必再去构造边和节点。直接用 V(G)=判定节点数+1。

考点定位

本题考查 McCabe 环路复杂度。软件测试类题常用它判断基本路径测试至少需要关注多少条独立路径。

易错提醒

  • 判定节点法适合题目已经明确给出判定节点数的情况。
  • 普通顺序语句不应当都算成判定节点。
  • V(G) 可理解为独立路径数量的提示。

备考提示

  • 环路复杂度三个常用口径:E-N+2、判定节点+1、区域数。题目给什么就用什么。
  • 可以继续阅读专题:/guides/ruankao-cyclomatic-complexity-calculation/

你可能还想了解

  • 已知判定节点数时环路复杂度怎么算?
  • McCabe是什么?
  • McCabe在软件评测师考试中怎么考?
  • 软件评测师McCabe题怎么理解?
  • 环路复杂度怎么算怎么考?
  • McCabe复杂度判定节点怎么考?

本文小结

本题核心考点是McCabe在基本路径测试场景中的判断和应用。遇到类似题目时,先看题干描述的目标,再判断哪个选项最符合场景;本题应选择 C(6)。