【计算机类职业资格】二级C++-201及答案解析.doc
《【计算机类职业资格】二级C++-201及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-201及答案解析.doc(21页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-201 及答案解析(总分:82.00,做题时间:90 分钟)一、选择题(总题数:35,分数:58.50)1.以下程序的输出结果是_。 main() int a=4,b=5,c=0,d; d=!a coutdendl; (分数:2.50)A.1B.0C.非 0 的数D.-12.有如下程序: #includeiostream using namespace gtd; class Sample public: Sample() Sample()cout“*“; ; int main() Sample temp2,*pTemp2; return 0; 运行这个程序输出星号*的个数为_。(分
2、数:1.00)A.1B.2C.3D.43.已知一函数的形参说明为 int arr56,则与此等效的形参说明为_。(分数:1.00)A.int arrB.int5C.int*a6D.int(*a)64.若有如下类定义 class Number double Convert() return double(value); public: void Add(); void Add(int x); private: int value; ; 则下列叙述中,错误的是_。(分数:1.00)A.类中有 1 个私有数据成员B.类中有 1 个私有成员函数C.编译时会产生 Add()函数重定义错误D.成员函数 C
3、onvert()是内联函数5.有如下类的定义。应在空格处填入的语句是 ( )。 class MyClass _ int x, y; public: MyClass(int a=0,int b=0) x=a; y=b; static void change) x-=10; y-=10; ;(分数:1.00)A.staticB.constC.mutableD.不需要填入内容6.下列不属于 C+预定义的流对象的是(分数:2.50)A.cfileB.cinC.coutD.clog7.在下列枚举符号中,用来定位文件开始位置的符号常量是_。(分数:1.00)A.ios_base:curB.ios_base
4、:outC.ios_base:begD.ios_base:end8.有如下程序: #includeiostream void fun(intx=y;y=t; int main() int a2=23,42; fun(a1,a0); std:couta0“,“a1std:endl; return 0; 执行后的输出结果是_。(分数:2.00)A.42,42B.23,23C.23,42D.42,239.对长度为 n 的线性表排序,在最坏情况下,比较次数不是 n(n-1)/2 的排序方法是_。(分数:1.00)A.快速排序B.冒泡排序C.直接插入排序D.堆排序10.下列数据结构中,能够按照“先进后出
5、”原则存取数据的是_。(分数:1.00)A.循环队列B栈C.队列D.二叉树11.下列关系运算中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是(分数:2.00)A.选择B.连接C.投影D并12.己知基类 Employee 只有一个构造函数,其定义如下: Employee:Employee(int n):id(n) Manager 是 Employee 的派生类,则下列对 Manager 的构造函数的定义中,正确的是_。(分数:2.00)A.Manager:Manager(int n):id(n)B.Manager:Manager(int n)id=n;C.Manager:Mana
6、ger(int n):Employee(n)D.Manager:Manager(int n)Employee(n);13.在面向对象方法中,不属于“对象”基本特点的是_。(分数:2.50)A.一致性B.分类性C.多态性D.标识唯一性14.设有以下定义和程序: #include iostream.h class A1 public: void showl() cout“class A1“end1; ; Class A2 : public A1 public: void show2() cout“Class A2“end1; ; Class A3 : protected A2 public: vo
7、id show3() cout”Class A 土”end1; ; void main() A1 obj1; A2 obj2; A3 obj3; 则以下不合语法的调用语句是 _ 。(分数:1.00)A.obj1show1();B.obj2show1();C.obj3show1();D.obj2show2();15.已知 Value 是一个类,Value 是 Value 的一个对象。下列以非成员函数形式重载的运算符函数原形中,正确的是_。(分数:2.00)A.Value operator+(Value v,int i);B.Value operator+(Value v=value,int i)
8、;C.Value operator+(Value vint i=0);D.Value operator+(Value v=value,int i=0);16.算法的空间复杂度是指 _ 。(分数:2.00)A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.算法执行过程中所需要的存储空间17.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是_。(分数:1.00)A.学生成绩管理系统B.C 语言编译程序C.UNIX 操作系统D.数据库管理系统18.下列关于 this 指针的叙述中,正确的是 _ 。(分数:2.00)A.任何与类相关的函数都有 t
9、his 指针B.类的成员函数都有 this 指针C.类的友元函数都有 this 指针D.类的非静态成员函数才有 this 指针19.有如下程序段: int i=2; do i*=i; cout“#“; if(i1000)break; while(1); 运行时,输出字符“#“个数是_。(分数:2.00)A.3B.4C.5D.620.C+类体系中,不能被派生类继承的有 _ 。(分数:1.00)A.构造函数B.虚函数C.静态成员函数D.赋值操作函数21.有如下程序: #includeiostream using namespace std; int main() void function(dou
10、ble val); double val; function(val); coutval; return 0; void function(double val) val=3; 编译运行这个程序将出现的情况是_。(分数:1.00)A.编译出错,无法运行B.输出:3C.输出:3.0D.输出一个不确定的数22.C+语言本身没有定义 I/O 操作,但 I/O 操作包含在 C+实现中。C+标准库 iostream 提供了基本的I/O 类。I/O 操作分别由两个类 istream 和_提供。(分数:2.50)A.fstreamB.iostreamC.ostreamD.cin23.下列描述中,错误的是_。
11、(分数:2.50)A.公有继承时基类中的公有成员在派生类中仍是公有成员B.公有继承时基类中的保护成员在派生类中仍是保护成员C.保护继承时基类中的公有成员在派生类中仍是公有成员D.保护继承时基类中的保护成员在派生类中仍是保护成员24.在 C+中,编译系统自动为一个类生成默认构造函数的条件是_。(分数:1.00)A.该类没有定义任何有参构造函数B.该类没有定义任何无参构造函数C.该类没有定义任何构造函数D.该类没有定义任何成员函数25.下列运算符不能重载为友元函数的足_。(分数:1.00)A.=() ( ) -B.+ - + - -C. = =D.+= -= *= /=26.下列关于类模板的模板参
12、数的叙述中,错误的是_。(分数:1.00)A.模板参数可以作为数据成员的类型B.模板参数可以作为成员函数的返回类型C.模板参数可以作为成员函数的参数类型D.模板参数不能作为成员函数的局部变量的类型27.有两个关系 R 和 T 如下: (分数:2.50)A.选择B交C.投影D并28.下列虚基类的声明中正确的是 _。(分数:2.00)A.class virtual B: public AB.class B: public A virtualC.class B: public virtual AD.virtual class B: public A29.表达式 1056%3 的值是(分数:2.00)
13、A.-1B.非零值C.0D.130.下列错误的定义语句是_。(分数:2.50)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;31.有如下类定义: class Test public: Test()a=0;c=0;/ int f(int a)constthis-a=a;/ static int g()return a;/ voidh(intb)Test:b=b;/ private: int a; static int b; const
14、int c; ; int Test:b=0; 在标注号码的行中,能被正确编译的是_。(分数:1.00)A.B.C.D.32.可以用 p.a 的形式访问派生类对象 p 的基类成员 a,其中 a 是 _ 。(分数:2.00)A.私有继承的公有成员B.公有继承的私有成员C.公有继承的保护成员D.公有继承的公有成员33.存取指针所指的值时,采用的运算符是_。(分数:2.50)A.#B.C.%D.*34.有如下程序: #includeiostream using namespace std; class Instrument public: virtual void Display()=0; ; cla
15、ss Piano:public Instrument public: vold Display()/*函数体程序略*/ ; int main() Instrument s; Instrument*p=0; /.; return 0; 下列叙述中正确的是_。(分数:2.50)A.语句“Insturment*p=0;”编译时出错B.语句“Instrument s;”编译时出错C.类 Piano 中的 Display 函数不是虚函数D.类 Instrumen 是一个虚基类35.有如下语句序列: char str10; cinstr; 当从键盘输入“I love this game”时,str 中的字
16、符串是_。(分数:1.00)A.“I love this game“B.“I love thi“C.“I love“D.“I“二、填空题(总题数:15,分数:23.50)36.执行语句序列 char str110=“ABCD“,str210=“XYZxyz“; for(int i=0;strli=str2i;i+); 后,数组 strl 中的字符串是 1。 (分数:2.00)37.下面程序的执行结果是 1。 #includeiostream #includeiomanip using namespace std; void main() coutsetfill(“x“)setw(10)“Hel
17、lo“endl; (分数:2.00)38.在长度为 n 的有序线性表中进行二分查找。最坏的情况下,需要的比较次数为 _ 1_ 。 (分数:1.00)39.C+是一种面向对象的程序设计语言,它充分支持面向对象思想中的三个主要特征是 1 性; 2 性和 3性。 (分数:1.00)40.若有以下程序: #include iostream using namespace std; class Base public: void who() cout“Base“end1; ; class Derivedl: public Base public: void who() cout“Derived“end1
18、; ; int main() Base *p; Derived1 obj1; p= p-who(); return 0; 则该程序运行后的输出结果是 _ 1_ 。 (分数:2.00)41.冒泡排序算法在最好的情况下的元素交换次数为 【1】 。 (分数:1.00)42.C+程序第 1 条语句是从 _ 1_ 函数开始执行的。 (分数:2.00)43.执行下列语句后,变量 sum 的值是 _ 1_ 。 int sum=0; for(int i=1;i=3;i+) for(int j=1;j=i;j+) sum+; (分数:2.00)44.下列程序在构造函数和析构函数中申请和释放类的私有成员,请完成该
19、类的实现。 class MyClass public: MyClass(int a); MyClass(); private: int *X; ; MyClass: MyClass(int a) 1; MyClass:MyClass() 2; (分数:2.50)45.、*、-、:、?:这五个运算符 1 重载。 (分数:1.00)46.诊断和改正程序中错误的工作通常称为 _ 1_ 。 (分数:1.00)47.数据模型按不同应用层次分成 3 种类型,它们是概念数据模型、 _ 1_ 和物理数据模型。 (分数:1.00)48.类 time 可以输出 12 小时或 24 小时制的时间,现需要设计一个缺省
20、构造函数,缺省值为 0 时 0 分 0 秒。该缺省构造函数为 1。 #includeiostream.h class Time int h,m,s; public: Time(int hour=0,int min=0,int sec=0)settime(hour,min,sec); void settime(int hour,int min,int sec)h=hour;m=min;s=sec; void show24( ) cout(h10?“0“:“)h“:“(m10?“0“:“) m“:“(s10?“0“:“)sendl; void showl2( ) int temp=(h= =0 |
21、 h= =12)? 12:h%12; cout(temp10?“0“:“)temp“:“(m10?“0“:“) m“:“(s10?“0“:“)s(temp0 ; void main( ) Time t(15,43,21); t.showl2( ); t.show24( ); (分数:2.00)49. 1 是一种特殊的成员函数,它主要用来为对象分配内存空间,对类的数据成员进行初始化并执行对象的其他内部管理操作。 (分数:1.00)50.用以下语句调用库函数 malloc,使字符指针 st 指向具有 11 字节的动态存储空间,请填空。st=(char*) 1; (分数:2.00)二级 C+-201
22、 答案解析(总分:82.00,做题时间:90 分钟)一、选择题(总题数:35,分数:58.50)1.以下程序的输出结果是_。 main() int a=4,b=5,c=0,d; d=!a coutdendl; (分数:2.50)A.1 B.0C.非 0 的数D.-1解析:解析 本题考查逻辑运算,只要考生掌握了逻辑运算的优先级就可以正确得到答案为选项 A。或运算的优先级最高, class Sample public: Sample() Sample()cout“*“; ; int main() Sample temp2,*pTemp2; return 0; 运行这个程序输出星号*的个数为_。(分
23、数:1.00)A.1B.2 C.3D.4解析:解析 本题考查构造函数和析构函数,题中定义了对象数组,那么析构时就析构两次,输出两个*。答案为 B。3.已知一函数的形参说明为 int arr56,则与此等效的形参说明为_。(分数:1.00)A.int arrB.int5C.int*a6D.int(*a)6 解析:解析 二维数组可以看做是一维数组的扩展。选项 D 表示的是一个一维数组,里面每个元素是一个指针,而指针肯定指向某个地址,从而完成二维数组的扩展。考生要了解*和的运算优先级。4.若有如下类定义 class Number double Convert() return double(valu
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C201 答案 解析 DOC
