【计算机类职业资格】二级C++-214及答案解析.doc
《【计算机类职业资格】二级C++-214及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-214及答案解析.doc(23页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-214及答案解析(总分:67.50,做题时间:90 分钟)一、选择题(总题数:40,分数:67.50)1.下面叙述中错误的是_。(分数:1.00)A.软件测试的目的是发现错误并改正错误B.对被调试的程序进行“错误定位”是程序调试的必要步骤C.程序调试通常也称为 DebugD.软件测试应严格执行测试计划,排除测试的随意性2.下列语句都是程序运行时的第 1条输出语句,其中一条语句的输出效果与其他三条语句不同,该语句是_。(分数:2.50)A.coutinternal32345;B.coutleft12345;C.coutright12345;D.coutsetw(6)12345;3.有
2、如下程序: #includeiostream using namespace std; class test private: int a; public: test()cout“constructor“endl; test(int a)coutaendl; test(const test cout“copy constructor“endl; test()cout“destructor“endl; ; int main() test A(3); return 0; 执行这个程序的输出结果是_。(分数:1.00)A.3B.constructordestructorC.copy construc
3、tordestructorD.3destructor4.索引属于(分数:1.00)A.模式B.内模式C.外模式D.概念模式5.C+模板包括 _ 。(分数:2.00)A.类模板和函数模板B.模板类和模板函数C.类和函数D.对象和函数6.有如下程序: #includeiostream using namespace std; class Base protected: Base()cout“Base“; Base(char c)coutc; ; class Derived:public Base public: Derived(char c)coutc; ; int main() Derived
4、d(“Derived“); return 0; 执行这个程序屏幕上将显示输出 _ 。(分数:2.00)A.DerivedB.DerivedBaseC.BaseDerivedD.DerivedDerived7.下列函数的运行结果是_。 #includeiostream.h int f(int a,int b) int c; if(ab)c=1; else if(a=b)c=0; else c=-1; return(c); void main() int i=2,j=3; int p=f(i,j); coutp;(分数:2.50)A.-1B.1C.2D.编译出错,无法运行8.下列语句都是程序运行时
5、的第 1条输出语句,其中一条语句的输出效果与其他三条语句不同,该语句是_。(分数:1.00)A.coutintemal12345;B.coutleft12345;C.coutright12345;D.coutsetw(6)12345;9.对虚函数的调用 _ 。(分数:1.00)A.一定使用动态联编B.必须使用动态联编C.一定使用静态联编D.不一定使用动态联编10.若执行下面的程序时,从键盘上输入 5和 2,则输出结果是_。 # includeiostream.h void main() int a,b,k; cinab; k=a; if(ab) k=a%b; else k=b%a; coutk
6、endl;(分数:2.50)A.5B.3C.2D.011.下面对静态数据成员的描述中,正确的是 _ 。(分数:1.00)A.静态数据成员可以在类体内进行初始化B.静态数据成员不可以通过类的对象调用C.静态数据成员不能受 private(私有)控制符的作用D.静态数据成员可以直接通过类名调用12.有如下程序: # include ioslreclm Using namespace std; class Base public: Base(int x=0):valB(x)coutvalB; Base()coutvalB; Private: int valB; ; class, Derived: p
7、ublic Base public: Dcrived(int x=0,int y=0):Base(x),valD(y) coutvalD; Derived()coutvalD; private: int valD; ; int main() Derived obj12(2,3); return 0; 运行时的输出结果是 _ ,(分数:2.50)A.2332B.2323C.3232D.322313.最简单的交换排序方法是(分数:1.00)A.快速排序B.选择排序C.堆排序D.冒泡排序14.有下列程序: #include stdio.h int b=2; int fun(int*k) b=*k+b
8、;return(b); void main() int a10=1,2,3,4,5,6,7,8,i; for(i=2;i4;i+)(b=fun(ai)+b;printf (“%d“,b); printf(“/n“; 程序运行后的输出结果是_。(分数:1.00)A.10 12B.8 10C.10 28D.10 1615.在一个派生类的成员函数中,试图调用其基类的成员函数“void f();”,但无法通过编译。这说明_。(分数:2.00)A.f()是基类的私有成员B.f()是基类的保护成员C.派生类的继承方式为私有D.派生类的继承方式为保护16.对于类定义 class A public: virt
9、ual void funcl() void func2() ; class D:public A public: void funcl()cout “class B rune 1“end1; virtual void func2()cout “class B func 2“end1; ; 下面正确的叙述是 _。(分数:2.00)A.A:func2()和 B:funcl()都是虚函数B.A:func2()和 B:funcl()都不是虚函数C.B:func1()是虚函数,而 A:func2()不是虚函数D.B:func1()不是虚函数,而 A:func2()是虚函数17.要利用 C+流实现输入/输
10、出的各种格式控制中,必须在持续中包含的头文件是_。(分数:2.50)A.fstreamB.istreamC.ostreamD.iomanip18.有如下程序: #includeiostream using namespace std; class A public: A(int i):rl(i) void print()cout“E“r1“-“; void print()constcout“C“r1*r1“-“; private: int rl; ; int main() A al(2); const A a2(4); a1.print(); a2.print(); return 0; 运行时
11、的输出结果是_。(分数:2.00)A.运行时出错B.E2-C16-C.C4-C16-D.E2-E4-19.有如下程序: #includeiostream using namespace std; class test private: int a; public: test() cout“constructor“endl; test(int a) coutaendl; test(const test cout“copy constructor“endl; test() cout“destructor“endl; ; int main() test A(3); return 0; 执行这个程序的
12、输出结果是_。 A3 B C D (分数:1.00)A.B.C.D.20.如果算符函数调用格式的表达式:x.operator-(operator+(y,0)中的“”是作为成员函数重载的,“+”是作为友元函数重载的,那么该表达式还可以表示为:()(分数:2.00)A.x-y+B.x-(+y)C.(x+)-yD.+x-y21.下面关于对象概念的描述中, _ 是错误的。(分数:2.00)A.对象就是 C语言中的结构体变量B.对象代表着正在创建的系统中的一个实体C.对象是一个状态和操作(或方法)的封装体D.对象之间的信息传递是通过消息进行的22.有以下程序: #includeiostream usin
13、g namespace std; class A public: A()cout“A“; ; classBpublic:B()cout“B“; classC:public A B b: public: C()cout“C“; ; int main() C obj; return 0; 执行后的输出结果是_。(分数:1.00)A.CBAB.BACC.ACBD.ABC23.下列字符串中,不可以用做 C+标识符的是_。(分数:1.00)A.y_2006B._TEST_HC.ReturnD.switch24.已知类 IMS中两个成员函数的声明为“void listen()const;”与“void s
14、peak();”,另有两个对象的定义为“IMS obj1;”与“const IMS obj2;”,则下列语句中,产生编译错误的是_。(分数:2.50)A.obj1.listen();B.obj1.speak();C.obj2.listen();D.obj2.speak();25.以下定义语句中正确的是_。(分数:2.50)A.int a=b=0;B.char A=65+1,b=“b“;C.float a=1,“b=a,“c=b;D.double a=0.0;b=1.1;26.类模板的使用实际上是将类模板实例化成一个具体的 _ 。(分数:2.00)A类B.对象C.函数D.模板类27.有如下类定义
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();28.下列语句分别是不同程序中的第一个输入输出语句。若去掉其中的“left”,输出效果将发生变化的是(分数:2.00)A.coutleftsetfill(“*“)357;B.co
16、utleftsetw(5)357;C.coutleftsetw(5)“ABCDE“;D.coutleft“ABCDE“;29.下列有关类继承的叙述中,错误的是_。(分数:1.00)A.继承可以实现软件复用B.虚基类可以解决由多继承产生的二义性问题C.派生类构造函数要负责调用基类的构造函数D.派生类没有继承基类的私有成员30.有如下程序: #includeiostream using namespace std; void fl(int8,.x,tnt8-y) int z=x;x=y;y=z; void f2(int x,int y) int z=x;x=y;y=z; int main() in
17、t x=10,y= 26; f1(x,y); f2(x,y); coutyendl; return 0; 运行时的输出结果是_。(分数:1.00)A.10B.16C.26D.3631.有如下程序: #includeiostream using namespace std; class Test public: Test() n+=2; Test() n-=3; static int getNum()return n; private: static int n; ; int Test:n=1; int main() Test* p=new Test; delete p; cout“n=“Tes
18、t:getNum()endl; return 0; 执行该程序的输出结果是_。(分数:1.00)A.n=0B.n=1C.n=2D.n=332.有如下程序: #include iostream using namespace std; class AA public: virtual void f()cout“AA“; ; class BB:public AA public: BB()cout“BB“; ; class CC:public BB public: virtual void f() BB:f(); cout“CC“; ; int main() AA aa, *p; BB bb; CC
19、 cc; p= p-f(); return 0; 执行上面的程序将输出_。(分数:2.50)A.BBAACCB.AABBCCC.BBAABBCCD.BBBBAACC33.有如下程序: #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 “文学“
20、; ; int main() Book*pb; pb=new Novel(); coutpb-Category(); delete pb; return 0; 若程序运行时输出结果是“文学”,则横线处缺失的语句是_。(分数:2.00)A.char*Category();B.char*Category()const;C.virtual char*Category()const;D.virtual char*Category()const=0;34.以下不能正确定义二维数组的选项是 _ 。(分数:2.00)A.int a22=1,2;B.int a2=1,2,3,4);C.int a22=1,2,
21、3;D.int a2=1,2,3,4;35.一棵二叉树共有 25个结点,其中 5个是叶子结点,则度为 1的结点数为_。(分数:2.50)A.16B.10C.6D.436.下列有关类的表述中。正确的是_。(分数:2.50)A.含有虚函数的类不能被实例化B.派生类不能访问基类的保护成员C.派生类只能隐含调用基类的构造函数D.纯虚函数没有函数体37.C+源程序文件的扩展名为 _ 。(分数:1.00)ACPPBCCDLLDEXE38.字面常量 42、4.2、42L 的数据类型分别是_。(分数:1.00)A.long、double、intB.long、float、intC.int、double、long
22、D.int、float、long39.下列关于宏的叙述中正确的是_。(分数:2.50)A.宏名必须用大写字母表示B.宏定义必须位于源程序中所有语句之前C.宏替换没有数据类型限制D.宏调用比函数调用耗费时间40.下列函数模板的定义中,合法的是_。(分数:1.00)A.template typename T T abs(T x) return x0? -x:x;B.template class T T abs(T x) return x0? -x:x;C.template T class T abs(T x)return x0? -x:x;D.template T abs(T x)return x
23、0? -x:x;二级 C+-214答案解析(总分:67.50,做题时间:90 分钟)一、选择题(总题数:40,分数:67.50)1.下面叙述中错误的是_。(分数:1.00)A.软件测试的目的是发现错误并改正错误 B.对被调试的程序进行“错误定位”是程序调试的必要步骤C.程序调试通常也称为 DebugD.软件测试应严格执行测试计划,排除测试的随意性解析:解析 软件测试的目的是为了发现错误而执行程序的过程,并不涉及改正错误,所以选项 A错误。程序调试的基本步骤有:错误定位、修改设计和代码,以排除错误、进行回归测试,防止引进新的错误。程序调试通常称为 Debug,即排错。软件测试的基本准则有:所有测
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C214 答案 解析 DOC
