【计算机类职业资格】二级C++模拟491及答案解析.doc
《【计算机类职业资格】二级C++模拟491及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++模拟491及答案解析.doc(30页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+模拟 491 及答案解析(总分:162.00,做题时间:90 分钟)一、选择题(总题数:40,分数:74.00)1.若有如下语句 #includeiostream.h void main( ) int x=3; do x=x-2; coutx; while(!(-x); 则上面程序段(分数:1.00)A.输出的是 1B.输出的是 1 和-2C.输出的是 3 和 0D.是死循环2.关于关键字 class 和 typename,下列表述中正确的是_。(分数:2.50)A.程序中的 typename 都可以替换为 classB.程序中的 class 都可以替换为 typenameC.在模板
2、形参表中只能用 typename 来声明参数的类型D.在模板形参表中只能用 class 或 typename 来声明参数的类型3.有如下程序: #includeiostream using namespace std; class Toy public: Toy(char*_n)strcpy(name, _n); count+; Toy()count-; char* GetName()return name; static int getCount()return count; private: char name10; static int count; ; int Toy:count=0;
3、 int main() Toy t1(“Snoopy“), t2(“Mickey“), t3(“Barbie“); coutt1.getCount()endl; return 0; 运行时的输出结果是_。(分数:2.50)A.1B.2C.3D.运行时出错4.设有定义“int x=2;”,下列表达式中,值不为 6 的是_。(分数:2.50)A.x*=x+1B.x+,2*xC.x*=(1+x)D.2*x,x+=25.将前缀运算符“-”重载为非成员函数,下列原型中能正确用于类中说明的是_。(分数:1.00)A.DecrB.Decr operator-(DecrC.friend DecrD.frien
4、d Decr operator-(Decr6.下列函数原型声明中,错误的是_。(分数:2.00)A.int function(int m,int n);B.int function(int,int);C.int function(int m=3,int n);D.int function(int7.关于关键字 class 和 typename,下列表述正确的是_。(分数:3.00)A.程序中所有的 class 都可以替换为 typenameB.程序中所有的 typename 都可以替换为 classC.A 和 B 都可以D.A 和 B 都不可以8.对于语句“coutsetfill(“*“)se
5、tw(10)1setfill(“*“)setw(2)2;”的输出结果是_。(分数:2.50)A.*1*2B.*12C.*1*2D.12*9.打开文件时可单独或组合使用下列文件打开模式_。 ios_base:app ios_base:binary ios_base:in ios_base:out 若要以二进制读方式打开一个文件,需使用的文件打开模式为(分数:2.00)A.B.C.D.10.包容类 Contain 和内嵌类 Embed 定义如下: #includeiostream.h class Contain private: int X; protected: int z; public: c
6、lass Embed private: int y; public: Embed()y=100; int Embed_Fun(); MyEmbed; int Contain_Fun(); ; 对上面的定义,正确的描述是 _ 。(分数:1.00)A.定义类 Embed 对象的语句是:Contain? Embed embed;B.类 Contain 的成员函数 Contain_Fun()中可以用 MyEmbe D.y 的方式访问类 Embed 的私有成员 yC.类 Embed 的成员函数 Embed_Fun()中可以直接访问 Contain 的私有成员 xD.类 Embed 的成员函数 Embed
7、_Fun()中可以直接访问 Contain 的保护成员 Z11.下面程序的结果是 #includeiostreamh class A public: A( ) cout “construtA“ end1; virtual A( ) cout “destructA“ end1; ; class B:public A ; class C:public A ; class D:public B,public C ; void main( ) Dd;(分数:1.00)A.constructAdestructAB.constructAconstructAdestructAdestructAC.const
8、ructAconstructAconstructAdestructAdestructAdestructAD.constructAconstructAconstructAconstructAdestructAdestructAdestructAdestructA12.下列代码段声明了 3 个类 class Person; class Student:public Person; class Undergraduate:Student; 下列关于这些类之间关系的描述中,错误的是_。(分数:2.00)A.类 Person 是类 Undergraduate 的基类B.类 Undergraduate 从
9、类 student 公有继承C.类 student 是类 Person 的派生类D.类 Undergraduate 是类 Person 的派生类13.如有以下程序: #includeiostream using namespace std, long fun(int n) if(n2) return(fun(n-1)+fun(n-2); else return 2; int main() coutfun(3)end1; return 0; 则该程序的输出结果应该是_。(分数:2.50)A.2B.3C.4D.514.某二叉树共有 7 个结点,其中叶子结点只有 1 个,则该二叉树的深度为(假设根结
10、点在第 1 层)_。(分数:1.00)A.3B.4C.6D.715.当派生类从一个基类保护继承时,基类中的一些成员在派生类中成为保护成员,这些成员在基类中原有的访问属性是_。(分数:1.00)A.任何B.公有或保护C.保护或私有D.私有16.下列函数模版中的定义中,合法的是_。(分数:2.00)A.templatetypename TT abs(T x)return x0?-x:x;B.template classTT abs(T x)return x0?-x:x;C.template Tclass Tabs(T x)return x0?-x:x;D.template T abs(T x)re
11、turn x0?-x:x;17.下列关于虚函数的描述中正确的是_。(分数:2.50)A.如果在重定义函数时使用了保留字 virtual,则该重定义函数仍然是虚函数B.虚函数不得声明为静态成员函数C.虚函数不得声明为另一个类的友元函数D.派生类必须重新定义基类的虚函数18.下列关于函数的说法中,正确的是(分数:2.50)A.C+允许在函数体中定义其他函数B.所有的内联函数都要用 inline 说明C.仅函数返回类型不同的同名函数不能作为重载函数使用D.有默认值的参数应从左至右逐个定义19.以下选项中合法的实型常数是(分数:2.00)A.5 E 2.0B.E-3C2 E0D.1.3 E20.下列程
12、序的输出结果是 _ 。 #includeiostream.h main() int m=5; if(m+5) coutm; else coutm-; (分数:2.00)A.7B.6C.5D.421.下面程序段的运行结果是 void main ( ) int t, a, b, C; a1;b2;C2; while(abc) ta;ab;bt;c; cout a “,“ b “,“ C; (分数:2.00)A.1,2,0B.2,1,0C.1,2,1D.2,1,122.有如下程序: # includeiostream using namespace std; class Toy public: To
13、y(char*_n)strcpy(name, _n);count+: Toy()count-; char*GetName()return name; static int getCount()return count; private: char name10; static int count; ; int Toy:count=0; int main() Toy t1(“snoopy“),t2(“Mickey“),t3(“Barbie“); toutt1.getCount()endl; return 0; 运行时的输出结果是_。(分数:2.50)A.1B.2C.3D.运行时出错23.以下程序
14、运行后的输出结果是 _ 。 #includeiostream.h void main() char aft=“abbcabbcabbc“; int i=0,j=0,k=0; while(ai) if(ai=“a“) j+; if(ai=“b“) k+; i+; coutj“kend1; (分数:2.00)A.2,6B.3,5C.4,7D.3,624.下列叙述中正确的是(分数:2.00)A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D.循环队列中元素的个数
15、是由队头指针和队尾指针共同决定的25.有如下程序段: int i=1; int j=4; int main() int i=5; j+=i; coutijendl; 运行时的输出结果是(分数:1.00)A.14B.95C.59D.5526.有如下程序: #includeiostream using namespace std; class A public: static int a; void init()a=1; A(int a=2)init();a+; ; int A:a=0; A obj; int main() coutobj.a; return 0; 运行时输出的结果是_。(分数:1
16、.00)A.0B.1C.2D.327.下列不构成无限循环的语句或语句组是_。(分数:2.50)A.n=0;do+n;while(n=0);B.n=0;while(1)n+;C.while(n=10);n-;D.for(n=0,i=1; ;i+)n+=i28.软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是_。(分数:1.00)A.编译程序B.操作系统C.教务管理系统D.汇编程序29.下面叙述中错误的是_。(分数:1.00)A.软件测试的目的是发现错误并改正错误B.对被调试的程序进行“错误定位”是程序调试的必要步骤C.程序调试通常也称为 DebugD.软件测试
17、应严格执行测试计划,排除测试的随意性30.若有以下函数调用语句:fun(m+n,x+y,f(m+n,z,(x,y);在此函数调用语句中实参的个数是 _ 。(分数:2.00)A.6B.5C.4D.331.结构化分析方法是面向 _ 的自顶向下、逐步求精进行需求分析的方法。(分数:2.00)A.对象B.数据结构C.数据流D.目标32.若有下面的函数调用: fun(a+b,3,max(n-1,b) 则 fun 的实参个数是_。(分数:1.00)A.3B.4C.5D.633.实现运行时的多态性要使用 _ 。(分数:2.00)A.虚函数B.重载函数C.析构函数D.构造函数34._既可重载为一元运算符,义可
18、重载为二元运算符。(分数:1.00)A.“*”B.“=”C.“=”和“*”D.“*”和“* +”35.关于友元,下列说法错误的是_。(分数:2.00)A.如果类 A 是类 B 的友元,那么类 B 也是类 A 的友元B.如果函数 fun()被说明为类 A 的友元,那么在 fun()中可以访问类 A 的私有成员C.友元关系不能被继承D.如果类 A 是类 B 的友元,那么类 A 的所有成员函数都是类 B 的友元36.已知各变量的定义如下 int i=8,k,a,b; unsigned long w=5; double x= 1.42,y=5.2; 则以下符合 C+语言语法的表达式是 _ 。(分数:2
19、.00)A.a+=a-=(b=4)*(a=3)B.a=a*3+2C.x%(-3)D.y=float i37.关于构造函数 A()的拷贝构造函数正确的是(分数:1.00)A.A(A *B) ;B.A(AB) ;C.A(A38.有如下程序: #includeiostream using namespace std; class Base public: Base()cout“B“; Base()cout“b“; ; class Derived:public Base public: Derived()cout“D“; Derived()cout“d“; ; int main() Derived o
20、bj; return 0; 运行这个程序的输出是_。(分数:2.50)A.BDbdB.BDdbC.DBbdD.DBdb39.下列关于宏的叙述中正确的是_。(分数:2.50)A.宏名必须用大写字母表示B.宏定义必须位于源程序中所有语句之前C.宏替换没有数据类型限制D.宏调用比函数调用耗费时间40.有下列程序: #include stdio.h #define N 4 void fun(int aN,int b) int i; for(i=0;iN,i+) bi=aii; void main() int xN=1,2,3,4,5,6,7,8,9.10, yN,i; fun(x,y); for(i=
21、0;in;i+) printf(“%d,“,yi); printf(“/n“); 程序的运行结果是_。(分数:2.50)A.1,2,3,4,B.1,0,7,0,C.1,4,5,9,D.3,4,8,10,二、基本操作题(总题数:1,分数:40.00)41.请使用 VC6 或使用答题 菜单打开 proj1 下的工程 proj1,此工程中包含一个源程序文件 main. cpp,其中有类 Book(“书”)和主函数 main 的定义。程序中位于每个“/ERROR *found*”下的语句行有错误,请加以改正。改正后程序的输出结果应该是: 书名:C+语句程序设计总页数:299 已把“C+语言程序设计”翻
22、到第 50 页 已把“C+语言程序设计”翻到第 51 页 已把“C+语言程序设计”翻到第 52 页 已把“C+语言程序设计”翻到第 51 页 已把书合上。 当前页:0 注意:只修改每个“/ERROR *found*”下的那一行,不要改动程序中的其他内容。 #includeiostream using namespace std; class Book char*title; int num_pages;/页数 int cur_page;/当前打开页面的页码,0 表示书未打开 public: /ERROR *found* Book(const char*theTitle, int pages)
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 模拟 491 答案 解析 DOC
