C语言程序分析

C语言程序分析

9.程序分析

【问题描述】

读入一个C程序,统计程序中代码、注释和空行的行数以及函数的个数和平均行数,并利用统计信息分析评价该程序的风格。

【基本要求】

(1)把C程序源文件按字符顺序读入;
(2)边读入程序,边识别统计代码行、注释行和空行,同时还要识别函数的开始和结束,以便统计其个数和平均行数。
(3)程序的风格评价分为代码﹑注释和空行三个方面。每个方面分为A,B,C和D四个等级,等级的划分标准是:

A级 B级 C级 D级
代码(函数平均长度) 10~15行 8 ~ 9或16 ~ 20行 5 ~ 7或21 ~ 24行 <5或>24行
注释(占总行数比率) 15 ~ 25% 10 ~ 14或26~30% 5 ~ 9或31~35% <5%或>35%
空行(占总行数比率) 15 ~ 25% 10 ~ 14或26 ~ 30% 5 ~ 9或31 ~ 35% <5%或>35%

【测试数据】

先对较小的程序进行分析·当你的程序能正确运行时,对你的程序本身进行分析。

【实现提示】

为了实现的方便,可作以下约定:
(1)头两个字符是FFF的行称为注释行(该行不含语句)。除了空行和注释行外,其余均为代码行(包括类型定义、变量定义和函数头)。
(2)每个函数代码行数(除去空行和注释行)称为该函数的长度。
(3)每行最多只有一个"{"、 "}" 、"switch”和"struct"(便于识别函数的结束行)。

【选作内容】

(1)报告函数的平均长度。
(2)找出最长函数及其在程序中的位置。
(3)允许函数的嵌套定义,报告最大的函数嵌套深度。

(以上要求可用C/C++或者Java实现)

C语言程序分析

上一篇:Java笔试题01


下一篇:Java基础01-04:注释、标识符和关键字、数据类型、类型转换