C++编码规范试题三1_第1页
C++编码规范试题三1_第2页
C++编码规范试题三1_第3页
C++编码规范试题三1_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C++编码规范试题三口C++编码规范试题(满分100分)□一、单选题(5*2)1、关于函数参数,不正确的说法是:a、检查参数输入和非参数输入的有效性。b、防止函数的参数用作工作变量。c、调用函数填充参数时,应尽量减少不必要的默认数据类型转换或强制数据类型转换d、非调度函数应减少或防止控制参数,尽量不要使用数据参数。□2.宏定义#定义方(a)((a)*(@))在B=square(a++)中,a执行次数加1a和0次;b、1次;c、2次;d、3乘以3()关于可测试性,正确的说法是:断言用于处理必须处理的错误条件b调试时打印的出错信息只要有错误码就行了口C软件的调试版本和发布版本分为两套进行维护。0.项目组应有一套统一的错误输出功能。4()在下列程序中,arectlength=10;char_upoi=str;直肠。宽度=5;bif(主干[索引]。主干—状态==0)cword=(高<<8)|低;d*++stat_upoi+=1;□5、若已经定义:inta[9],*p=a;并在以后的语句中未改变p的值,能表示a[1]地址的表达式是:++a;b、a++;c、++p;d、p++;二、多选题(11*4).对于变量,正确的说法是:a、若全局变量仅在单个c文件中访问,则可以将这个变量修改为静态全局变量,以降低模块间的耦合度;如果只在单个函数中访问全局变量,可以将该变量修改为函数的静态局部变量,以减少模块之间的耦合;c、设计和使用访问动态全局变量、静态全局变量、静态局部变量的函数时,需要考虑重入问题;在评估该结构定义时,正确的定义如下:a、由于a机与b机可能使用不同的编译环境,该结构占用空间可能不一致;b、由于a机与b机可能字节序不同,位域的各位在内存中存放的顺序可不一致;□如果第三个结构成员没有名字,编译将出错;d、结构中使用位域,不仅节省了空间,也提高了存取效率。3、关于编译预处理程序的功能包括但不限于:a、宏定义;b、条件编译;□c、在源代码中插入预定义的环境变量;d、打开或关闭编译选项。□4、关于代码的编译、编译和审查,下面说法不正确的是:a、在产品软件(项目组)中,可不统一编译开关选项;b、对于安排进行单元测试的代码可以不用进行代码审查;c、kgiscope工具不具有审查代码的功能;□考虑到开发人员的个人习惯,软件系统目录可以由我们自己设计5(),以下哪些名称是不允许的:age_uuCard_uuTbGet_Ucard_Utcm_UGetCardStat口d_get_card_2_stat6.()至于结构,正确的说法是:a结构占用的空间大小,不仅取决于结构成员的定义,还取决于结构成员的排列顺序,以及结构的字节对齐方式B结构件的排列顺序会影响结构件数据的访问效率。C功能过于单一的结构会降低代码效率d结构中使用位域,不仅节省了空间,也提高了存取效率7.()一般说来,以下哪一段代码可能有问题:a.口未签名的大小;而(大小一>=0){……}b。口/*name为一字符串型变量,用以存放名称*/unsignedcharname[maxnamelen];口/*分析名称的每个字符并执行相应的处理*/while(*name++){???}CDunsignedcharch;file*date_file;对于(;;){ch二getch(日期文件);/*从文件中读取字符*/if(CH==EOF)□{/*如果文件已被读完,则返回endoffile*/returnendoffile;}}d.口结构{inta;charb[4];doublec;};Structsx={1,\8,()关于结构,正确的语句是:a结构占用的空间大小,不仅取决于结构成员的定义,还取决于结构成员的排列顺序,以及结构的字节对齐方式B结构件的排列顺序会影响结构件数据的访问效率。C功能过于单一的结构会降低代码效率对这个结构定义的评价中,正确的是:a、由于机器a和机器B可能使用不同的编译环境,因此此结构占用的空间可能不一致;b、由于机器a和机器b的字节顺序可能不同,存储在存储器中的位字段中的位顺序可能不同;c、如果第三个结构成员没有名字,编译将出错;□d、结构中使用位域,不仅节省了空间,也提高了存取效率。10、关于编译预处理程序的功能包括但不限于:a、宏定义;b、条件编译;□c、在源代码中插入预定义的环境变量;d、打开或关闭编译选项。11.对于变量,正确的说法是:a、若全局变量仅在单个c文件中访问,则可以将这个变量修改为静态全局变量,以降低模块间的耦合度;b、如果只在单个函数中访问全局变量,可以将该变量修改为函数的静态局部变量,以减少模块之间的耦合;c、设计和使用访问动态全局变量、静态全局变量、静态局部变量的函数时,需要考虑重入问题;d、静态全局变量太大,可能会导致堆栈溢出。三、判断题(23*2).在同一软件产品中,应计划接口标识符(变量、结构、函数和常数)的命名,防止编译、链接时产生冲突。如可规定接口部分的变量与常量之前加上“模块”标识等。.公共变量是增加模块之间耦合的原因之一,因此应减少不必要的公共变量,以减少模块之间的耦合间的耦合度。.chara[][2][3][4][5][6][7][8];允许此类全局变量应用。4.如果两个结构之间的关系复杂而密切,则应将它们合并为一个结构。.对模块中函数的划分及组织方式进行分析、优化,改进模块中函数的组织结构,可从根本上解决程序效率问题。.#pragma指令可激活或者终止编译程序所支持的一些编译功能。7.任意两个类型的指针都可以进行,>=,<=,==等比较.8.递归调用使代码简洁实用;但是,在宿主类函数中是绝对禁止的。9.非调度功能应减少或阻止控制参数,尽量不使用数据参数。10.功能设计应遵循高扇入、合理扇出的原则。11.头文件可以互相包含,使用\?\的形式保证不会重复引用。12.数组比指针寻址、运算速度快,因此推荐使用数组,少用指针。13.程序编译时,要求放开所有的编译告警开关。14.命名中特殊的缩略语可以不需要有注释.15.要有自己特有的命名风格,并要始终如一。.通过改进系统数据结构的划分和组织,优化程序算法,解决了软件空间问题效率的有效办法。.在产品设计中,可以定义不同的测试开关和开关,分别用于集成测试和系统测试印函数,用不同的宏开关控制。.任何两种类型的指针都可以比较,>=,<=,==。.头文件可以互相包含,使用\?\的形式保证不会重复引用。20.不允许把多个短语句写在一行中,即一行只

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论