【计算机类职业资格】二级C++-82及答案解析.doc
《【计算机类职业资格】二级C++-82及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-82及答案解析.doc(16页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-82 及答案解析(总分:65.00,做题时间:90 分钟)一、选择题(总题数:20,分数:34.00)1.下列语句中,错误的是(分数:2.00)A.const int buffei=256;B.const double*point;C.int const buffer=256;D.double*const point:;2.下列语句中,与语句“n=(ab?(bc?1:0):0);”的功能等价的是 _ 。(分数:2.00)A.if(a=B) n=0;B.if(aB) |(bC) )n=1; else n=0;C.if(aB) if(bC) n=h else n=0; else n=0
2、;D.if(aB) n=1; else if(b=C) n=1; else if(bC) n=1; else n=0;3.派生类构造函数的调用顺序是先调用 _ 。(分数:2.00)A.派生类的构造函数B.基类的构造函数C.派生类的析构函数D.基类的析构函数4.有如下程序; #includeiostream using namespace std; clas Basel public: Basel(int d)coutd; Basel() ; class Base2 public: Base2(int d)outd; Base2() ; class Derived:public Base1,Ba
3、se2 public: Derived(int a,int b,int c,intd): Base1(b),Base2(a),b1(d),b2(c) private: int b1; int b2; ; int main() Derived d(1,2,3,4); return 0; 运行时的输出结果是_。(分数:1.00)A.1234B.2134C.12D.215.下面程序的运行结果是 #includeiostream,h void fun(int*a,int*b) int X= *a; * a= *b; *b=X; cout *a *b“ “; void main() int x=1, y
4、=2; fun( class Pair int m; int n; public: Pair(int i,int j):m(i),n(j) bool operator(Pair P)const; /须在类体外给出定义 ; int main() Pair p1(3,4),p2(4,3),p3(4,5); cout(p1p2)(p2p1)(p2p3)(p3p2); return 0; 运算符函数。perator的功能是比较两个 Pair 对象的大小,当左边对象大时,返回 true,否则返回false。比较规则是首先比较两对象的 m 成员,m 大者为大:当 m 相等时比较 n,n 大者为大。程序输出
5、0101,下列对运算符重载函数的正确定义是_。(分数:2.00)A.bool Pair:operator(Pair p)constif(m!=p.m)return mp.m;return np.n;B.bool Pair:operator(Pair P)if(m!=p.m)return mp.m;return np.n;C.bool Pair:operator(Pair p)constif(mp.m)return true;return np.n;D.bool Pair:operator(Pair P)if(mp.m)return true;return np.n;14.如果算符函数调用格式的
6、表达式:x.operator-(operator+(y,0)中的“”是作为成员函数重载的,“+”是作为友元函数重载的,那么该表达式还可以表示为:()(分数:2.00)A.x-y+B.x-(+y)C.(x+)-yD.+x-y15.有如下程序: #includeiostream using namespace std; int main() cout.fill(“*“); cout.width(5); coutscientific314.15926535endl; retrun 0; 程序运行后,输出的结果是 _ 。(分数:2.00)A.3.141593e+002B.3.1416e+002C.*3
7、.14e+002D.314.1616.下列叙述中正确的是(分数:1.00)A.接口复杂的模块,其耦合程度一定低B.耦合程度弱的模块,其内聚程度一定低C.耦合程度弱的模块,其内聚程度一定高D.上述三种说法都不对17.在数据库系统中,把具有以下特征中之 _ 两个特征的数据模型称为网状模型。(分数:2.00)A.允许有一个以上的结点没有双亲B.有且仅有一个结点无双亲C.根以外的结点有且仅有一个双亲D.一个结点可以有多个双亲18.已知二叉树后序遍历序列是 dabec,中序遍历序列是 debac,它的前序遍历序列是(分数:1.00)A.acbedB.decabC.deabcD.cedba19.有以下结构
8、体说明和变量的定义,且指针 p 指向变量 a,指针 q 指向变量 b。则不能把节点 b 连接到节点 a 之后的语句是 struct node char data; stmct node * next; a,b, * p(分数:2.00)A.nextq;B.nextC.pnextD.( * p) .nextq;20.下列关于虚基类的描述,错误的是 _ 。(分数:2.00)A.设置虚基类的目的是为了消除二义性B.虚基类的构造函数在非虚基类之后调用C.若同一层中包含多个虚基类,这些虚基类的构造函数按它们说明的次序调用D.若虚基类由非虚基类派生而来,则仍然先调用基类构造函数,再调用派生类的构造函数二、
9、填空题(总题数:18,分数:31.00)21.软件测试可分为白盒测试和黑盒测试。基本路径测试属于 1 测试。 (分数:2.00)22.多态性分为两类:编译时的多态性和 _ 1_ 。 (分数:1.00)23.虚基类说明格式如下:slass 派生类名 _ 1_ 继承方式基类名。 (分数:2.00)24.若要在程序文件中进行标准输入输出操作,则必须在开始的# include 命令中使用头文件 _ 1_ 。 (分数:2.00)25.如下程序声明了一个使用两个通用数据类型的模板类 dataClass,其中构造函数用于初始化两个数据成员,成员函数 show 用于输出两个数据成员的数值。 #includei
10、ostream 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; 请将程序补充完整,使程序在运行时输出: 10,0.23 X,my data (分数:2.00)26.若有函数 fun(x,y),并且已经使函数
11、指针变量 p 指向函数 fun,则使用 p 调用函数 fun 的方法是 1。 (分数:2.00)27.下列程序的输出结果为-5/8-3/4,请将横线处的缺失部分补充完整。 #includeiostream using namespace std; class Fraction/“分数“类 public: Fraction(double a, double B) : num(A) , den(B) Fraction() Fraction operator -() 1; f. num=-f. num; return f; void print()coutnum“/“den“ “ private:
12、double num; double den; /分母 ; int main() Fraction f1(5,8), f2(3, 4); (-f1) print(); (-f2). print(); return 0: (分数:2.00)28.重载的关系运算符和逻辑运算符的返回类型应当是 1。 (分数:2.00)29.通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为 _ 1_ 。 (分数:2.00)30.在进行模块测试时,要为每个被测试的模块另外设计两块:驱动和承接模块(桩模块)。其中 _ 1_ 的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。 (分数:1.0
13、0)31.下面程序的输出结果是 1。 #include iostream using namespace std; void f(int x) if(x) coutput(“0“+x%10); f(x10); int main() f(11001); return 0; (分数:1.00)32.友元类的所有成员函数都是另一个类的 _ 1_ 函数。 (分数:2.00)33.有如下程序: #includeiostream using namespace std; class ONE public: virtual void f() cout “1“; ; class TWO: public ONE
14、 public: TWO() cout “2“; ; class THREE: public TWO public: virtual void f() TWO:f(); cout “3“; ; int main() ONE aa, *p; TWO bb; THREE cc; p = P-f(); return 0; 执行上面程序的输出是 1 (分数:1.00)34.若有: int x=25,y=14,z=19; 则在计算表达式 x+=25 int k; for(k=0;k4:k+) s2k=(slk- “0“ +1) + “0“ ; s2k= “/0“ ; couts2; (分数:2.00)3
15、8.若 a. b 和 C 均是 int 型变量,则表达式 a=(b=4)+(c=2)执行后,a 的值为 1。 (分数:2.00)二级 C+-82 答案解析(总分:65.00,做题时间:90 分钟)一、选择题(总题数:20,分数:34.00)1.下列语句中,错误的是(分数:2.00)A.const int buffei=256;B.const double*point; C.int const buffer=256;D.double*const point:;解析:解析 定义常变量的一般形式为: const 类型名变量名=初始值 定义常指针的一般形式为: const 类型名*变量名=初始值 或者
16、为: 类型名*const 变量名=初始值2.下列语句中,与语句“n=(ab?(bc?1:0):0);”的功能等价的是 _ 。(分数:2.00)A.if(a=B) n=0;B.if(aB) |(bC) )n=1; else n=0;C.if(aB) if(bC) n=h else n=0; else n=0; D.if(aB) n=1; else if(b=C) n=1; else if(bC) n=1; else n=0;解析:解析 条件表达式(ab?(bc?1:0):0)的含义是,如果 ab 成立,则此表达式的值等于条件表达式(bc?1:0)的值,否则其值等于 0。而条件表达式(bc?1:0
17、)的含义是,如果 bc 成立,其值等于1,否则其值等于 0。3.派生类构造函数的调用顺序是先调用 _ 。(分数:2.00)A.派生类的构造函数B.基类的构造函数 C.派生类的析构函数D.基类的析构函数解析:解析 派生类在构造时,先调用基类的构造函数。4.有如下程序; #includeiostream using namespace std; clas Basel public: Basel(int d)coutd; Basel() ; class Base2 public: Base2(int d)outd; Base2() ; class Derived:public Base1,Base2
18、 public: Derived(int a,int b,int c,intd): Base1(b),Base2(a),b1(d),b2(c) private: int b1; int b2; ; int main() Derived d(1,2,3,4); return 0; 运行时的输出结果是_。(分数:1.00)A.1234B.2134C.12D.21 解析:解析 多继承构造函数执行的顺序为继承时的顺序。所以答案为 D。Dcrived(int a,int b,int c,int d):Base1(b),Base2(a),bl(d),b2(c)的含义是:构造函数 Basel 的参数值为 b
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C82 答案 解析 DOC
