1、二级 C+笔试 1及答案解析(总分:106.00,做题时间:90 分钟)一、B选择题/B(总题数:39,分数:78.00)A.B.C.D.2.一个函数功能不太复杂但要求被频繁调用,应选用(分数:2.00)A.内联函数B.重载函数C.递归函数D.嵌套函数3.软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指(分数:2.00)A.模块间的关系B.系统结构部件转换成软件的过程描述C.软件层次结构D.软件开发过程4.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。 其中数据独立性最高的阶段是(分数:2.00)A.数据库系统B.文件系统C.人工管理D.数据项
2、管理5.设有定义 int a=1;float f=12;charc=a;,则下列表示错误的是(分数:2.00)A.+a;B.f-;C.c+;D.8+;6.数据结构中,与所使用的计算机无关的是数据的(分数:2.00)A.存储结构B.物理结构C.逻辑结构D.物理和存储结构7.算法的空间复杂度是指(分数:2.00)A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.执行过程中所需要的存储空间8.用链表表示线性表的优点是(分数:2.00)A.便于随机存取B.花费的存储空间较顺序存储少C.便于插入和删除操作D.数据元素的物理顺序与逻辑顺序相同10.在数据库设计中,将 E-R图转换成关
3、系数据模型的过程属于(分数:2.00)A.需求分析阶段B.逻辑设计阶段C.概念设计阶段D.物理设计阶段11.C解析:应该先做+运算,然后进行%运算,最后比较不等式,实际上最后输出的结果就是被 3除,余数为2的不大于 8的数。(分数:2.00)A.B.C.D.12.下列程序的运行结果为 #includeiostreamh void main( ) int a=2; int b=a+1; cout a/b endl; (分数:2.00)A.0.66667B.0C.0.7D.0.6666666613.A解析:单目的+运算优先级高于双目的+运算,不过+的结合性是自右向左的,而+是自左至右的,所以上面的
4、两个表达式都是先计算 a+b的值之后,a 再自加 1。(分数:2.00)A.B.C.D.14.为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问 权限定义为(分数:2.00)A.publicB.protectedC.privateD.static15.类的析构函数是在什么时候调用的?(分数:2.00)A.类创建时B.创建对象时C.删除对象时D.不自动调用16.下面程序的运行结果为 #include void main( ) char a=,3; switch(a) case3:cout b)|c) cout“true“endl; else cout“false“endl
5、; (分数:2.00)填空项 1:_47.下列 for语句的循环次数为【8】。 for(int a=0,b=1;b&ab)|c) cout“true“endl; else cout“false“endl; (分数:2.00)填空项 1:_ (正确答案:【7】true)解析:解析:本题考查的是对于逻辑运算符号的理解,“|”运算符的任何一边取值为真,则整个运算结果为真。47.下列 for语句的循环次数为【8】。 for(int a=0,b=1;b&a5;a+);(分数:2.00)填空项 1:_ (正确答案:【8】5)解析:解析:因为 b的值为 1,所以 ba5 相当于 a48.下面程序的输出结果是
6、U【9】/U。 #includeiostream.h void main( ) int a6=1,2,3,4,5,6; for(int i=0;i填空项 1:_ (正确答案:【9】 1 2 3 4 5)解析:解析:本题考查的是考生使用简单循环输出数组元素的能力,因为结束条件是 i5,而 i初始值为0,所以只会输出前 5个元素。49.C+程序是从 【10】 函数开始执行的。(分数:2.00)填空项 1:_ (正确答案:【10】main)解析:解析:所有的 C+语言程序都是从 main函数开始执行,而普通函数的存在是为了简化 main函数的复杂程度。50.假定 A为一个类,则语句 A(A &a);
7、为该类 【11】 函数的原型说明。(分数:2.00)填空项 1:_ (正确答案:【11】拷贝构造)解析:解析:本题考查的是拷贝构造函数的定义,它是一种特殊的成员函数,作用是使用 一个已知的对象来初始化一个被创建的同类的对象,定义格式是类名: :拷贝构造函数名(类名引用名)。51.派生类构造函数的执行顺序是先执行 【12】 的构造函数,然后执行成员对象的构造函数,最后执行 【13】 的构造函数。(分数:2.00)填空项 1:_ (正确答案:【12】基类)解析:【13】派生类 解析:本题主要考查的是派生类构造函数的执行顺序,在 C+语言中构造函数的执行顺序足先基类后派生类,而析构函数的执行顺序正好
8、相反,是先调用派生类后调用基类。52.类模板不同于函数模板,类模板只可用 【14】 型参数。(分数:2.00)填空项 1:_ (正确答案:答案:【14】类)解析:解析:本题考查的是类模板的定义,C+语言中模板分为两种:类模板和函数模板,类模板只能用于类型参数,函数模板可以重载。53.下列程序的执行结果为【15】。#includevoid main( )cout.fill( * );cout.width(10);cout“hello“ENDL;(分数:2.00)填空项 1:_ (正确答案:【15】* * * * * hello)解析:解析:本题考查的是 C+语言的流输出操作,cout 中包括的函数 fill( )和 width( )分别实现填充和设定显示长度的功能。