【计算机类职业资格】二级C++模拟497及答案解析.doc
《【计算机类职业资格】二级C++模拟497及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++模拟497及答案解析.doc(27页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+模拟 497及答案解析(总分:156.50,做题时间:90 分钟)一、选择题(总题数:40,分数:68.50)1.下列语句都是程序运行时的第 1条输出语句,其中一条语句的输出效果与其他三条语句不同,该语句是_。(分数:1.00)A.coutintemal12345;B.coutleft12345;C.coutright12345;D.coutsetw(6)12345;2.有下列程序: #includestdio.h void main() FILE *pf; char *s1=“China“,*s2=“Beijing“; pf=fopen(“abc.dat“,“wb+“); fwri
2、te(s2,7,1,pf); rewind(pf); /*文件位置指针回到文件开头*/ fwrite(s1,5,1,pf); fclose(pf); 以上程序执行后 abc.dat文件的内容是 _ 。(分数:2.00)A.ChinaB.ChinangC.ChinaBeij ingD.BeijingChina3.能正确表示逻辑关系:“a10 或 a0”的 C语言表达式是(分数:2.00)A.a10 or a0B.a0 | a10C.a10 B.x=+y;C.(x+y)+;D.+x=y;5.线性表 L=(a1,a2,a3,ai,an),下列说法正确的是(分数:1.00)A.每个元素都有一个直接前件
3、和直接后件B.线性表中至少要有一个元素C.表中诸元素的排列顺序必须是由小到大或由大到小D.除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件6.有如下程序: #includeiostream using namespace std; class test private: int a; public: test0cout+“constructor“+endl; test(int a)cout+a+endl;) test(const test cout+,copy constructor“+endl; test()Cout+“destructor“+endl; ; i
4、nt main() test A(3); return 0; 运行时输出的结果是_。(分数:2.00)A.3B.constructordestructorC.copy constructordestructorD.3destructor7.设有变量说明“char s=“Program“,*p=s;”,则以下叙述正确的是_。(分数:2.00)A.数组 s的长度与 strlen(p)+1的值相同B.p5的值等于 s5的值C.sizeof(s)等于 sizeof(p)D.sizeof(s)等于 sizeof(*p)8.下列不属于 C+预定义的流对象的是(分数:2.50)A.cfileB.cinC.c
5、outD.clog9.有如下程序: #includeiostream using namespace std; class Base public: virtual void function1()cout“0“; void function2()cout“1“; ; class Derived:public Base public: void function1()cout“2“; void function2()cout“3“; ; int main() Base*p=new Derived(); p-function1(); p-function2(); return 0; 运行时的输出
6、结果是_。(分数:2.50)A.01B.21C.03D.2310.在下列模式中,能够给出数据库物理存储结构与物理存取方法的是_。(分数:2.50)A.外模式B.内模式C.概念模式D.逻辑模式11.在 C+中既可以用于文件输入又可以用于文件输出的流类是_。(分数:2.50)A.fstreamB.ifstreamC.ofstreamD.iostream12.将运算符重载为类成员函数时,其参数表中没有参数,说明该运算是_。(分数:2.50)A.不合法的运算符B.一元运算符C.无操作数的运算符D.二元运算符13.下列程序的执行结果是_。 #include class Sampleint x,y;pub
7、lic:Sample()x=y=0;Sample(int a,int b)x=a;y=b;Sample()if(x=y)cout“x=y“endl;elsecout“x!=y“endl;void disp()cout“x=“x“,y=“yendl;void main()Sample s1(2,3);s1.disp(); A.x=2,y=2 B.x=3,y=3 C.x=2,y=3 D.x=3,y=2A B C D C解析 本题考查类的构造函数和析构函数。首先,Samples1(2,3);会调用含有两个参数的构造函数Sample(int a,int b)x=a;y=b;,disp()函数输出成员变
8、量 x和 y的值 x=2,y=3;然后结束时调用析构函数,因为 x和 y值不等,故输出 x!=y。(分数:1.00)A.x=2,y=2B.x=3,y=3C.x=2,y=3D.x=3,y=214.下列关于类模板的模板参数的叙述中,错误的是_。(分数:1.00)A.模板参数可以作为数据成员的类型B.模板参数可以作为成员函数的返回类型C.模板参数可以作为成员函数的参数类型D.模板参数不能作为成员函数的局部变量的类型15.下列关于类定义的说法中,正确的是_。(分数:2.00)A.类定义中包括数据成员和函数成员的声明B.类成员的缺省访问权限是保护的C.数据成员必须被声明为私有的D.成员函数只能在类体外进
9、行定义16.下列程序段中的变量已正确定义: for(i=0;i1;i+,i+) for(k=1;k3;k+);printf(“*“); 程序段的输出结果是_。(分数:2.50)A.*B.*C.*D.*17.在函数中,可以用 auto、extern、register 和 static这四个关键字中的一个来说明变量的存储类型,如果不说明存储类型,则默认的存储类型是_。(分数:1.00)A.autoB.externC.registerD.static18.语句序列“char*p=“teacher“; p+=2; coutp+2“/t“*(p+2);”的输出结果是_。(分数:2.00)A.acher
10、aB.cher cC.her hD.h her19.下列是软件调试技术的是_。(分数:1.00)A.错误推断B.集成测试C.回溯法D.边界值分析20.有如下程序: #include iostream using namespace std: class Test public: Test() n+=2; Test() n-=3; ; static int getNum() return n; privaue: static int n: ; int Test:n=1; int main() Test* p=new Test; delete p; cout“n=“Test:getNum()end
11、1; return 0; 执行后的输出结果是(分数:2.00)A.n=0B.n=1C.n=2D.n=321.下面不属于需求分析阶段工作的是_。(分数:1.00)A.需求获取B.可行性研究C.需求分析D.撰写软件需求规格说明书22.为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为 _ 。(分数:2.00)A.publicB.protectedC.privateD.static23.算法的有穷性是指_。(分数:1.00)A.算法程序的运行时间是有限的B.算法程序所处理的数据量是有限的C.算法程序的长度是有限的D.算法只能被有限的用户使用24.数据库设计中反映用户
12、对数据要求的模式是_。(分数:2.50)A.内模式B.概念模式C.外模式D.设计模式25.以下不能正确定义二维数组的选项是 _ 。(分数:2.00)A.int a22=1,2;B.int a2=1,2,3,4);C.int a22=1,2,3;D.int a2=1,2,3,4;26.有以下程序: #includeiostream using namespace std; class R public: R(int r1,int r2) R1=r1; R2=r2; void print(); void print()corist; private: int R1,R2; ; void R:pri
13、nt() void R:print()coiist int main() R a(5,4); const R b(20,52); b.print(); return 0; 执行后的输出结果是_。(分数:1.00)A.5,4B.20,52C.0,0D.4,527.设有一个已按各元素的值排好序的线性表(长度大于 2),对给定的值 k,分别用顺序查找法和二分查找法查找一个与 k相等的元素,比较的次数分别是 s和 b,在查找不成功的情况下,s 和 b的关系是_。(分数:2.50)A.s=bB.sbC.sbD.sb28.对于循环队列,下列叙述中正确的是_。(分数:1.00)A.队头指针是固定不变的B.队
14、头指针一定大于队尾指针C.队头指针一定小于队尾指针D.队头指针可以大于队尾指针,也可以小于队尾指针29.有下列程序: #includeiostream Using namespace std; Class Amount int amount; public; Amount(int n=O):amount(n) Int getAmount()constreturn amount; Amount return ; int main() Amount x(3),y(7); x+=y; coutx.getAmount()endl; return 0; 己知程序的运行结果是 10,则横线处缺失的表达式是
15、 _ 。(分数:2.00)A.*thisB.thisC. break: case“/“:*Z=X/y;break; 以下合法的函数调用语句是 _ 。(分数:1.00)A.sub(10,20,Ch,y);B.sub(1.2+3,2*2,“+“,”,则表达式 i/j的结果是_。(分数:1.00)A.0B.0.7C.0.66667D.0.6666666739.在数据结构中,从逻辑上可以把数据结构分成 _ 。(分数:2.00)A.动态结构和静态结构B.线性结构和非线性结构C.集合结构和非集合结构D.树状结构和图状结构40.数据库设计中反映用户对数据要求的模式是_。(分数:1.00)A.内模式B.概念模
16、式C.外模式D.设计模式二、基本操作题(总题数:1,分数:40.00)41.请使用 VC6或使用【答题】菜单打开 proj1 下的工程 proj1,其中有枚举 DOGCOLOR、狗类 Dog和主函数 main的定义。程序中位于每个“/ ERROR *found*”下的语句行有错误,请加以改正。改正后程序的输出结果应该是: There is a white dog named Hoho. There is a black dog named Haha. There is a motley dog named Hihi. 注意:只修改每个“/ ERROR *found*”下的那一行,不要改动程序中
17、的其他内容。 #include iostream using namespace std; /狗的颜色:黑、白、黄、褐、花、其他 enum DOGCOLOR BLACK, WHITE, YELLOW, BROWN, PIEBALD, OTHER; class Dog /狗类 DOGCOLOR color; char name20; static int count; public: Dog (char name, DOGCOLOR color) strcpy(this-name,name); / ERROR *found* strcpy (this - color, color); DOGCO
18、LOR getColor() const return color; / ERROR *found* const char * getName() const return * name; const char * getColorString() const switch(color) case BLACK: return “black“; case WHITE: return “white“; case YELLOW: return “yellow“; case BROWN: return “brown“; case PIEBALD: return “piebald“; return “m
19、otley“; void show() const cout “There is a“ getColorString() “dog named“ name “.“ endl; ; int main() / ERROR *found* Dog dog1(“Hoho“, WHITE), dog2(“Haha“, BLACK); dog3(“Hihi“, OTHER); dog1.show(); dog2.show(); dog3.show(); return 0; (分数:40.00)_三、简单应用题(总题数:1,分数:30.00)42.请使用 VC6或使用【答题】菜单打开 proj2 下的工程
20、proj2,此工程包含有一个源程序文件proj2.cpp,其中定义了 Stack类和 ArrayStack类。 Stack是一个用于表示数据结构“栈”的类,栈中的元素是字符型数据。Stack 为抽象类,它只定义了栈的用户接口,如下所示: 公有成员函数 功能 push 入栈:在栈顶位置添加个元素 pop 退栈:取出并返回栈顶元素 ArrayStack是 Stack的派生类,它实现了 Stack定义的接口。ArrayStack 内部使用动态分配的字符数组作为栈元素的存储空间。数据成员 maxSize表示的是栈的最大容量,top 用于记录栈顶的位置。成员函数push和 pop分别实现具体的入栈和退栈
21、操作。 请在程序中的横线处填写适当的代码,然后删除横线,以实现上述功能。此程序的正确输出结果应为: a,b,c c,b,a 注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动“/ *found*”。 / proj2.cpp #include iostream using namespace std; class Stack public: virtual void push(char c) = 0; virtual char pop() = 0; ; class ArrayStack : public Stack char * p; int maxSize; int t
22、op; public: ArrayStack(int s) top = 0; maxSize = s; / *found* p =_; ArrayStack() / *found* _; void push (char c) if (top = maxSize) cerr “Overflow! /n“; return; / *found* _; top +; char pop() if (top = 0) cerr “Underflow! /n“; return “/0“; top -; / *found* _; ; void f(Stack cout ch0 “,“ ch1 “,“ ch2
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 模拟 497 答案 解析 DOC
