文档库 最新最全的文档下载
当前位置:文档库 › C++语言编码规范试题_100121_答案

C++语言编码规范试题_100121_答案

C++语言编码规范考试

中心:部门:姓名:分数:

一、填空题(每空2分,共40分)

1、如果同一个if语句条件超过4 个,必须将该if语句拆分成多个if语句。

2、将修饰符* 和&紧靠变量名。

3、一般情况下,源代码的有效注释量必须在20% 以上,其中有效注释量以行数来计算。

4、头文件由三部分内容组成,分别为:版权和版本声明、

预处理块、函数和类结构声明;头文件中只存放声明而不存放定义。

5.注释的位置必须与被描述的代码相邻,可以放在代码的右方或上方,不可放在下方。注释必须与其上方的代码用空行隔开。

6.在使用STL标准容器类时,前缀为在一般变量命名约定的基础上前加容器类型首几个字母和容器元素类型首字母;比如list的前缀为lstastr 。

7.类成员变量的命名在遵循一般变量命名规范的基础上,必须加上前缀m_;类成员函数的函数名应能反映函数的功能,每个单词的首字母必须大写,类成员函数名建议使用动词或者动词+名词的形式。

二、判断题(每题2分,共20分)

1.函数名之后要留空格,以突出函数的名称。( ×)

2.类声明中的函数定义将直接转化为内联函数,这样可以提高程序的执行效率,因此对一些简单

的函数,可以在类的头文件中直接定义。( ×)

3.如果一个成员"a" 需要使用另一个成员"b" 来初始化,则"b" 必须在"a" 之前声明。

( √)

4.注释与所描述的内容应保持四个空格(或一个TAB键)的缩进。( ×)

5.在每个类声明之后、每个函数定义结束之后都要加空行。( √)

6.注释的语言统一采用英文,其原则是准确、易理解、简明。( ×)

7.如果‘;’不是一行的结束符号,其后要留空格。( √)

8.结构体的前缀可以为STRCT,也可以不加前缀。( ×)

9.类构造函数的初始化列表的书写顺序应当与对象的构造顺序一致,即:先按照声明顺序写基

类初始化,再按照声明顺序写成员初始化。( √)

10.概述性代码注释是用一两句话将代码块的意思说出来,使读者对代码块的理解更快。对函数内

功能代码段的注释应该采用概述性代码注释。( √)

三、问题答(共40分)

1、请从使用限制、定义及声明方式和注释三个方面对全局变量(工程级变量)的相关规定进行阐述。(15分)

1)使用限制

原则上不允许工程级变量存在,如有特殊需要,需经项目经理批准,并书面通知项目组所有成员2)定义及声明方式

在定义文件里进行定义,并在对应的头文件中以extern方式声明。

3)相关规定

A)变量名在一般约定的基础上加前缀G_。

B)如果声明了全局变量,必须在声明处对全局变量进行注释,注释要指出该数据的目的、为何必须是全局变量

C)如果函数对全局变量进行了修改,在注释中确切地描述它对全局变量所进行的操作。

2、类、窗体、功能模块和通用模块须放在单独的头文件和定义文件中,请分别简述这些文件的命名要求,并举例说明。(15分)

1)窗体

窗体的单元文件在窗体名前加前缀frm,头文件和单元文件名称相同

例如:

窗体文件名:frmMatrixControl.dfm(自动生成)

单元文件名:frmMatrixControl.cpp

头文件名:frmMatrixControl.h

2)类

类的头文件和定义文件的名称要与类名一致。

例如类CLS_TcpClientSocket:

头文件名:CLS_TcpClientSocket.h

定义文件名:CLS_TcpClientSocket.cpp

3)通用模块

通用模块文件名也要能大体反映模块包含函数的功能意义,文件名前要加“Pub_”,定义输出接口函

数的头文件名和模块文件名一致。

例如,处理字符串的自定义功能模块:

头文件名:Pub_SubStringFunc.h

定义文件名:Pub_SubStringFunc.cpp

3、一般情况下不应该使用行尾注释,请简述行尾注释的缺点。列举两种应该使用行尾注释的情况。(10分)

缺点:

1)如果没有整齐摆放,会影响代码的视觉效果。它往往难以格式化,如果使用太多,光是对

齐就需要花很长时间。

2)行尾注释难以维护。如果某行代码增长,就会把注释挤出可视范围。

3)行尾注释会导致注释不清。因为行尾的空间往往很小,要保留注释意味着就要缩短注释,

工作就变成让注释尽可能的短,而不是尽可能的清晰。

以下几种情况建议使用行尾注释:

1)数据声明的注释,但注意避免用行尾注释存放维护注记。

2)用行尾注释标记代码的结束位置,比如while语句或if语句等。

相关文档
相关文档 最新文档