【计算机类职业资格】二级C++笔试14及答案解析.doc
《【计算机类职业资格】二级C++笔试14及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试14及答案解析.doc(16页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试 14及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.在下面的 4个关键字中用来说明虚函数的是(分数:2.00)A.virtualB.publicC.protectedD.private2.在进行任何 C流的操作后,都可以用 C流的有关成员函数检测流的状态;其中只能用于检测输入流状态的操作函数名称是(分数:2.00)A.failB.eofC.badD.good3.有以下程序 #includeiostream #includestring using namespace std; class base private: c
2、harbaseName10; public: base() strcpy(baseName,“Base“); virtual char*myName() return baseName; char *className() return baseName; ; class Derived: public base private: char derivedName10; public: Derived() strcpy(derivedName,“Derived“); char *myName() return derivedName; char *className() return deri
3、vedName; ; void showPtr(base int main() base bb; Derived dd; showPtr(dD) ; retum 0; 动行后的输出结果为(分数:2.00)A.Derived BaseB.Base BaseC.Derived DerivedD.Base Derived4.下列叙述中正确的是(分数:2.00)A.接口复杂的模块,其耦合程度一定低B.耦合程度弱的模块,其内聚程度一定低C.耦合程度弱的模块,其内聚程度一定高D.上述三种说法都不对5.有以下程序 #includeiostream using namespace std; class sam
4、ple private: int x; public: sample (int A) x=a; friend double square (sample s); ; double square (sample s) return s.x*s.x; int main() sample s1(20),s2(30); coutsquare(s2)end1; return 0; 执行结果是(分数:2.00)A.20B.30C.900D.4006.以下程序的输出结果是 #includeiostream.h void main() int a=0,i; for(i=1;i5;i+) swich (i) c
5、ase 0: case 3:a+=2; case 1: case 2:a+=3; default:a+=5; coutaendl; return; (分数:2.00)A.31B.13C.10D.207.若有一个 MyClass类,则执行语句 MyClass a,b(2),*p;后,自动调用该类的构造函数 ( )次。(分数:2.00)A.2B.3C.4D.58.面向对象程序设计将数据和什么放在一起,作为一个相互依存、不可分割的整体来处理?(分数:2.00)A.对数据的操作B.信息C.数据隐藏D.数据抽象9.以下非法的赋值表达式是(分数:2.00)A.n=(i=2,+;B.j+;C.+(i+1);
6、D.x=j0;10.考虑下面的函数原型: void f(int a,int b=7,char c=); 下面的函数调用中,不合法的是(分数:2.00)A.f(5)B.f(5,8)C.f(6,)D.f(0,0,)11.一个在基类中说明的虚函数,它在该基类中没有定义,但要求任何派生类都必须定义自己的版本,此虚函数又称为(分数:2.00)A.虚析构函数B.虚构造函数C.纯虚函数D.静态成员函数12.下面有关重载函数的说法中正确的是(分数:2.00)A.重载函数必须具有不同的返回值类型B.重载函数形参个数必须不同C.重载函数必须有不同的形参列表D.重载函数名可以不同13.通过公有派生类的对象,只能访问
7、基类成员中的(分数:2.00)A.公有成员B.私有成员C.保护成员D.公有成员和保护成员14.考虑函数原型 void test(int a,int b=7, char z=*下面的函数调用中,属于不合法调用的是(分数:2.00)A.test(5);B.test(5,8);C.test(6,#);D.test(0,0*);15.下列叙述中错误的是(分数:2.00)A.一种数据的逻辑结构可以有多种存储结构B.数据的存储结构与数据处理的效率无关C.数据的存储结构与数据处理的效率密切相关D.数据的存储结构在计算机中所占的空间不一定是连续的16.下列虚基类的声明中正确的是(分数:2.00)A.class
8、 virtual B:public AB.virtual class B:public AC.class B:public A virmalD.class B:virmal public A17.下列关系运算中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是(分数:2.00)A.选择B.连接C.投影D.并18.下列对模板的声明中,正确的是(分数:2.00)A.templateTB.templateclass T1,T2C.templateclassT1,class T2D.templateclassT1;class T219.下列叙述中正确的是(分数:2.00)A.线性链表中的各
9、元素在存储空间中的位置必须是连续的B.线性链表中的表头元素一定存储在其他元素的前面C.线性链表中的各元素在存储空间中位置不一定的连续的,但表头元素定存储D.线性链表中的各元素在存储空间的位置不一定是连续的,且各元素的存储顺序也是任意的20.一棵二叉树中共有 70个叶子结点与 80个度为 1的结点,则该二叉树中的总结点数(分数:2.00)A.221B.219C.231D.22921.下面对对象概念描述错误的是(分数:2.00)A.任何对象都必须有继承性B.对象是属性和方法的封装体C.对象间的通讯靠消息传递D.操作是对象的动态属性22.有以下程序: #inclydeiOStream using n
10、amespace std; int main() int x=15; while(x10break; coutxendl; return 0; 执行后的输出结果是(分数:2.00)A.15B.16C.17D.1823.设有 a、b、c、d、m、n 均为 int型变量,且 a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=aB) p+; coutMyClass:sendl; return 0; 运行后的输出结果是U 【11】 /U。(分数:2.00)填空项 1:_47.有以下面程序: #includeiostream using namespace std; long fib(i
11、nt n) if (n2) return(fib(n-1)+fib(n-2); else return 2; int main() coutfib(3)end1; rcturn 0; 则该程序的输出结果应该是U 【12】 /U。(分数:2.00)填空项 1:_48.已知 int DBL(int n)return n+n;和 long DBL(long n)return n+n)是一个函数模板的两个实例,则该函数模板的定义是U 【13】 /U。(分数:2.00)填空项 1:_49.有以下程序 #includeiostream using namespace std; class Base int
12、 a; public: Base(int x) a=x; vuid show()couta; ; class DeriVed:public Base int b; public: Derived (int i):Base(i+1),b(i) void show()coutb; ; int main() Base b(5),*pb; Derived d(1); pb= char *className() return baseName; ; class Derived: public base private: char derivedName10; public: Derived() strc
13、py(derivedName,“Derived“); char *myName() return derivedName; char *className() return derivedName; ; void showPtr(base int main() base bb; Derived dd; showPtr(dD) ; retum 0; 动行后的输出结果为(分数:2.00)A.Derived Base B.Base BaseC.Derived DerivedD.Base Derived解析:解析 本题考核虚函数的应用。类 Derived是从基类 Base公有派生而来的。因此, Der
14、ived 是基类 Base的子类型。main()函数中定义了一个基类对象 bb和一个派生类对象 dd。从程序中可看出派生类 Derived的对象 dd交给了处理基类 Base的对象的函数 showPtr 进行处理。由于在基类中函数 myName被定义成虚函数。所以在函数 showPtr中调用的 myName函数为派生类的成员函数 myName,从而输出Derived。然后输出 className,即基类名称 Base。4.下列叙述中正确的是(分数:2.00)A.接口复杂的模块,其耦合程度一定低B.耦合程度弱的模块,其内聚程度一定低C.耦合程度弱的模块,其内聚程度一定高 D.上述三种说法都不对解
15、析:解析 影响模块之间耦合的主要因素有两个:模块之间的连接形式,模块接口的复杂性。一般来说,接口复杂的模块,其耦合程度要比接口简单的的模块强,所以选项 A的说法错误; 耦合程度弱的模块,其内聚程度一定高,选项 B错误;选项 C正确。5.有以下程序 #includeiostream using namespace std; class sample private: int x; public: sample (int A) x=a; friend double square (sample s); ; double square (sample s) return s.x*s.x; int m
16、ain() sample s1(20),s2(30); coutsquare(s2)end1; return 0; 执行结果是(分数:2.00)A.20B.30C.900 D.400解析:解析 本题考核友元函数的应用。程序中函数 square是类 sample的一个友元函数,它可以直接访问类 sample的所有成员。它的功能是返回类 sample的私有数据成员 x的平方。所以程序的执行结果是:900。 注意:友元函数不是类的成员函数,在类外定义时不要加上类名及其作用域运算符 (:)。友元函数的调用与一般函数的调用的方式和原理一致,可以在程序的任何地方调用它。6.以下程序的输出结果是 #incl
17、udeiostream.h void main() int a=0,i; for(i=1;i5;i+) swich (i) case 0: case 3:a+=2; case 1: case 2:a+=3; default:a+=5; coutaendl; return; (分数:2.00)A.31 B.13C.10D.20解析:解析 本题考核 for语句和 switch语句的综合运用。 switch 语句的执行过程是:在 switch后面的表达式的值和 case后面常量表达式的值吻合时,就执行后面的语句。如果在该语句的后面没有break语句,则继续执行下一个 case,直到遇到 break语
18、句或 switch多分支的结束。在 switch语句中,break语句的作用是使流程跳出 switch结构,终止 switch语句的执行。因为每个 case语句后面都没有break语句,所以,第 1次循环(i=1)执行后,a 的值为 8。第 2次循环(i=2)执行过后,a 的值变为 16。第 3次循环(i=3)执行过后,a 的值变为 26。第 4次循环执行过后,a 的值变为 31。然后执行 i+,这时循环条件为假,结束循环。所以最后 a的值为 31。7.若有一个 MyClass类,则执行语句 MyClass a,b(2),*p;后,自动调用该类的构造函数 ( )次。(分数:2.00)A.2 B
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 14 答案 解析 DOC
