【计算机类职业资格】二级C++分类模拟246及答案解析.doc
《【计算机类职业资格】二级C++分类模拟246及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++分类模拟246及答案解析.doc(22页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+分类模拟 246 及答案解析(总分:71.00,做题时间:90 分钟)一、选择题(总题数:40,分数:71.00)1.有三个关系 R. S 和 T 如下: (分数:2.00)A并B.自然连接C.笛卡尔积D交2.若执行下面的程序时,从键盘上输入 5 和 2,则输出结果是_。 # includeiostream.h void main() int a,b,k; cinab; k=a; if(ab) k=a%b; else k=b%a; coutkendl;(分数:2.50)A.5B.3C.2D.03.软件详细设计的主要任务是确定每个模块的 _ 。(分数:2.00)A.算法和使用的数据结构
2、B.外部接口C.功能D.编程4.下列情况中,不会调用拷贝构造函数的是_。(分数:1.00)A.用一个对象去初始化同一类的另一个新对象时B.将类的一个对象赋值给该类的另一个对象时C.函数的形参是类的对象,调用函数进行形参和实参结合时D.函数的返回值是类的对象,函数执行返回调用时5.有如下程序: #includeiostream using namespace std; int main() int*p; *p=9; cout“the value at p:“*p; return 0; 编译运行程序将出现的情况是_。(分数:1.00)A.编译时出现语法错误,不能生成可执行文件B.运行时一定输出:T
3、he value at p:9C.运行时一定输出:The value at p:*9D.运行时有可能出错6.有如下程序: #ncludeiostremn using namespace std; class Stack public: Stack(unsigned n=10:size(n)rep_=new intsize;top=O; Stack(Stack for(int i=0;isize;i+)rep_i=s.rep_i; top=s.top; Stack()deleterep_; void push(int a)rep_top=a; top+; int opo()-top;return
4、 rep_top; bool is Empty()constreturn top=O; pavate: int*rep_; unsigned size,top; ; int main() Stack s1; for(int i=1;i5;i+) s1.push(i); Stack s2(s1); for(i=1;i3;i+) couts2.pop()“,“; s2.push(6); s1.push(7); while(!s2.isEmpty() couts2.pop()“,“; return 0; 执行上面程序的输出是(分数:1.00)A.4,3,2,1B.4,3,6,7,2,1C.4,3,6
5、,2,1D.1,2,3,47.可以用 pa 的形式访问派生类对象 p 的基类成员 a,其中 a 是_。(分数:1.00)A.私有继承的公有成员B.公有继承的私有成员C.公有继承的保护成员D.公有继承的公有成员8.设有以下类和对象的定义: class A public; int m; ; A k1,k2, *p1,*p2; 则下面针对成员变量 m 的引用,错误的是_。(分数:2.50)A.k1.m=1B.k2m=2C.p1m=3D.(*p2).m=49.下列关于 C+流的描述中,错误的是_。(分数:2.00)A.cout“A表达式可输出字符 AB.eof()函数可以检测是否到达文件尾C.对磁盘文
6、件进行流操作时,必须包含头文件 fstreamD.以 ios_base:out 模式打开的文件不存在时,将自动建立一个新文件10.已知 Value 是一个类,value 是 Value 的一个对象。下列以非成员函数形式重载的运算符函数原型中,正确的是_。(分数:1.00)A.Value operator+(Value v, int i);B.Value operator+(Value v=value, int i);C.Value operator+(Value v, int i=0);D.Value operator+(Value v=value, int i=0);11.关于 this 指
7、针的说明不正确的是 _ 。(分数:1.00)A.不能在程序中修改 this 指针B.this 指针可以给其他指针赋值,但不能修改 this 指针C.静态成员函数中没有 this 指针D.this 指针可以被赋值12.设有以下定义和程序: #includeiostream.h class TestClass1 public: void show1() cout“TestClass1“endl; ; class TestClass2:TestClass1 public: void show2() cout“TestClass2“endl; ; class TestClass3:protected
8、TestClass2 public: void show3() cout“TestClass3“endl; ; void main() TestClass1 obj1; TestClass2 obj2; TestClass3 obj3; 则以下不合语法的调用语句是_。(分数:2.50)A.obj1.show1();B.obj2.show1();C.obj3.show1();D.obj2.show2();13.已知类 IMS 中两个成员函数的声明为“void listen()const;”与“void speak();”,另有两个对象的定义为“IMS obj1;”与“const IMS obj2
9、;”,则下列语句中,产生编译错误的是_。(分数:2.50)A.obj1.listen();B.obj1.speak();C.obj2.listen();D.obj2.speak();14.有如下程序: #include iostream.h #include iomanip.h using namespace std; class CSum int x,y; public: CSum (int x0,int y0):x(x0),y(y0) friend ostream return os; ; int main () CSum y(3,5); coutsetfill(“*“)8; couty;
10、 return 0; 执行上面程序的输出是(分数:2.00)A.88B.*88C.*8*8D.8*815.下列关于函数参数的叙述中,正确的是_。(分数:1.00)A.在函数原型中不必声明形参类型B.在调用一个函数时,若函数中修改了形参变量的值,则对应的实参变量的值也被修改C.函数形参的生存期与整个程序的运行期相同D.函数的形参在函数被调用时获得初始值16.有下列程序: #include stdio.h #include“string.h“ tyoedef structchar name9;char sex;float score2;STU; void f(STU a) STU b=“Zhao“
11、,“m“,85.0,90.0;int i;strcpy(a.name,b.name); a.sex=b.sex; for(i=0;i2;i+)a.scorei=b.scorei; void main() STU c=(“Qian“,“f“,g5.0,92.0); f(c); printf(“%s,%c,%2.of,%2.of/n“,c.name,c.sex, c.score0,c.score1); 程序的运行结果是_。(分数:2.50)A.Qian,f,95,92B.Qian,m,85,90C.Zhao,f,95,92D.Zhao,m,85,9017.下列描述正确的是_。(分数:1.00)A.
12、表示 mn 为 true 或 mn 为 true 的表达式为 mnmnB.switch 语句结构中必须有 default 语句C.if 语句结构中必须有 else 语句D.如果至少有一个操作数为 true,则包含|运算符的表达式为 true18.不合法的 main 函数命令行参数表示形式是(分数:1.00)A.main(inta,char*c)B.main(int arc,char * * arv)C.main(int argc,char * argv)D.main(int argv,char * argc)19.下列关于派生类的叙述中,错误的是_。(分数:2.00)A.派生类至少要有一个基类
13、B.派生类中包括了从基类继承的成员C.一个派生类可以作为另一个派生类的基类D.基类成员被派生类继承以后访问权限保持不变20.有如下程序: #includeiostream using namespace std; class Point public: static int number; public: Point() number+; Point() number -; ; int Point:number=0; int main() Point *ptr; Point A, B; Point *ptr_point=new Point3; ptr=ptr_point; Point C; c
14、outPoint:numberendl; deleteptr; return 0; 执行这个程序的输出结果是_。(分数:1.00)A.3B.4C.6D.721.计算斐波那契数列第 n 项的函数定义如下: int fib(int n) if(n=0) return 1; else if(n=1) return 2; else return fib(n-1)+fib(n-2); 若执行函数调用表达式 fib(2),函数 fib 被调用的次数是_。(分数:2.50)A.1B.2C.3D.422.表达式 1056%3 的值是(分数:2.00)A.-1B.非零值C.0D.123.有如下类声明: clas
15、s SAMPLE int n; public: SAMPLE(int i=0):n(i) void setValue(int n0); ; 下列关于 getValue 成员函数的实现中,正确的是_。(分数:2.00)A.SAMPLE:setValue(int.n0)n=n0;B.void SAMPLE:setValue(int n0)n=n0;C.void setValue(int n0)n=n0;D.(int n0)n=n0;24.有如下程序: #includeiostream using namespace std; class B public: virtual void show( )
16、cout“B“; ; class D:public B public: void show( )cout“D“; ; void funl(B*ptr)ptr-show( ); void fun2(B int main() int*p; *p=9; cout“The value at p:“*p; return 0; 编译运行程序将出现的情况是_。(分数:2.00)A.编译时出现语法错误,不能生成可执行文件B.运行时一定输出:The value at p:9C.运行时一定输出:The value at p:*9D.运行时有可能出错28.要利用 C+流进行文件操作,必须在程序中包含的头文件是(分数
17、:2.00)A.iostreamB.fstreamC.strstreamD.iomanip29.要定义一个引用变量 p,使之引用类 MyClass 的一个对象,正确的定义语句是_。(分数:2.50)A.MyClass p=MyClass;B.MyClass p=new MyClass;C.MyClassD.MyClass a, 30.一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是_。(分数:2.50)A.一对一B.一对多C.多对多D.多对一31.下列函数参数默认值定义错误的是 _ 。(分数:2.00)A.Fun(int x,int y=0)B
18、.Fun(int x=100)C.Fun(int x=0,int y)D.Fun(int x=f()(假定函数 f()已经定义)32.在深度为 7 的满二叉树中,叶子结点的个数为(分数:1.00)A.32B.31C.64D.6333.有如下程序 #includeiostream using namespace std; class MyClass public: MyClass()+count; MyClass()-count; static int getcount()return count; private: static int count; ; int MyClass:count=0
19、; int main() MyClass obj; coutobj.getcount(); MyClass*ptr=new MyClass; coutMyClass:getcount(); delete ptr; coutMyClass:getcount(); return 0; 程序的输出结果是_。(分数:2.50)A.121B.232C.221D.12234.若有如下定义和语句: int s45,(*p)5; p=S; 则指针对 s 数组中第三个元素的正确引用形式是 _ 。(分数:2.00)A.p03B.p12C.p02D.p1335.软件按功能可以分为应用软件、系统软件和支撑软件(或工具
20、软件)。下面属于应用软件的是_。(分数:1.00)A.学生成绩管理系统B.C 语言编译程序C.UNIX 操作系统D.数据库管理系统36.若有如下程序: #includeiostream using namespace std; int s=0; class sample static int n; public: sample(int i) n=i; static void add() S+=n; ; int sample:n=0; int main() sample a(2),b(5); sample:add(); coutsendl; return 0; 程序运行后的输出结果是 _ 。(分
21、数:2.00)A.2B.5C.7D.337.下面关于类概念的描述中 _ 是错误的。(分数:1.00)A.类是抽象数据类型的实现B.类是具有共同行为的若干对象的统一描述体C.类是创建对象的样板D.类就是 C 语言中的结构体类型38.有如下程序: class Base public: int data; ; class Derivedl: public Base ; class Derived2: protected Base ; int main() Derivedl d1; Derived2 d2; d1. data=0;/ d2. data=0;/ return 0; 下列关于程序编译结果的
22、描述中,正确的是_。(分数:1.00)A.皆无编译错误B.有编译错误,无编译错误C.无编译错误,有编译错误D.皆有编译错误39.Sample 是一个类,执行下面语句后,调用 Sample 类的构造函数的次数是_。 Sample a2,*P=new Sample;(分数:3.00)A.0B.1C.2D.340.已知枚举类型定义语句为: enunl Token NAME,NUMBER,PLUS=5,MINUS,PRINT=10 ; 则下列叙述中错误的是(分数:2.00)A.枚举常量 NAME 的值为 1B.枚举常量 NuMBER 的值为 1C.枚举常量 MINus 的值为 6D.枚举常量 PRIN
23、T 的值为 10二级 C+分类模拟 246 答案解析(总分:71.00,做题时间:90 分钟)一、选择题(总题数:40,分数:71.00)1.有三个关系 R. S 和 T 如下: (分数:2.00)A并B.自然连接C.笛卡尔积D交 解析:解析 关系 R 与 s 并,由属于 R 或属于 s 的元组构成的集合组成;R 和 S 的广义笛卡儿积是一个(n+m)列的元组的集合。元组的前 n 列是关系 R 的一个元组,后 m 列是关系 S 的一个元组;关系 R 与 S 的交既属于 R 同时又属于 S 的元组构成的集合。自然连接,要求两个关系中进行比较的分量必须是相同的属性组,并且在结果集中将重复属性列去掉
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 分类 模拟 246 答案 解析 DOC
