【计算机类职业资格】二级C++分类模拟266及答案解析.doc
《【计算机类职业资格】二级C++分类模拟266及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++分类模拟266及答案解析.doc(18页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+分类模拟 266 及答案解析(总分:60.00,做题时间:90 分钟)一、选择题(总题数:35,分数:60.00)1.下列程序的输出结果是_。 #includeiostream using namespace std; int main() char a=“Hello,Test“; char*p=a; while(*p) coutchar(*p+“A“-“a“); else cout *p; p+; return 0; (分数:1.00)A.hello,testB.Hello,TestC.HELLO,TESTD.hELLO,tEST2.执行下列程序的结果是 main( ) float
2、 x=1,y; y=+x*+x; coutyendl; (分数:2.00)A.9.000000B.6.000000C.1.000000D.程序有错误3.下列关于函数模板的说法,正确的是_。(分数:2.50)A.在定义模板参数时关键字 typename 和 class 可以互换B.函数模板的形参表中只能有虚拟类型参数C.调用函数模板时,模板实参永远不能省略D.在函数模板的声明中,只能使用 1 个虚拟类型参数4.若已定义过类 A 和 B,并且定义类 C 如下: class C public: int val; A aObj; B bObj; C*cObj; C(): cObj(0), val(0)
3、 ; 若要建立类 C 的对象 object,则类成员 val、aObj、bObj 和 cObj 中最后被初始化的是_。(分数:1.00)A.valB.aObjC.bObjD.cObj5.下列有关指针的用法中错误的是 _ 。(分数:2.00)A.int i;int *ptr=B.int i;int *ptr;i=*ptr;C.int *ptr;ptr=0;D.inti=5;int *ptr;*ptr6.以下结构类型可用来构造链表的是_ 。(分数:2.00)A.street aaint a;int *b;B.struct bb int a;bb*b;C.struct ccint *a;cc b;D
4、.struct dd int *a;aa b;7.有如下函数模板: template typename T, typename U T cast(U u) return u; 其功能是将 U 类型数据转换为 T 类型数据。已知 i 为 int 型变量,下列对模板函数 cast 的调用中正确的是_。(分数:1.00)A.cast(i);B.cast(i);C.castchar*, int(i);D.castdouble, int(i);8.有以下程序: class Date public: Date(int y,int m,int d); year=y; month=m; day=d; Date
5、(int y=2000) year=y; month=10; day=1; Date(Dated) year=d.year; month=d.month; day=d.day; void print() coutyear“.“month“,“dayendl; private: int year,month,day;); Date fun(Date d) Date temp; temp=d; return temp; int main() Date date1(2000,1,1),date2(0,0,0); Date date3(date1); date2=fun(date3); return
6、0; 程序执行时,Date 类的复制构造函数被调用的次数是_。(分数:1.00)A.2B.3C.4D.59.下列叙述中正确的是(分数:2.00)A.软件测试的目的是证明程序是否正确B.软件测试的目的是尽可能多的发现程序中的错误C.软件测试的目的是使程序运行结果正确D.软件测试的目的是使程序符合结构化原则10.若有函数调用“fun(x*y,3,max(a,b,c)”,则 fun 的实参个数为_。(分数:2.00)A.3B.4C.5D.611.要定义整型数组 x,使之包括初值为 O 的三个元素,下列语句中错误的是_。(分数:2.50)A.int x3=0, 0, 0;B.int x=0;C.sta
7、tic int x3=0;D.int x=0, 0, 0;12.在对函数进行原型声明时,下列语法成分中不需要的是_。(分数:1.00)A.函数返回类型B.函数参数列表C.函数名D.函数体13.有以下程序: #includeiostream using namespace std; class sample prlvate: int x; public: sample(int a) x=a; friend double square(sample s); ; double square(sample s) return s.x*s.X; int main() sample s1(20),s2(3
8、0); coutsquare(s2)endl; return 0; 执行结果是_。(分数:1.00)A.20B.30C.900D.40014.运行以下程序后,如果从键盘上输入 shose 后回车,则输出结果为 _。 # includeiostream.h void main() int v1=0,v2=0,k=0; char ch80; cinch; while(chk) switch(chk) case “s“; case “h“; default: v1+1; case “o“: v2+; k+; coutv1 “,“v2end1; (分数:2.00)A.2, 0B.5, 0C.4, 5D
9、.2, 515.有如下程序: #includeiostream #includeiomanip US ing namespace std; int main() coutsetw(10)setfill(“x“) setprecision(8)left; cout12.345679_98765; return 0; 若程序的输出时 12.34567998765,则画线处缺失的部分是_。(分数:2.50)A.setw(10)B.setfill(“x“)C.setprecision(8)D.right16.有如下程序: #includeiostream using namespace std; cl
10、ass A public: A(int i=0):r1(i) void print()cout“E“R1“-“; void print() constcout“C“R1*R1“-“; void print(int x) cout“P“R1*R1*R1“-“; private: int r1; ; int main() A a1; const A a2(4); a1.print(2); a2.print(); return 0; 运行时的输出结果是_。(分数:2.50)A.P8-E4B.P8-C16-C.P0-E4-D.P0-C16-17.下列关于类模板的叙述中,错误的是_。(分数:1.00)A
11、.类模板描述的是一组类B.可以为类模板的参数设置默认值C.类模板的成员函数可以是函数模板D.定义类模板时只允许有一个模板参数18.C+语言对 C 语言做了很多改进,C+语言相对于 C 语言的最根本的变化是_。(分数:1.00)A.增加了一些新的运算符B.允许函数重载,并允许设置默认参数C.规定函数说明符必须用原型D.引进了类和对象的概念19.有如下两个类定义: class XX private: double x1; protected: double x2; public: double x3; ; class YY: protected XX private: double y1; pro
12、tected: double y2; public: double y3; ; 在类 YY 中保护成员变量的个数是_。(分数:1.00)A.1B.2C.3D.420.下面有关重载函数的说法中,正确的是 _ 。(分数:1.00)A.重载函数必须具有不同的返回值类型B.重载函数形参个数必须不同C.重载函数必须有不同的形参列表D.重载函数名可以不同21.有如下类定义: class Sample public; Sample(int x):ref(x) / private: Sample():ref(0) / static int val=5; / constint ref; / ; 上述程序段中,错
13、误的语句是_。(分数:2.00)A.B.C.D.22.下列关于 C+流的表述中,正确的是_。(分数:2.50)A.与每个输入或输出设备的信息交换都可以通过流类来实现B.从流中获取数据的操作称为插入操作C.cin 是一个预定义的输入流类D.向流中添加数据的操作称为提取操作23.下列数据结构中,能用二分法进行查找的是_。(分数:2.50)A.无序线性表B.线性链表C.二叉链表D.顺序存储的有序表24.软件生命周期是指_。(分数:1.00)A.软件产品从提出、实现、使用维护到停止使用退役的过程B.软件从需求分析、设计、实现到测试完成的过程C.软件的开发过程D.软件的运行维护过程25.有如下类定义:
14、class AA int a; public: AA(int n=0):a(n) ; class BB:public AA public: BB(int n)_ ; 其中横线处缺失部分是_。(分数:3.00)A.:a(n)B.:AA(n)C.a(n);D.a=n;26.下列关于栈的叙述正确的是_。(分数:1.00)A.栈按“先进先出”组织数据B.栈按“先进后出”组织数据C.只能在栈底插入数据D.不能删除数据27.计算斐波那契数列第 n 项的函数定义如下: int fib(int n) if.(n=0) return 1; else if(n=1) return 2; else return f
15、ib(n-1)+fib(n-2); 若执行函数调用表达式 fib(2),函数 fib 被凋用的次数是_。(分数:1.00)A.1B.2C.3D.428.C+中设置虚基类的目的是_。(分数:1.00)A.简化程序B.消除二义性C.提高运行效率D.实现数据的隐藏性29.C+模板包括 _ 。(分数:2.00)A.类模板和函数模板B.模板类和模板函数C.类和函数D.对象和函数30.已知 Value 是一个类,value 是 Value 的一个对象。下列以非成员函数形式重载的运算符函数原形中,正确的是(分数:2.00)A.Value operator+(Value v,int i);B.Value op
16、erator+(Value v=value,int i);C.Value operator+(Value V,int i=0);D.Value operator+(Value v=value,int i=0);31.己知类 X 是类 Y 的友元,类 Y 是类 Z 的友元,则 _。(分数:2.00)A.类 X 一定是类 Z 的友元B.类 Z 一定是类 X 的友元C.类 Z 的成员函数可以访问类 Y 的对象的任何成员D.类 K 的成员函数可以访问类 Y 的对象的任何成员32.下列关于赋值运算符“=”重载的叙述中,正确的是_。(分数:2.50)A.赋值运算符只能作为类的成员函数重载B.默认的赋值运算
17、符实现了“深层复制”功能C.重载的赋值运算符函数有两个本类对象作为形参D.如果己经定义了复制(拷贝)构造函数,就不能重载赋值运算符33.负责数据库中查询操作的数据库语言是_。(分数:2.50)A.数据定义语言B.数据管理语言C.数据操纵语言D.数据控制语言34.以下程序执行后的输出结果是 _ 。 #include iostream using namespace std; void try(int,int,int,int); int main() int x,y,z,r; x=1; y=2; try(x,y,z,r); coutrendl; return 0; void try(int x,i
18、nt y,int z,int r) z=x+y; x=x*x; y=y*y; r=z+x+y; (分数:2.00)A.18B.9C.10D.不确定35.建立一个类对象时,系统自动调用_。(分数:1.00)A.析构函数B.友元函数C.静态函数D.构造函数二级 C+分类模拟 266 答案解析(总分:60.00,做题时间:90 分钟)一、选择题(总题数:35,分数:60.00)1.下列程序的输出结果是_。 #includeiostream using namespace std; int main() char a=“Hello,Test“; char*p=a; while(*p) coutchar
19、(*p+“A“-“a“); else cout *p; p+; return 0; (分数:1.00)A.hello,testB.Hello,TestC.HELLO,TEST D.hELLO,tEST解析:解析 用一个指针变量 p 指向字符数组 a,在 while 循环中,当不指向数组尾时,将小写字母转换为大写字母,然后将其输出。2.执行下列程序的结果是 main( ) float x=1,y; y=+x*+x; coutyendl; (分数:2.00)A.9.000000 B.6.000000C.1.000000D.程序有错误解析:解析 本题比较简单,考查自增运算符的运算规则以及运算符优先级
20、的知识点。自增运算符的优先级高于乘法运算符的优先级。3.下列关于函数模板的说法,正确的是_。(分数:2.50)A.在定义模板参数时关键字 typename 和 class 可以互换 B.函数模板的形参表中只能有虚拟类型参数C.调用函数模板时,模板实参永远不能省略D.在函数模板的声明中,只能使用 1 个虚拟类型参数解析:解析 本题考查的是函数模板的相关知识。在声明模板参数时,关键字 typename 与 class 可以互换,是等价的,故选项 A 正确。在函数模板形参表中也可以有其他类型参数,不仅仅是虚拟类型参数,也可以有实际类型参数,故选项 B 错误。在对模板函数的调用可以只使用函数实参,而省
21、略了模板实参,但模板实参的省略并不是必然的,而是有条件的,故选项 C 错误。函数模板的模板形参表中可以有多个参数,故选项 D 错误。综上所述,选择 A。4.若已定义过类 A 和 B,并且定义类 C 如下: class C public: int val; A aObj; B bObj; C*cObj; C(): cObj(0), val(0) ; 若要建立类 C 的对象 object,则类成员 val、aObj、bObj 和 cObj 中最后被初始化的是_。(分数:1.00)A.valB.aObjC.bObjD.cObj 解析:解析 C+中初始化顺序遵循以下两个原则:(1)初始化列表的初始化变
22、量顺序是根据成员变量声明的顺序来执行的;(2)若有成员对象,先初始化成员对象,多个成员变量按规则(1)执行。按题中所给声明顺序,最后被初始化的是 cObj。故选择 D 选项。5.下列有关指针的用法中错误的是 _ 。(分数:2.00)A.int i;int *ptr=B.int i;int *ptr;i=*ptr; C.int *ptr;ptr=0;D.inti=5;int *ptr;*ptr解析:6.以下结构类型可用来构造链表的是_ 。(分数:2.00)A.street aaint a;int *b;B.struct bb int a;bb*b; C.struct ccint *a;cc b;
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 分类 模拟 266 答案 解析 DOC
