《C++试题6.pdf》由会员分享,可在线阅读,更多相关《C++试题6.pdf(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、试卷编号:8747所属语言:C+所属方案:C+期末考试-批次 2第 1 题 判断(1 分)(题号:713)C+程序中,每条语句结束时都加一个分号(;).答案:Y第 2 题 判断(1 分)(题号:671)条件语句不能作为多路分支语句.答案:N第 3 题 判断(1 分)(题号:651)流的状态包含流的内容、长度和下一次提取或插入操作的当前位置.答案:Y第 4 题 判断(1 分)(题号:672)开关语句不可以嵌套,在开关语句的语句序列中不能再有开关语句.答案:N第 5 题 判断(1 分)(题号:609)在公有继承中,基类中只有公有成员对派生类对象是可见的.答案:Y第 1 题 单项选择(1 分)(题号
2、:1451)下列存储类标识符中,()的可见性与存在性不一致.A:外部类B:自动类C:内部静态类D:寄存器类答案:C第 2 题 单项选择(1 分)(题号:1388)下列输出字符A的方法中,()是错误的.A:coutput(A);B:coutA;C:cout.put(A);D:char A=A;coutA;答案:A第 3 题 单项选择(1 分)(题号:1455)定义函数模板使用的关键字是().A:classB:inlineC:templateD:operator答案:C第 4 题 单项选择(1 分)(题号:712)下列关于对象的描述中,错误的是().A:对象是类的别名B:对象是类的实例C:一个类可
3、以定义多个对象D:对象之间通过消息进行通信答案:A第 5 题 单项选择(1 分)(题号:718)下列符号中,()不可作为分隔符.A:,B:C:?D:;答案:C第 6 题 单项选择(1 分)(题号:1448)下列的标识符中,()是文件级作用域的.A:函数形参B:语句标号C:外部静态类标识符D:自动类标识符答案:C第 7 题 单项选择(1 分)(题号:1409)作用域运算符的功能是().A:标识作用域的级别B:指出作用域的范围C:给定作用域的大小D:标识某个成员是属于哪个类的答案:D第 8 题 单项选择(1 分)(题号:1454)在将两个字符串连接起来组成一个字符串时,选用()函数.A:strle
4、n()B:strcpy()C:strcat()D:strcmp()答案:C第 9 题 单项选择(1 分)(题号:1428)下列关于模板的描述中,错误的是().A:类模板的成员函数可以是函数模板B:类模板生成模板类时,必须指定参数化的类型所代表的具体类型C:定义类模板时只允许有一个模板参数D:类模板所描述的是一组类答案:C第 10 题 单项选择(1 分)(题号:736)下列各运算符中,()优先级最高.A:+(双目)B:*(单目)C:=D:*=答案:B第 11 题 单项选择(1 分)(题号:727)在 int b3=1,3,2,4,5,6,O;中 b22的值是().A:0B:5C:6D:2答案:C
5、第 12 题 单项选择(1 分)(题号:1450)下列标识符中,()不是局部变量.A:register 类B:外部 static 类C:auto 类D:函数形参答案:B第 13 题 单项选择(1 分)(题号:1402)关于子类型的描述中,()是错误的.A:子类型就是指派生类是基类的子类型B:一种类型当它至少提供了另一种类型的行为,则这种类型是另一种类型的子类型C:在公有继承下,派生类是基类的子类型D:子类型关系是不可逆的答案:A第 14 题 单项选择(1 分)(题号:725)下列变量名中,()是合法的.A:CHINAB:byte-sizeC:doubleD:A+a答案:A第 15 题 单项选择
6、(1 分)(题号:1456)下列有关对函数模板参数的描述,错误的是().A:模板参数可以是一个或多个B:通常每个模板参数前必须加classC:模板参数是一个算术表达式D:模板参数是参数化的类型答案:C第 16 题 单项选择(1 分)(题号:735)下列各运算符中,()不能作用于浮点数.A:|B:&C:!D:答案:D第 17 题 单项选择(1 分)(题号:1414)下述静态数据成员的特性中,()是错误的.A:说明静态数据成员时前面要加修饰符staticB:静态数据成员要在类体外进行初始化C:引用静态数据成员时,可在静态数据成员名前加和作用域运算符D:静态数据成员不是所有对象共用的答案:D第 18
7、 题 单项选择(1 分)(题号:720)类型修饰符 unsigned 修饰()类型是错误的.A:charB:intC:long intD:float答案:D第 19 题 单项选择(1 分)(题号:717)按照标识符的要求,()符号不能组成标识符.A:连接符B:下划线C:大小写字母D:数字字符答案:A第 20 题 单项选择(1 分)(题号:1438)下列关于开关语句的描述中,()是正确的.A:开关语句中 default 子句可以没有,也可有一个B:开关语句中每个语句序列中必须有break 语句C:开关语句中 default 子句只能放在最后D:开关语句中 case 子句后面的表达式可以是整型表达
8、式答案:A第 1 题 WINDOWS 操作(15 分)(题号:10)-请在打开的窗口中,进行下列操作,完成所有操作后,请关闭窗口。-1:将 Excel 文件“pu”剪切并粘贴到文件夹“fee”中。2:在文件夹“dr”内新建一个名为“dx”的文件夹。3:将新建的文件夹“dx”属性改为“只读,隐藏”。第 1 题 程序填空(10 分)(题号:51)/*-【程序填空】-题目:以读方式打开 f2.dat 文件,以写方式打开 f4.dat,然后,使用 get()和 put()函数来读写文本文件,最后关闭打开的文件。-*/#include/*SPACE*/【?】#includevoid main()fstr
9、eam outfile,infile;/*SPACE*/infile.open(f2.dat,【?】);if(!infile)coutf2.dat cant open.n;/abort();exit(0);/*SPACE*/outfile.open(f4.dat,【?】);if(!outfile)coutf4.dat cant open.n;abort();char ch;while(infile.get(ch)outfile.put(ch);/*SPACE*/【?】outfile.close();答案:1).#include2).ios:in3).ios:out4).infile.close
10、();第 2 题 程序填空(10分)(题号:337)/*-【程序填空】-题目:将 N(N100)个元素的一维数组循环向左移位(即将每一个元素向前移动一位,第一位移到最后一位。)-*/#include void main()int a100,n,b,i;cinn;/*SPACE*/for(i=0;iai;/*SPACE*/b=【?】;/*SPACE*/for(【?】)ai-1=ai;/*SPACE*/【?】;for(i=0;i n;i+)coutai;答案:1).n2).a03).i=1;in;i+或 i=1;i=n-1;i+4).an-1=b 或 ai-1=b第 1 题 程序改错(10 分)(
11、题号:76)/*-【程序改错】-题目:计算并输出 100200 之间的所有素数的平方根之和.-注意:不可以增加或删除程序行,也不可以更改程序的结构。-*/#include#include void main()float s,sn;int n,k,f,m;s=0.0;for(n=101;n=199;n+=2)sn=sqrt(n);m=sn;k=3;f=0;/*FOUND*/while(k=m&f=0)/*FOUND*/if(n%k=0)f=0;/*FOUND*/m+;/*FOUND*/if(f)s=s+sn;couts;答案:1).while(k=m&f=0)2).if(n%k=0)f=1;3
12、).k+;4).if(!f)s=s+sn;或 if(f=0)s=s+sn;或 if(!f)s+=sn;或 if(f=0)s+=sn;第 2 题 程序改错(10 分)(题号:88)/*-【程序改错】-题目:以下程序中函数 fun1 和 fun2 为两个虚函数,类 derive为 base 的派生类。程序的运行结果为:base:fun1()base:fun2()-注意:不可以增加或删除程序行,也不可以更改程序的结构。-*/#includeclass basepublic:virtual void fun1()=0;/*FOUND*/abstract void fun2()=0;coutbase:f
13、un2()endl;/*FOUND*/class base:fun1()coutbase:fun1()endl;class derive:public basepublic:void fun1()base:fun1();void fun2()base:fun2();/*FOUND*/void main()/*FOUND*/base d;d.fun1();d.fun2();答案:1).virtual void fun2()=02).void base:fun1()3).;4).derive d;第 3 题 程序改错(10 分)(题号:71)/*-【程序改错】-题目:用顺序交换法将 12 个整数中
14、处于奇数位的数从大到小排序。-注意:不可以增加或删除程序行,也不可以更改程序的结构。-*/#include void main()/*FOUND*/int m12,i,j;/*FOUND*/for(i=1;imi;for(i=0;i11;i+=2)/*FOUND*/for(j=i+1;imj)k=mi;mi=mj;mj=k;for(i=0;i12;i+)coutmi;答案:1).intm12,i,j,k;2).for(i=0;i12;i+)或 for(i=0;i=11;i+)3).for(j=i+2;j11;j+=2)或 for(j=i+2;jmi)或 if(mimj)第 1 题 程序设计(1
15、0分)(题号:261)/*-【程序设计】-题目:对给定的 10 个数按逆序排列,必须用循环完成。-注意:部分源程序给出如下。请勿改动主函数main 和其它函数中的任何内容,仅在函数的花括号中填入所编写的若干语句。-*/#include#include#include void writeinfile(int n)fstream myfile;int k;myfile.open(f.txt,ios:out);for(k=0;k10;k+)myfilenk;myfile.close();void main()int n10=1,2,3,4,5,6,7,8,9,10,i,t;/*Program*/*End*/writeinfile(n);答案:-for(i=0;i5;i+)t=ni;ni=n9-i;n9-i=t;for(i=0;i10;i+)coutni;-