您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 长沙理工大学C++程序试卷5
长沙理工大学考试试卷………………………………………………………………………………………………………………试卷编号5拟题教研室(或教师)签名教研室主任签名………………………………………………………………………………………………………………课程名称(含档次)C++程序设计课程代号0806005专业计算机科学与技术层次(本、专)本考试方式(开、闭卷)闭第1页共5页一、填空题(15分,每空1分)1、在C++程序中,一个数组的名字实际上是指向该数组______元素的指针,并且在任何时候都不允许。2、运算符::、?=、&&、&和sizeof,按优先级由高至低的排列次序为_________。3、在进行函数调用时,将把参数的______传递给值参数,把参数的______传递给引用参数。4、非成员函数应声明为类的_________才能访问这个类的private成员。5、在调用f1()函数的过程中,又调用了f2()函数,这种调用称为______调用:而在调用f1()函数的过程中,调用于了f2()函数,又在调用f2()函数的过程中调用了f1()函数,这种调用称为______调用。6、重载的运算符仍然保持其原来的优先级、______和______。7、利用继承能够实现_________。这种实现缩短了程序的开发时间,促使开发人员复用已经测试和调试好的高质量软件。8、定义一个函数时,若只允许函数体访问形参的值而不允许修改它的值,则应把该形参声明为______,即在该形参声明的前面加上______关键字进行修饰。9、类是对具有共同属性和行为的一类事物的抽象描述,共同属性被描述为类中的______,共同行为被描述为类中的。二、选择题(20分,每题1分)1、下列说明中:constchar*ptr,ptr应该是____A)指向字符常量的指针B)指向字符的常量指针C)指向字符串常量的指针D)指向字符串的常量指针2、对变量的引用中错误的是________。A)inta;int&p=a;B)chara;char&p=a;C)inta;int&p;p=a;D)floata;float&p=a;3、关于函数返回值类型和返回值表达式的类型的描述中,错误的是________。A)函数返回值类型决定了返回值表达式的类型B)函数返回值的类型是在定义函数时确定的,在函数调用时不能改变C)函数返回值的类型就是返回值表达式的类型D)函数返回值表达式类型与返回值类型不同时,函数表达式类型应转换成函数返回值类型4、下列叙述中错误的是_________。A)一个函数中可以有多条return语句C++程序设计试卷第2页共5页B)调用函数必须在一条独立的语句中完成C)函数中通过return语句传递函数值D)主函数名main也可以带有形参5、运算符-*的功能是。A)用来表示指向对象指针对指向类成员指针的操作B)用来表示对象对指向类成员指针的操作C)用来表示指向对象指针对类成员的操作D)用来表示对象类成员的操作6、若有以下函数调用语句:f(m+n,x+y,f(m+n,z(x,y)));在此函数调用语句中实参的个数是_________。A)3B)4C)5D)67、为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为_________。A)publicB)protectedC)privateD)static8、在C++中,数据封装要解决的问题是_________。A)数据的规范化B)便于数据转换C)避免数据丢失D)防止不同模块之间数据的非法访问9、有如下定义语句:inta[]={1,2,3,4,5};,则对语句int*p=a;正确的描述是_________。A)语句int*p=a;定义不正确B)语句int*p=a;初始化变量p,使其指向数组对象a的第一个元素C)语句int*p=a;是把a[0]的值赋给变量pD)语句int*p=a;是把a[1]的值赋给变量p10、下列程序段中有错的是_________。A)templateClassTypeB)TypeC)func(Typea,b)D){return(ab)?(a):(b);}三、程序填空题(15分,第2题第一空1分,其它空2分)1、以下程序输出1—100之间各位数的乘积大于各位数之和的数,例如对于数字12,有1*21+2,故不输出该数,对于27,有2*72+7,故输出该数,请填空:#includeiostream.hvoidmain(){intn,k=1,s=0,m;for(n=1;n=100;n++){k=1;s=0;;while(){k*=m%10;s+=m%10;;}if(ks)coutnendl;C++程序设计试卷第3页共5页}}2、下面的程序用来判断某年是否为闰年(即年号能被400整除)#includeiostream.hvoidmain(){intyear,leap;cout输入年号:;cinyear;if(year%400==0);elseif()leap=1;elseleap=0;if(leap);elsecoutyear不是闰年\n;}3、用递归函数将所输入的5个字符按反序排列出来。#includeiostream.hvoidiochar(int);voidmain(){iochar(5);}voidiochar(intn){charc;if(){cinc;coutc;}else{cinc;;coutc;}}四、阅读程序,并写出结果(20分,每题4分)1、#includeiostream.h#includeiomanip.hC++程序设计试卷第4页共5页voidmain(){inti,j,k;for(i=1;i=4;i++){for(j=1;j=20-3*i;j++)cout;for(k=1;k=2*i-1;k++)coutsetw(3)*;coutendl;}for(i=3;i0;i--){for(j=1;j=20-3*i;j++)cout;for(k=1;k=2*i-1;k++)coutsetw(3)*;coutendl;}}2、#includeiostream.hvoidswap(int&x,int&y){inttemp;temp=x;x=y;y=temp;}voidmain(){intx=10,y=20;swap(x,y);coutx=x,y=yendl;}3、#includeiostream.hclassSample{intx,y;public:Sample(){x=y=0;}Sample(inta,intb){x=a;y=b;}~Sample(){if(x==y)coutx=yendl;C++程序设计试卷第5页共5页elsecoutx!=yendl;}voiddisp(){coutx=x,y=yendl;}};voidmain(){Samples1(2,3);s1.disp();}4、#includeiostream.hvoidmain(){inta;int&b=a;b=10;couta=aendl;}五、编程题(30分,每题10分)1、编写一个程序,从键盘出入一个偶数,输出该偶数写成的两个素数之和2、若用0到9之间不同的三个数构成一个三位数,编程序统计出共有多少种方法。3、一个程序计算两个给定长方形的面积,其中在设计类成员函数addarea()(用于计算两个长方形的总面积)时使用对象作为参数。
本文标题:长沙理工大学C++程序试卷5
链接地址:https://www.777doc.com/doc-4594984 .html