【计算机类职业资格】二级C++-191及答案解析.doc
《【计算机类职业资格】二级C++-191及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-191及答案解析.doc(21页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-191 及答案解析(总分:89.00,做题时间:90 分钟)一、选择题(总题数:35,分数:60.00)1.类 A 是类 B 的友元,类 B 是类 C 的友元,则下列说法正确的是_。(分数:2.50)A.类 B 是类 A 的友元B.类 C 是类 A 的友元C.类 A 是类 C 的友元D.以上都不对2.下面类的声明中的几个语句,正确的是(设定语句是主函数中的语句) _ 。 class TestClass private: int data; public: TestClass(int g_data) data=g_data; void show()coutdataend1;) ;(分
2、数:2.00)A.TestClass *p;B.TestClass m;C.TestClass.data=8;D.TestClass.show();3.有如下类定义: class Date public: Date(int y=2014, int m=9, int d=9):year(y), month(m), day(d) _(ostream /运算符的声明 private: int year, month, day; ; 若要使语句序列 Date GoodDay; coutGoodDayendl; 能够正常运行,横线处的内容应为_。(分数:1.00)A.istream class Monk
3、ey public: Monkey() cout“M“; Monkey(char n) coutn;) Monkey() cout“Y“; ; int main() Monkey p1,*p2; p2=new Monkey(“X“); delete p2; return 0; 运行这个程序的输出结果是_。(分数:2.00)A.MYXB.MYMYC.MXYD.MXYY7.在进行了任何 C+流的操作后,都可以用 C+流的有关成员函数检测流的状态,其中只能用于检测刚进行的操作是否失败函数名是(分数:2.00)A.failB.eofC.badD.good8.有以下程序: #includeiostrea
4、m. h void fun(int a, int b, int c) a=456, b=567, c=678; void main() int x=10, y=20, z=30; fun(x, y, z); coutx“,“y“,“zendl; 输出结果是_。(分数:1.00)A.30,20,10B.10,20,30C.456,567,678D.678,567,4569.算法的空间复杂度是指 _ 。(分数:1.00)A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.算法执行过程中所需要的存储空间10.有如下程序: #includeiostream using namesp
5、ace std; int main() int i,s=0; for(i=1;s20;i+=2)s+=i*i; coutiendl; return 0; 运行这个程序的输出结果是_。(分数:2.00)A.3B.5C.7D.911.有如下程序: #includeiostream using namespace std; class Base pubfic: Base()cout“BB“;f(); void f()cout“Bf“: ; class Derived:public Base public: Derived()cout“DD“;) voidf()cout“Df“: ; intmain(
6、)Derived d;retum 0; 执行上面的程序将输出(分数:1.00)A.BBBfDDB.BBDfDDDfC.DDD.DDBBBf12.有如下程序: #includeiostream #includeiomanip using namespace std; int main() coutsetfill(“#“)setw(4)“OK“123endl; return 0; 运行这个程序的输出结果是_。(分数:2.00)A.#OK123B.#OK#123C.OK#123D.OK#123#13.下列叙述中错误的是_。(分数:1.00)A.gets 函数用于从终端读人字符串B.getchar 函
7、数用于从磁盘文件读人字符C.fputs 函数用于把字符串输出到文件D.fwrite 函数用于以二进制形式输出数据到文件14.下列字符串可以用作 C+标识符的是_。(分数:2.50)A.2009varB.gotoC.test-2009D._12315.下面程序错误的语句是 #include“ iostreamh“ void main( ) int A=0; int p=S; 则指针对 s 数组中第三个元素的正确引用形式是 _ 。(分数:2.00)A.p03B.p12C.p02D.p1323.以下哪些不是程序调试的基本步骤_?(分数:2.50)A.分析错误原因B.错误定位C.修改设计代码以排除错误
8、D.回归测试,防止引入新错误24.通过公有派生类的对象,只能访问基类成员中的 _ 。(分数:2.00)A.公有成员B.私有成员C.保护成员D.公有成员和保护成员25.软件需求分析应确定的是用户对软件的 _。(分数:2.00)A.功能需求和非功能需求B.性能需求C.非功能需求D.功能需求26.下面的叙述中,不符合赋值兼容规则的是_。(分数:2.50)A.派生类的对象可以赋值给基类的对象B.基类的对象可以赋值给派生类的对象C.派生类的对象可以初始化基类的引用D.派生类的对象的地址可以赋值给指向基类的指针27.已知类 Base 和类 Derived 的定义如下: class Base int n;
9、public: Base(int d):n(d) ; class Derived: public Base public: _ ; 其中横线处应为类 Derived 的构造函数的定义。在下列构造函数的定义中,正确的是(分数:2.50)A.Derived(int i)Base(i);B.Derived(int i):Base(i)C.Derived(int i)n=i;D.Derived(int i):n(i)28.下列关于 C+函数的说明中,正确的是_。(分数:1.00)A.内联函数就是定义在另一个函数体内部的函数B.函数体的最后一条语句必须是 return 语句C.标准 C+要求在调用一个函
10、数之前,必须先声明其原型D.编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式29.C+中的模板包括_。(分数:1.00)A.对象模板和函数模板B.对象模板和类模板C.函数模板和类模板D.变量模板和对象模板30.下列关于 C+预定义流对象的叙述中,正确的足_。(分数:1.00)A.cin 是 C+预定义的标准输入流对象B.cin 是 C+预定义的标准输入流类C.cout 是 C+预定义的标准输入流对象D.cout 是 C+预定义的标准输入流类31.下列叙述中正确的是( )。(分数:2.00)A.线性链表的各元素在存储空间中的位置必须是连续的B.线性链表的头元素一定存储在其他元素的前面
11、C.线性链表中的各元素在存储空间中的位置不一定是连续的,但表头元素一定存储在其他元素的前面D.线性链表中的各元素在存储空间中的位置不一定是连续的,且各元素的存储顺序也是任意的32.下列描述正确的是(分数:1.00)A.表示 m n 为 true 或 m n 为 true 的表达式为 m n,下标值引用错误的是 _ 。(分数:2.00)A.value30B.value0C.value10D.value2034.当需要将一个函数 bool isnumber(char c)声明为内联函数时,此内联函数的函数原型为_。(分数:1.00)A.enum bool isnumber(char c):B.de
12、fine bool isnumbcr(char c):C.inline bool isnumber(char c):D.extem bool isnumber( char c):35.以下程序的输出结果是 _ 。 #includeiostream.h main() int b33=0,1,2,0,1,2,0,1,2,ij,t=1; for(i=0;i3;i+) for(j=i;j=i;j+) t=t+bibjj; coutt; (分数:2.00)A.3B.4C.1D.9二、填空题(总题数:15,分数:29.00)36.已知有函数 f 的定义如下: int f() static int s=0;
13、 s+=2; return s; 则在某程序中第二次执行函数调用语句 f();时,函数 f 的返回值是 1。 (分数:2.00)37.若有函数 fun(x,y),并且已经使函数指针变量 p 指向函数 fun,则使用 p 调用函数 fun 的方法是 1。 (分数:2.00)38.在 MyClass 类的定义中,对赋值运算符“=”进行重载。请将画线处缺失的部分补充完整。 1MyClass:operator=(const MyClass void fun(const char *s, char int main() char str=“ABCDE“; char ch=str1; fun(str, c
14、h); coutch; return 0; (分数:2.00)40.在 C+语言中,每个类都有一个隐含的指针叫做 1 指针。该指针指向 2。 (分数:2.50)41.以下函数模板 max()的功能是返回数组 a 中最大元素的值。请将横线处缺失部分补充完整。 templatetypename TT max(T a,int n) T m=a0; for(int i=l;in;i+) if(aim) 1; return m; (分数:2.00)42.在算法正确的前提下,评价一个算法的两个标准是 _ 1_ 。 (分数:2.00)43.如下程序声明了一个使用两个通用数据类型的模板类 dataClass,
15、其中构造函数用于初始化两个数据成员,成员函数 show 用于输出两个数据成员的数值。 #includeiostream using namespace std; _ 1_ T1 i; T2 j; public: dataClass(T1 a, T2 b)i=a;j=b; void show()couti“,“j“/n“; ; int main() dataClassint. doubleob1(10,0.23) dataCllasschar,char *ob2(“X“,“my data“); ob1show(); ob2show(); return 0; 请将程序补充完整,使程序在运行时输出:
16、 10,0.23 X,my data (分数:2.00)44.下面程序的输出结果是 1。 #include iostream.h using namespace std; int x=5,4,3,2,1; int main() int i,*p, m=0; for(p=x,i=1;p+i=x+4;i+) cout*(p+i); for(i=0;i4;i+) m+=pj; cout“/t“m; return 0; (分数:2.50)45.运算符重载仍然保持其原来的优先级、 1 和 2。 (分数:1.00)46.Jackson 方法是一种面向 _ 1_ 的结构化方法。 (分数:2.00)47.关系
17、操作的特点是 【5】 操作。 (分数:1.00)48.与二维表中的“行”的概念最接近的概念是 1。 (分数:2.00)49.重载的关系运算符和逻辑运算符的返回类型应当是 1。 (分数:2.00)50.补充完整下面的类定义: const double PI=3.14; class circle /圆形物体的抽象基类 protected: double r; /半径 public: Circle(double radius=0):r(radius) 1; /计算圆形物体表面积的纯虚函数声明 ; class Cylinder: public Circle /圆柱体类 double h;/高度 pub
18、lic: Cylinder(double radius=0,double height=0): Circle(radius),h(height) virtual double Area( ) /计算圆柱体的表面积 return 2*PI*r*(r+h); ; (分数:2.00)二级 C+-191 答案解析(总分:89.00,做题时间:90 分钟)一、选择题(总题数:35,分数:60.00)1.类 A 是类 B 的友元,类 B 是类 C 的友元,则下列说法正确的是_。(分数:2.50)A.类 B 是类 A 的友元B.类 C 是类 A 的友元C.类 A 是类 C 的友元D.以上都不对 解析:解析
19、选项 A、B 和 C 都不正确,因为友元关系是单项的,并且没有交换性、传递性。2.下面类的声明中的几个语句,正确的是(设定语句是主函数中的语句) _ 。 class TestClass private: int data; public: TestClass(int g_data) data=g_data; void show()coutdataend1;) ;(分数:2.00)A.TestClass *p; B.TestClass m;C.TestClass.data=8;D.TestClass.show();解析:解析 C+中,若没有类的显式声明构造函数则系统会为其提供一个默认的构造函数,
20、若提供了构造函数则会将系统提供的默认的构造函数覆盖。调用构造函数时,实参必须与形参匹配。但是如果声明一个对象指针时,不是定义一个对象,不调用对象的构造函数。3.有如下类定义: class Date public: Date(int y=2014, int m=9, int d=9):year(y), month(m), day(d) _(ostream /运算符的声明 private: int year, month, day; ; 若要使语句序列 Date GoodDay; coutGoodDayendl; 能够正常运行,横线处的内容应为_。(分数:1.00)A.istream class
21、Monkey public: Monkey() cout“M“; Monkey(char n) coutn;) Monkey() cout“Y“; ; int main() Monkey p1,*p2; p2=new Monkey(“X“); delete p2; return 0; 运行这个程序的输出结果是_。(分数:2.00)A.MYXB.MYMYC.MXYD.MXYY 解析:解析 在类 Monkey 中定义了默认的构造函数和带参数的构造函数,所以在主函数中,定义Monkey 的对象 p1 时,调用默认的构造函数,输出 M;定义 Monkey 的对象 p2 时,调用带参数的构造函数,输出
22、X;在执行“delete p2;”语句时,调用析构函数,输出 Y,在退出程序时,调用析构函数输出 Y。7.在进行了任何 C+流的操作后,都可以用 C+流的有关成员函数检测流的状态,其中只能用于检测刚进行的操作是否失败函数名是(分数:2.00)A.fail B.eofC.badD.good解析:解析 C+中可以用文件流对象的下列成员函数来判别文件流的当前状态。函数 is_ open()判定流对象是否与一个打开的文件相联系,若是,返回 true,否则返回 false;函数 good()刚进行的操作成功时返回 true,否则返回 false;函数 fail()与 good()相反,刚进行的操作失败时
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C191 答案 解析 DOC
