《C++模拟考试题.pdf》由会员分享,可在线阅读,更多相关《C++模拟考试题.pdf(43页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、11.下列选中不全是C+关键字的是()A.co n s t,bre ak,d e fau ltB.lo n g,v o id,u s in gC.v irt u al,e x t e rn,in clu d eD.t ry,t hro w,t his【参考答案】C12 .在 32 位的计算机中,一 个 char型数据所占的内存长度的字节是(A.4 B.1 C.2【参考答案】B13.有如下程序:#in clu d e/,io s t re am.h,fv o id m ain()in t x=l,a=0,b=0;s w it ch(x)cas e 0:b+;cas e 1:a+;)D.8cas
2、e 2:a+;b+;co u t/,a=a/,/z b=b;该程序的输出结果是()A.a-2,b=l B.a=l,b=l C.a-1,b=0 D.a-2,b=2【参考答案】A14.若有说明in t a 3 4 则 a 数组元素的非法引用是()A.a 0 2*1 B.a 1 3C.a 4-2 0 D.a 0 4【参考答案】D15.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是()A.函数调用可以作为独立的语句存在B.函数调用可以无返回值C.函数调用可以出现在表达式中D.函数调用可以作为一个函数的形参【参考答案】D16.以下类定义中可能会引起错误的语句是()clas s A p u
3、blic:A()/Iin t i;/2p riv at e:in t j;/3A (in t i)i+:/4 ;A.1 B.2 C.3 D.4【参考答案】D17.下列描述中错误的是()A.派生类可以作为基类派生其他的子类B.派生类继承基类的所有数据成员C.派生类可以有多个基类D.派生类不能继承一些函数成员【参考答案】B18.下列运算符中哪些是不能够被重载的?()A.,.-*,:B.+,-,n e w,d e le t e,=C.s iz e o f,n e w,d e le t e,+,-D.s iz e o f,n e w,d e le t e,+,-【参考答案】A19 .下列关于函数模板实
4、参不能省略的情况说明不正确的是()A.从模板函数实参表获得的信息有矛盾B.需要获得特定类型的返回值,而不管参数的类型如何C.虚拟类型参数没有出现在模板函数的形参表中D.函数模板不含有常规形参【参考答案】D2 0 .表达式10 5&6%3的值是()A.-1 B.非零值 C.O D.1【参考答案】C2 1.以下函数调用语句中含有参数个数是()e x cc(v l,v 2),(v 2,v 3,v 4),v 6);A.3 B.4 C.5 D.6【参考答案】A2 2 .下列程序段的输出结果是()#in clu d e v o id fu n(fu n *x,in t *y)co u t *x *y;*x
5、=3;*y=4;v o id m ain O in t x=l,y=2;fu n (&y,&x);co u t x y e n d l;A.2 14 3 B.12 12 C.1.4【参考答案】A2 3.下列程序的输出结果是()#in clu d e v o id m ain O char*s t r=,z 12 12 34 34;in t x l=0,x 2=0,x 3=0,x 4=0,i;fo r(i=0;s t r i!=Qr;i+)s w it ch(s t r i )cas e lz:x 4+;D.2 112cas e 2 :x 3+;case 3:x 2+;cas e 4 :x l+
6、;1 co u t x l,z,x2,z,x3,z,x 4;A.8,6,4,1 B.8,6,3,2 C.8,8,4,1 D.8,6,4,2【参考答案】D2 4 .每个C+程序中都必须有且仅有一个()A.类 B.预处理命令 C.主函数 D.语句【参考答案】C2 5 .设 有in t x=l 1;,则表达式(x+*2/3)的值是()A.7 B.8 C.11 D.12【参考答案】A2 6 .对表达式fo r(表达式1;表达式3)可理解为()A.fo r(表达式1;0;表达式3)C.fo r(表达式1;表达式3)B.fo r(表达式1;1;表达式3)D.fo r(;表达式 3)【参考答案】B2 7 .
7、有如下说明in t a 10 =1,2,3,4,5,6,7,8,9,10 ,*p=a;则数值为9的表达式是()A.*p+9 B.*(p+8)C.*p+=9 D.p+8【参考答案】B2 8.以下对C+语言函数的有关描述中,正确的是()A.在 C+语言中调用函数,只能把实参的值传给形参,形参的值不能传送给实参B.C+语言函数既可以嵌套定义又可以递归调用C.函数必须无返回值,否则不能使用函数D.函数必须有返回值,返回值类型不定【参考答案】A2 9 .拷贝构造函数的参数一般是()A.某对象名 B.某对象成员名 C.某对象的引用名 D.指向对象的指针名【参考答案】C30 .下面这个程序的结果是()#in
8、 clu d e clas s A p riv at e:in t a;public:void setaO;int geta();void A:setaO a=l;int A:gate()return a;class B private:int a;public:void setaO;int geta();void B:setaOa=2;int B:geta()return a;class C:public A,public B private:in t b;p u blic:v o id d is p lay();v o id C:d is p lay()in t b=ge t a();co
9、 u t b;v o id m ain ()C c;c.s e t a();c.d is p lay();A.1 B.2 C.随机输出1 或 2【参考答案】D31.对于模板定义关键字clas s 和 t y p e n am e 说法不正确的是(A.程序中的clas s 并不能都替换为t y p e n am eB.clas s 和 t y p e n am e 都可互相替换C.程序中的t y p e n am e 都能替换为clas sD.程序有错)D.程序中的部分clas s 可以替换为t y p e n am e【参考答案】B32 .以下程序的输出结果是()#in clu d e lo
10、n g fu n(in t n)lo n g s;if(n=l I I n=2)s=2;e ls e s=n-fu n(n-l);re t u rn s;v o id m ain ()co u t fu n(3);A.1 B.2 C.3 D.4【参考答案】A33.有如下程序#in clu d e v o id m ain O char ch 2 5 =6 9 37,8 2 5 4 ,in t i,j,s=0;fo r(i=0;i 2;i+)p i=ch i ;fo r(i=0;i 0 ;j+=2)s=10*s+p i j O ;co u t s;该程序的输出结果是()A.6 9 8 2 5 B
11、.6 38 2 5 C.6 38 5【参考答案】C34 .以下程序的输出结果是()#in clu d e v o id m ain O char x=0 4 0;c o u t (x l);A.10 0 B.8 0 C.6 4 D.32【参考答案】C35.对以下说明语句的正确理解是()D.6 9 38 2 5in t a 10 =6,7,8,9,10 ;A.将5个 初 值 依 次 赋 给a 1至a 5 B.将5个 初 值 依 次 赋 给a 0 至a 4 C.将5个 初 值 依 次 赋 给a 6 至a 10 D.因为数组长度与初值的个数不相同,所以此语句不正确【参 考 答 案】B二、填空题1.算
12、法的工作量大小和实现算法所需的存储单元多少分别称为算法的【1】。【参 考 答 案】1时间复杂度和空间复杂度2.可以把具有相同属性的一些不同对象归类,称 为【2】。【参 考 答 案】2 对象类3.由关系数据库系统支持的完整性约束是指【3】和参照完整性。【参 考 答 案】3实体完整性4 .软 件 结 构 是 以【4】为基础而组成的一种控制层次结构。【参 考 答 案】【4】模块5.数据库保护分为:安全性控制、【5】、并发性控制和数据的恢复。【参考答案】5完整性控制6.在C+语言的面向对象程序设计框架中,【6】是程序的基本组成单元。【参考答案】6类7 .以下程序的输出结果是7#in clu d e v
13、 o id fu n()s t at ic in t a=0;a+=2;c o u t a,/;v o id m ain O in t cc;fo r(cc=l;cc 4;cc+)fu n ();co u t e n d l;【参 考 答 案】7 2 4 68.以 下 程 序 的 输 出 结 果 是8】o#in clu d e u n s ign e d fu n(u n s ign e d n u m)u n s ign e d k=l;d o k*=n u m%10;n u m/=10;w hile(n u m);re t u rn k;v o id m ain()u n s ign e
14、d n=2 6;co u t fu n (n)e n d l;【参 考 答 案】8 129.C+语 言 中 的 多 态 性 是 在 编 译 时 通 过【9】和模板体现的,在 运 行 时 是 通 过10 体现 的。【参 考 答 案】9 C C C C C C 10 虚函数10.执 行下列语句后,c3中 的 值 为11in t cl=l,c2=2,c3;c3=l.0/c2*cl;【参 考 答 案】11 011.以 下 程 序 的 输 出 结 果 是【12】。#in clu d e v o id m ain()char s 口=abcd e f;s 3=0 ;co u t s e n d l;【参
15、考 答 案】12 ad c12.常数据成员和静态数据成员在使用前共同的要求是要进行 13。【参 考 答 案】13初始化13.表达式 x.o p e rat o r+(y.o p e rat o r+(0)还 可 以 写 成 14。【参 考 答 案】14 x+y+或 x+(y+)14.构造函数是和【15】同名的函数。【参考答案】15 类2 0 10 年 3 月计算机等级考试二级C+笔试真题(文字版)来源:互联网作者:ad m in 日期:2 0 10 年 0 4 月0 3 日访问次数:4 6 32 0 10 年 3 月计算机等级考试二级C+笔试试题(文字版)一、选择题(每小题2 分,共 7 0
16、分)下列各题a)、b)、c)、d)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。(1)下列叙述中正确的是a)对长度为n的有序链表进行查找,最坏情况下需要的比较次数为nb)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)c)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(lo g2 n)d)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n lo g2 n)(2)算法的时间复杂度是指a)算法的执行时间b)算法所处理的数据量c)算法程序中的语句或指令条数d)算法在执行过程中所需要的基本运算次数(3)软件按功
17、能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于系统软件的是a)编辑软件b)操作系统c)教务管理系统d)浏览器(4)软件(程序)调试的任务是a)诊断和改正程序中的错误b)尽可能多地发现程序中的错误c)发现并改正程序中的所有错误d)确定程序中错误的性质(5)数据流程图(d f d 图)是a)软件概要设计的工具b)软件详细设计的工具c)结构化方法的需求分析工具d)面向对象方法的需求分析工具(6)软件生命周期可分为定义阶段,开发阶段和维护阶段。详细设计属于a)定义阶段b)开发阶段c)维护阶段d)上述三个阶段(7)数据库管理系统中负责数据模式定义的语言是a)数据定义语言b)数据管理语言
18、c)数据操纵语言d)数据控制语言(8)在学生管理的关系数据库中,存取一个学生信息的数据单位是a)文件b)数据库c)字段d)记录(9)数据库设计中,用 e-r图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的a)需求分析阶段b)逻辑设计阶段c)概念设计阶段d)物理设计阶段(1 0)有两个关系r 和 t 如下:则由关系r 得到关系t的操作是a)选择b)投影c)交d)并1 1)下列关于函数的描述中,错误的是a)函数可以没有返回值b)函数可以没有参数c)函数可以是一个类的成员d)函数不能被定义为模板(1 2)若m y c l a ss是一个类名,且有如下语句序列m y c l a ss
19、c l,*c 2;m y c l a ss*c 3=n e w m y c l a ss;m y c l a ss&c 4=c l;上面的语句序列所定义的类对象的个数是a)1b)2c)3d)4(1 3)下列关于继承方式的描述中,错误的是a)如果不显式地指定继承方式,缺省的继承方式是私有(p ri v a t e)b)采用公有继承方式时,基类中的公有成员在派生类中仍然是公有成员c)采用保护继承方式时,基类中的保护成员在派生类中仍然是保护成员d)采用私有继承方式时,基类中的私有成员在派生类中仍然是私有成员(1 4)将前缀运算符“一”重载为非成员函数,下列原型中,能正确用于类中说明的是a)d e c
20、 r&op e ra t or-(i n t);b)d e e r op e ra t or(d e c r&,i n t);c)f ri e n d d e c r&op e ra t or(d e c r&);d)f ri e n d d e e r op e ra t or (d e c r&,i n t);(1 5)若 m y t e m p 是一个只有一个虚拟类型参数的类模板,且有如下语句序列M y t e m p p 2;M y t e m p p 3 2 ;编译系统在处理上面的语句序列时,所生成的模板m y t e m p的实例的个数是a)1b)2c)3d)0(1 6)在 c+中
21、,c i n 是个a)类b)对象c)模板d)函数(1 7)在下列字符中,不允许作为C+标识符的是a)bb)bc)_d)2(1 8)下列叙述中,错误的是a)f a l se 是一个逻辑型常量b)b 是一个字符型常量c)3 6 5 是一个i n t 常量d)3.1 4 1 5 9 2 6 是一个 d ou b l e 常量(1 9)若 x 和 y 是程序中的两个整型变量,则下列i f 语句中正确的是a)i f (x-0)y=l;e l se y=2;b)i f (x-0)t h e n y=l e l se y=2;c)i f (x-0)y=l e l se y=2;d)i f x=0 y=l;e
22、 l se y=2;(2 0)要定义整型数组x,使之包括初值为。的三个元素,下列语句中错误的是a)i n t x 3 =0,0,0);b)i n t x =0 ;c)s t a t i c i n t x 3 =0 ;d)i n t x =0,0,0 ;(2 1)关于函数中的 返回类型,下列表述中错误的是a)返回类型)中有可能包含关键字i n tb)返回类型 中有可能包含自定义标识符c)返回类型)中有可能包含字符*d)返回类型)中可能包含口(2 2)要定义一个引用变量p,使之引用类m y c l a s s 的一个对象,正确的定义语句是a)m y c l a s s p=m y c l a s
23、 s;b)m y c l a s s p=n e w m y c l a s s;c)m y c l a s s&p=n e w m y c l a s s;d)m y c l a s s a,&p=a;(2 3)有如下两个类定义c l a s s x x p r i v a t e:d o u b l e x l;p r o t e c t e d:d o u b l e x 2;p u b l i c:d o u b l e x 3;;c l a s s y y:p r o t e c t e d x x p r i v a t e:d o u b l e y l;p r o t e c
24、t e d:d o u b l e y 2;p u b l i c:d o u b l e y 3;);在类y y 中保护成员变量的个数是a)1b)2c)3d)4(2 4)下列关于运算符重载的描述中,错误的是a)可以通过运算符重载在C+中创建新的运算符b)赋值运算符只能重载为成员函数c)运算符函数重载为类的成员函数时,第一操作数是该类对d)重载类型转换运算符时不需要声明返回类型(2 5)下列关于类模板的描述中,错误的是a)类模板的成员函数都是模板函数b)可以为类模板参数设置默认值C)类模板描述了一组类d)类模板中只允许有一个类型参数(2 6)下列控制格式输入输出的操作符中,能够设置浮点数精度的
25、是a)s e t p r e c i s i o nb)s e t wc)s e t f i l ld)s ho w p o i n t2 7)下列程序段中包含4 个函数,其中具有隐含t hi s 指针的是i n t f u n l ();c l a s s t e s t p u b l i c:i n t f u n 2 ();f r i e n d i n t f u n 3();s t a t i c i n t f u n 4(););a)f u n lb)f u n 2c)f u n 3d)f u n 4(2 8)有如下程序t t i n c l u d eu s i n g n
26、a m e s p a c e s t d;c l a s s t e s t p u b l i c:t e s t ()t e s t (c o n s t t e s t&t)c o u t l;);t e s t f u n(t e s t&u)t e s t t=u;r e t u r n t;i n t m a i n()t e s t x,y;x=f u n(y);r e t u r n 0;运行这个程序的输出结果是a)无输出b)lc)1 1d)l l l(2 9)有如下程序t t i n c l u d eu s i n g n a m e s p a c e s t d;c
27、l a s s a p u b l i c:a(i n t i=0):r l (i)v o i d p r i n t ()c o u t,v o i d p r i n t ()c o n s tc o u t,c v o i d p r i n t (i n t x)c o u t p p r i v a t e:i n t r l;);i n t m a i n()a a l;c o n s t a a 2(4);a l.p r i n t (2);a l.p r i n t ();r e t u r n 0;)运行时的输出结果是a)p 8-e 4b)p 8-c l 6 c)p 0-e
28、4-d)p 0-c l 6-(3 0)下列代码声明了 3 个类c l a s s p e r s o n);c l a s s s t u d e n t:p u b l i c p e r s o n);class undergraduate:student);下列关于这些类之间关系的描述中,错误的是a)类 person 是类 undergraduate 的基类b)类 undergraduate 从类 student 公有继承c)类 student是类person的派生类d)类 undergraduate是类person的派生类(31)有如下程序#includeusing namespace
29、 std;class basepublic:base(int x=0):valb(x)cout base()coutprivate:int valb;);class derived:public basep u b l i c:d e r i v e d(i n t x=0,i n t y=0):b a s e(x),v a l d(y)c o u t d e r i v e d()c o u t p r i v a t e:i n t v a l d;);i n t m a i n()d e r i v e d o b j l 2 (2,3);r e t u e n 0;)运行时的输出结果是
30、a)2 3 3 2b)2 3 2 3c)3 2 3 2d)3 2 2 3(3 2)下面是类s ha p e的定义:c l a s s s ha p e p u b l i c:v i r t u a l v o i d d r a w()=0;);F列关于s ha p e类的描述中,正确的是a)类s ha p e是虚基类b)类s ha p e是抽象类c)类s ha p e中的d r a w函数声明有误d)语 句 s ha p e s;”能够建立s ha p e的一个对象s(3 3)将运算符“+”重载为非成员函数,下列原型声明中,错误的是a)m y c l o c k o p e r a t o
31、 r +(m y c l o c k,l o n g);b)m y c l o c k o p e r a t o r +(m y c l o c k,m y c l o c k);c)m y c l o c k o p e r a t o r +(l o n g,l o n g);d)m y c l o c k o p e r a t o r +(l o n g,m y c l o c k);(3 4)打开文件时可单独或组合使用下列文件打开模式(T)i o s _ b a s e:a p p (2)i o s _ b a s e:b i n a r y(3)i o s _ b a s e:i
32、 n (4)i o s _ b a s e:o u t若要以二进制读方式打开一个文件,需使用的文件打开模式为a)b)c)d)(3 5)有如下程序:#i n c l u d eu s i n g n a m e s p a c e s t d;c l a s s b p u b l i c:b(i n t x x):x(x x)+c o u t;x+=1 0;v i r t u a l v o i d s ho w()c o n s tc o u t p r o t e c t e d:s t a t i c i n t c o u n t;private:int x;);class d:pub
33、lic bpublic:d(int xx,int yy):b(xx),y(yy)+count;y+=100;virtual void show()constcoutshow();delete ptr;r e t u r n 0;)运行时的输出结果是a)1 _ 1 2 0b)2 _ 1 2 0c)1 _ 2 0d)2 _ 2 0二、填空题(每空2 分,共 3 0 分)请将每一个空的正确答案写在答题卡【1】【1 5 序号的横线上,答在试卷上不得分。(1)一个队列的初始状态为空。现将元素a,b,c,d,e,f,5,4,3,2,1 依次入队,然后再依次退队,则元素退队的顺序为【1】o(2)设某循环队列
34、的容量为5 0,如果头指针f r o nt=4 5(指向队头元素的前一位置),尾指针r e a r=1 0(指向队尾元素),则该循环队列中共有12】个元素。(3)设二叉树如下:对该二叉树进行后序遍历的结果为【3】o(4)软 件 是【4】、数据和文档的集合。(5)有一个学生选课的关系,其中学生的关系模式为:学生(学号,姓名,班级,年龄),课程的关系模式为:课程(课号,课程名,学时),其中两个关系模式的键分别是学号和课号,则关系模式选课可定义为:选课(学号,【5】,成绩)。(6)若 x 和 y 是两个整形变量,在执行了语句序列x=5;y=6;y+=x-;后,x+y 的 值 为【6】o(7)在执行语
35、句序列i nt i=0;d o i+;w h i l e(i*i x)x=*pa;r e t u r n x;)若执行了语句i nt x 5 =23,4 6,7 8,5 5,1 6);后,通过表达式x f u n(x,5)调用该函数,则得到的返回值为 8 0(9)有如下的函数定义:i nt x f u n(i nt x)i nt y=x;i nt x=1 0;y+=x;r e t u r n x+y;)通过表达式x f u n(5)调用该函数,则得到的返回值为【9】。(1 0)假定x c s 是一个类,该类中一个成员函数的原型为“x c s *a b c();,则在类外定义时对应的函数头为 1
36、 0 。(1 D 请将下面的类d a t e 的定义补充完整,使得由语句d a t e f i r s t d a y;定义的对象f i r s t d a y 的值为20 1 0 年 1 月 1日。c l a s s d a t e pu b l i c:d a t e (1 1 ):y e a r(y),m o nt h(m),d a y(d)pr i v a t e:i nt y e a r,m o nt h,d a y;依次表示年、月、日);(1 2)请将下面的程序补充完整,使得程序输出“飘是张娜的书”。#i nc l u d eu s i ng na m e s pa c e s t
37、 d;c l a s s b o o k pu b l i c:b o o k(c h a r *s t r)s t r c py (t i t l e,s t r);)(1 2 v o i d pr i nt i nf o O c o u t pr o t e c t e d:c h a r t i t l e 5 0 ;);c l a s s m y b o o k:pu b l i c b o o k pu b l i c:m y b o o k (c h a r *s l,c h a r *s 2=张娜):1 3 s t r c py (o w ne r,s 2);v i r t u
38、a l v o i d pr i nt i nf o O c o u t pr i nt i nf o();r e t u r n 0;(1 3)在有理数类r a t i o na l 中重载插入运算符 ,以便按a/q形式输出。请将 运算符函数的定义补充完整。c l a s s r a t i o na l pu b l i c:r a t i o na l (i nt a a,i nt qq):a(a a),q(qq)f r i e nd 【1 4】o pe r a t o r (o s t r e a m&o u t,r a t i o na l&x)r e t u r n(o u t pr i v a t e:i nt a,q;);(1 4)下面的函数定义是某函数模板能够生成的函数实例i nt s qu a r e(i nt n)r e t u r n n*n;d o u b l e s qu a r e(d o u b l e n)r e t u r n n*n;由此可知,该函数模板的定义是15 o