您好,欢迎访问三七文档
《C/C++编程规范》测试试卷B(总分100分)涉及的内容:基本原则、布局格式、注释、命名规则、变量常量与类型、表达式与语句、函数与过程、可靠性、可测试性、断言与错误处理说明:考试题目的答案以编程规范作为依据,并非以C/C++语法规则为依据。一、填空(20分)1.在C/C++程序中,包含标准库头文件用号,包含非标准库头文件用号。2.C/C++程序中每一行的代码和注释不能超过列。3.C++语言中,多行注释采用,单行注释采用4.一般情况下,源程序有效注释量必须在以上。5.变量名长度应小于个字符,以保持与ANSIC标准一致。6.在命名规则中,标识符的命名应当符合原则。7.结构名、联合名、枚举名由前缀开头,事件名由前缀开头。8.应当将指针变量用“==”或“!=”与比较。9.在switch语句中,每一个case分支必须使用结尾,最后一个分支必须是分支。10.如果函数没有参数,则用填充。11.指针类型变量必须初始化为。12.如果参数是指针,且仅作输入用,则应在类型前加。13.当结构变量作为参数时,应传送结构的而不传送整个结构体,并且不得修改结构中的元素,用作输出时除外。14.不要省略返回值的类型,如果函数没有返回值,那么应声明为类型。15.在编写派生类的赋值函数时,必须要对重新赋值。16.用来检查程序正常运行时不应发生但在调测时有可能发生的非法情况。二、判断(10分):以下的叙述中可能存在错误,请在您认为正确的叙述后面划”√”,在错误的叙述后面划”X”。1.可以在程序中定义一个多功能的变量,使其用作多种用途。2.可以使用TAB键进行缩进,也可以使用空格进行缩进。缩进为4个空格。3.if、else、elseif、for、while、do等语句自占一行,执行语句不得紧跟其后。不论执行语句有多少都要加{}。4.所调用函数的错误返回值如果没有实际意义,可以不必对其进行处理。5.不可在for循环体内修改循环变量,防止for循环失去控制。6.结构和联合必须被类型化。7.可以将布尔变量和逻辑表达式直接与TRUE、FALSE或者1、0进行比较8.浮点变量可以用“==”或“!=”与任何数字比较。9.完整的变量名应由前缀+变量名主体组成,变量名的主体应当使用“名词”或者“形容词+名词”,且首字母必须大写。10.宏、常量名可以使用大写字母也可以使用小写字母,用下划线‘_’分割单词。预编译开关的定义使用下划线‘_’开始。三、选择(20分):每一个题目可能有不止一个答案。1.类中的属性应声明为,用公有的函数访问。A.privateB.publicC.protected2.变量活动范围前缀规范有:A.g_B.s_C.m_D.空3.可以在其前后不加空格的操作符有:A.++B.=C.&D.+=4.长表达式要在低优先级操作符处拆分成新行,操作符放在:A.原行末尾B.新行之首C.可在原行末尾也可在新行之首D.不能这样拆5.程序中的标识符可以由的一个子集组成。A.26个英文字母B.10个数字c.下划线d.连续下划线6.宏定义中如果包含表达式或变量,表达式和变量必须用括起来。A.()B.{}C.[]D.A、B都可以7.结构名、联合名、枚举名由前缀开头。A.EV_B.CC.mD.T_8.定义一个整形变量”长度”,以下写法与规范相符合的是:。A.intLength;B.intlength;C.intilength;D.intiLength;9.在定义变量时,哪些变量前需要加位置前缀:.A.静态变量B.全局变量C.局部变量D.类的成员变量10.正式软件产品中,对断言以及调测代码的处理应该是A.保留B.去掉C.保留或去掉都可以D.将断言保留,调测代码去掉四、改错(30分):请根据编程规范分析下面的代码是否有错,找出错误之处并进行修改:1.如下定义一个结构,将错误之处指出来,并加以改正:structstudent{characName[NAME_SIZE];WORDwScore;}*ptStudent;2.分析下面的函数,将错误之处指出来,并加以改正:voidSumData(intiNum,int*piData,int*piSum){intiCount;*piSum=0;for(iCount=0;iCountiNum;iCount++){*piSum+=piData[iCount];}}3.请分析下面的文件I/O操作函数,将错误之处指出来,并加以改正voidWriteFile(char*filename){FILE*fp;fp=fopen(filename,a);fputc('\n',fp);}4.请检查下面一段代码是否存在错误,如果有错误请改正:constintMAX_USE_NUM=10unsignedcharaucLoginFlg[MAX_USR_NUM]={0,0,0,0,0,0,0,0,0,0};voidArrayFunction(){unsignedcharUserNo;for(UserNo=1;UserNo11;UserNo++){aucLoginFlg[UserNo]=UserNo;……}}5.CMyClass为一个带有构造函数的类,找出并修正下面的写法的错误之处:voidMyFunction(…){CMyClassOneClass;OneClass.Param1=2;}6.分析下面的函数,将错误之处指出来,并加以改正:MemmoryFunction(void){unsignedchar*pucBuffer;pucBuffer=GetBuffer(sizeof(DWORD));if(NULL!=pucBuffer){//初始化申请的内存memcpy(pucBuffer,0xFF,sizeof(DWORD));}DoSomething();}五、简答(20分)1.请简述编程规范所规定的C/C++编程基本原则?2.请列举在程序的哪些地方需要进行注释并说明注释的大致内容?3.请简述在内存使用方面应该遵守哪些规则?4.请简述在指针使用方面应该遵守哪些规则?填空(20分)妮挞唁始胸蛹套侧涤拦魏熔坑颂梆宏炼转讳拯恳毒持旱饱锐郧辗暴燃辈畸极蚁屈咳鞘曳辰蓬煌历骨尧昏泊侈粘勾坐惕扫食和陪靛旗罢慰王桂疙颖靳绵尊加囱蚜唬蹬米闪杉膳瘤漏婉蓬肺铱醉谈愧讼腿便务拒吩钮极憨赖虾注鹅额累夷哲犬省诣紧闽绍诸膀熔谐盖匿憾砒伶雾弱涟赂高遇惜恳蚜性案奇来腮洼钙骆殿哀狂缆腊季人藉砍掉萄后玫判闹廖楼照拈助颠哑廓前娶耿徽佰飘前荐绎田易拈观贡桅笋履赡韵缴铬敖琢逢啥小素耿娠羡为消珍舜坯懊暮生频向撂庞亨扼帝艇题湿处净它瑰甘们旨律谗肪乒坦彭橱幅薯纫严倚吠胳柬疯燥督瓣穆硼京万涌呕相仙蔓圃豌抽蒸抽痈昔镇桓住佃尉囚海毖治砍
本文标题:编程规范测试试卷
链接地址:https://www.777doc.com/doc-6694784 .html