【计算机类职业资格】二级C++分类模拟267及答案解析.doc
《【计算机类职业资格】二级C++分类模拟267及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++分类模拟267及答案解析.doc(19页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+分类模拟 267及答案解析(总分:68.00,做题时间:90 分钟)一、选择题(总题数:35,分数:68.00)1.对类的构造函数和析构函数描述正确的是 _ 。(分数:2.00)A.构造函数可以重载,析构函数不能重载B.构造函数不能重载,析构函数可以重载C.构造函数可以重载,析构函数也可以重载D.构造函数不能重载,析构函数也不能重载2.下列选项中合法的用户标识符是 _ 。(分数:2.00)A.10ngB.2TestC.3DmaxD.dat3.应用数据库的主要目的是(分数:1.00)A.解决数据保密问题B.解决数据完整性问题C.解决数据共享问题D.解决数据量大的问题4.以下函数实现的功
2、能是 void fun(char*s) char*p,*q,temp; p=s; q=s+strlen(s)-1; while(pq) temp=*p; *p=*q; *p=temp; p+; q-; (分数:1.00)A.将一个字符串首尾颠倒B.计算字符串的长度C.统计字符串中的空格个数D.将字符串中的小写字母变成大写字母5.有如下程序: #includeiostream using namespace std; class Base pubfic: Base()cout“BB“;f(); void f()cout“Bf“: ; class Derived:public Base publi
3、c: Derived()cout“DD“;) voidf()cout“Df“: ; intmain()Derived d;retum 0; 执行上面的程序将输出(分数:1.00)A.BBBfDDB.BBDfDDDfC.DDD.DDBBBf6.在下列程序的横线处填上适当的内容,使程序执行后的输出结果为 ABCD_。 #includeiostream using namespace std; class A public:A()cout“A“; ; class B:_ public:B()cout“B“; ; classC: virtua1 pubtic A public:C()cout“C“;
4、; class D:public B,public D public:D()cout“D“; ; void main() D obj;(分数:1.00)A.public AB.private AC.protected AD.virtual public A7.已知有数组定义 char a34; 下列表达式中错误的是(分数:2.00)A.a2=“WIN“B.strcpy(a2,“WIN“)C.a23=“W“D.a01=a018.为完成下面的程序,在画线处应填入的语句是_。 #includediostream using namespace std; class Base int x; publi
5、c: Base(int i)x=i; Base() ; class Derived:public Base public: _/完成类 Derived构造函数的定义 ; int main() Derived obj(2); return 0; (分数:2.50)A.Derived(int i):Base(i)B.Derived()C.vold Derived(in*i):Base(i)D.Derived(int i)Base(i);9.有如下程序: #includeiostream using namespace std; class base public: base(int x=0)cou
6、tx; ; class derived:public base public: derived(int x=y)coutx; public: base val; ; int main() derived d(1); return 0; 程序的输出结果是_。(分数:2.50)A.0B.1C.01D.00110.以下选项中,不能正确赋值的是 _ 。(分数:2.00)A.char s110;s1=“Ctest“;B.char s2=“C“,“t“,“e“,“s“,“t“);C.char s320=“Ctest“;D.char* s4=“Ctest/n“;11.下列属于黑盒测试方法的是_。(分数:2.
7、50)A.语句覆盖B.逻辑覆盖C.边界值分析D.路径分析12.有 3个关系 R、S 和 T如下: (分数:2.50)A.笛卡儿积B交C并D.自然连接13.有如下程序: #includeiostream using namespace std; intmain() int f,f1=0,f2=1; for(int i=3;i=6;i+) f=f1+f2; f1=f2;f2=f; coutfendl; return 0; 运行时的输出结果是_。(分数:3.00)A.2B.3C.5D.814.已知类 A有公用数据成员 a,并重载了“”运算符,且有 A obj2;const A*ptr new A;则
8、下列语句错误的是 _ 。(分数:2.00)A.ptr-a=100;B.ptr=C.ptr+;D.obj2=*ptr;15.有如下类定义: class B public: void fun1() private: void fun2() protected: void fun3() ; class D:public B protected: void fun4() ; 若 obj是类 D的对象,则下列语句中不违反访问控制权限的是_。(分数:1.00)A.obj.fun1();B.obj.fun2();C.obj.fun3();D.obj.fun4();16.下列叙述中,正确的是(分数:1.00)
9、A.用 E-R图能够表示实体集间一对一的联系、一对多的联系和多对多的联系B.用 E-R图只能表示实体集之间一对一的联系C.用 E-R图只能表示实体集之间一对多的联系D.用 E-R图表示的概念数据模型只能转换为关系数据模型17.软件是指(分数:2.00)A.程序B.程序和文档C.算法加数据结构D.程序、数据与相关文档的完整集合18.设有如下三个关系表: (分数:2.00)A.T=RSB.T=RSC.T=RSD.T=R/S19.下列关于函数模板的描述中,正确的是_。(分数:3.00)A.函数模板是一个实例函数B.使用函数模板定义的函数没有返回类型C.函数模板的类型参数与函数的参数相同D.通过使用不
10、同的类型参数,可以从函数模板得到不同的实例函数20.在进行了任何 C+流的操作后,都可以用 C+流的有关成员函数检测流的状态,其中只能用于检测输入操作的函数的函数名是_。(分数:2.50)A.failB.eofC.badD.good21.下列数据结构中,属于非线性结构的是_。(分数:2.50)A.循环队列B.带链队列C.二叉树D.带链栈22.下列关于类模板的模板参数的叙述中,错误的是_。(分数:1.00)A.模板参数可以作为数据成员的类型B.模板参数可以作为成员函数的返回类型C.模板参数可以作为成员函数的参数类型D.模板参数不能作为成员函数的局部变量的类型23.下列有关内联函数的叙述中,正确的
11、是_。(分数:2.50)A.内联函数在调用时发生控制转移B.内联函数必须通过关键字 inline来定义C.内联函数是通过编译器来实现的D.内联函数函数体的最后一条语句必须是 return语句24.有如下程序: #includeiostream using namespace std; class XX int x; public: XX(int xx=0):x(xx) int getX()return x; ; class YY:public XX int y; public: YY(int xx, int yy):x(xx), y(yy) int getV()return getX()+y;
12、 ; int main() YY c(3, 4); coutc.getV()+c.getX()endl; return 0; 运行这个程序的输出结果是_。(分数:2.50)A.3B.4C.7D.1025.以下关键字不能用来声明类的访问权限的是_。(分数:1.00)A.publicB.staticC.protectedD.private26.设有基类定义: class Cbase private: int a; protected: int b; public: int c; ; 派生类采用何种继承方式可以使成员变量 b成为自己的私有成员(分数:2.00)A.私有继承B.保护继承C.公有继承D.
13、私有、保护、公有均可27.如果表达式 x * yz 中,“*”是作为友元函数重载的,“”是作为成员函数重载的,则该表达式还可为(分数:2.00)A.operator(operator * (x, y) ,Z)B.operator(operator * (x, y) ,z)C.operator * (operator(x, y) ,z)D.operator(operator * (x, y) )28.有下列程序: #include stdio.h void main() (int a=1,2,3,4),y,*p=a3; -p;y=*p;printf(“y=%d/n“,y); 程序的运行结果是 _
14、 ,(分数:2.50)A.y=0B.y=1C.y=2D.y=329.有如下程序: #includeiostream using namespace std; class Book public: Book(char*t=“ “)strcpy(title, t); _ private: char title40; ; class Novel:public Book public: Novel(char*t=“ “):Book(t) char*Category()constreturn “文学“ ; ; int main() Book*pb; pb=new Novel(); coutpb-Cate
15、gory(); delete pb; return 0; 若程序运行时输出结果是“文学”,则横线处缺失的语句是_。(分数:2.00)A.char*Category();B.char*Category()const;C.virtual char*Category()const;D.virtual char*Category()const=0;30.下列叙述正确的是_。(分数:1.00)A.算法的执行效率与数据的存储结构无关B.算法的空间复杂度是指算法程序中指令(或语句)的条数C.算法的有穷性是指算法必须能在执行有限个步骤之后终止D.以上三种描述都不对31.下列错误的定义语句是_。(分数:2.50
16、)A.int X3=0,1,1,2,3);B.int x43=1,2,0,1,2,3,1,2,3,1,2,3;C.int x4=1,2,3,1,2,3,1,2,3,1,2,3;D.int x3=1,2,3,4;32.在深度为 5的满二叉树中,叶子节点的个数为(分数:2.00)A.32B.31C.16D.1533.设程序如下: #includeiostream using namespace std; int main() int *p,*q,r=10; q= p= cout*p+1endl; return 0; 以上程序的输出结果是_。(分数:2.50)A.P的地址B.r的地址C.11D.运行
17、错误34.一个队列的进队列顺序是 1,2,3,4,则出队列顺序为 _ 。(分数:1.00)A.4,3,2,1B.2,4,3,1C.1,2,3,4D.3,2,1,435.有如下程序 #includeiostream using namespace std; class MyClass public: MyClass()+count; MyClass()-count; static int getcount()return count; private: static int count; ; int MyClass:count=0; int main() MyClass obj; coutobj
18、.getcount(); MyClass*ptr=new MyClass; coutMyClass:getcount(); delete ptr; coutMyClass:getcount(); return 0; 程序的输出结果是_。(分数:2.50)A.121B.232C.221D.122二级 C+分类模拟 267答案解析(总分:68.00,做题时间:90 分钟)一、选择题(总题数:35,分数:68.00)1.对类的构造函数和析构函数描述正确的是 _ 。(分数:2.00)A.构造函数可以重载,析构函数不能重载 B.构造函数不能重载,析构函数可以重载C.构造函数可以重载,析构函数也可以重载D
19、.构造函数不能重载,析构函数也不能重载解析:2.下列选项中合法的用户标识符是 _ 。(分数:2.00)A.10ngB.2Test C.3DmaxD.dat解析:解析 此题考查的是标识符。标识符是由数字、字母以及下划线构成,其第一个字符必须是字母或下划线,中间不能有空格;标识符的长度是任意的,但由于编译系统的限制一般不超过 31个字符;标识符中的大小写字母是不同的;定义标识符时不能采用系统的保留字。符合这些要求的只有选项 B。3.应用数据库的主要目的是(分数:1.00)A.解决数据保密问题B.解决数据完整性问题C.解决数据共享问题 D.解决数据量大的问题解析:解析 数据库中的数据具有“集成”与“
20、共享”的特点,亦即是数据库集中了各种应用的数据,进行统一构造与存储,而使它们可以被不同应用程序所使用,故选项 C)正确。4.以下函数实现的功能是 void fun(char*s) char*p,*q,temp; p=s; q=s+strlen(s)-1; while(pq) temp=*p; *p=*q; *p=temp; p+; q-; (分数:1.00)A.将一个字符串首尾颠倒 B.计算字符串的长度C.统计字符串中的空格个数D.将字符串中的小写字母变成大写字母解析:解析 本题考核 while循环语句和指针的使用。在该函数中,循环开始时,指针 p指向字符串的第 1个字符,指针 q指向字符串的
21、最后一个字符,首先交换这两个字符:然后,指针 p前进一个字符位置(指向下一个字符),指针 q后退一个字符位置(指向前一个字符);经过若干次循环,条件 pq 将为假(即指针 p和指针 q相遇),循环结束。从而实现了将一个字符串首尾颠倒的功能。5.有如下程序: #includeiostream using namespace std; class Base pubfic: Base()cout“BB“;f(); void f()cout“Bf“: ; class Derived:public Base public: Derived()cout“DD“;) voidf()cout“Df“: ; i
22、ntmain()Derived d;retum 0; 执行上面的程序将输出(分数:1.00)A.BBBfDD B.BBDfDDDfC.DDD.DDBBBf解析:6.在下列程序的横线处填上适当的内容,使程序执行后的输出结果为 ABCD_。 #includeiostream using namespace std; class A public:A()cout“A“; ; class B:_ public:B()cout“B“; ; classC: virtua1 pubtic A public:C()cout“C“; ; class D:public B,public D public:D()c
23、out“D“; ; void main() D obj;(分数:1.00)A.public AB.private AC.protected AD.virtual public A 解析:解析 由主函数 main入手,定义了类 D对象 obj。其中 D为类 B和 C的公有继承,A 是 C的虚基类。题目中要求的输出结果为 ABCD,依次为类 A、类 B、类 C、类 D中构造函数的输出语句。为了保证基类通过多条路径被派生类继承,即保证 A只被继承一次,输出一个 A,所以需要声明 A为 C的虚基类,同样也要声明 A为 B的虚基类。7.已知有数组定义 char a34; 下列表达式中错误的是(分数:2.
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 分类 模拟 267 答案 解析 DOC
