1、二级 C+笔试-326 及答案解析(总分:104.00,做题时间:90 分钟)一、选择题(总题数:35,分数:74.00)1.一个函数功能不太复杂但要求被频繁调用,应选用(分数:2.00)A.内联函数B.重载函数C.递归函数D.嵌套函数2.有如下数组声明:int num10;,下标值引用错误的是(分数:2.00)A.num 10B.num5C.nam 3D.nam 03.通常拷贝构造函数的参数是(分数:2.00)A.某个对象名B.某个对象的成员名C.某个对象的引用名D.某个对象的指针名4.在数据库设计中,将 E-R 图转换成关系数据模型的过程属于(分数:2.00)A.需求分析阶段B.逻辑设计阶
2、段C.概念设计阶段D.物理设计阶段5.在 C+语言程序中,对象之间的相互通信通过(分数:2.00)A.继承实现B.调用成员函数实现C.封装实现D.函数重载实现6.结构化程序设计主要强调的是(分数:2.00)A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序易读性7.算法的空间复杂度是指(分数:2.00)A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.执行过程中所需要的存储空间8.应用数据库的主要目的是(分数:2.00)A.解决数据保密问题B.解决数据完整性问题C.解决数据共享问题D.解决数据量大的问题9.与语句 coutendl;不等价的是(分数:2.00)A
3、.cout/nB.cout/12C.cout/xAD.cout/010.C+语言类体系中,不能被派生类继承的有(分数:2.00)A.转换函数B.构造函数C.虚函数D.静态成员函数11.数据结构中,与所使用的计算机无关的是数据的(分数:2.00)A.存储结构B.物理结构C.逻辑结构D.物理和存储结构12.下列程序的运行结果为#includeiostreamhvoid main( )int a=2;int b=a+1;cout a/b endl;(分数:2.00)A.0.66667B.0C.0.7D.0.6666666613.下面程序的运行结果是#includeiostreamhclass bas
4、eprotected:int a;public:base( )cout“0“;class basel:virtual basepublic:basel( )cout“1“;class base2:virtual basepublic:base2( )cout“2“;class derived:public basel,public base2public:derived( )cout“3“;void main( )derived obj;coutendl;(分数:2.00)A.0123B.3120C.0312D.301214.下面程序的运行结果为#includeiostreamhclaSS A
5、static int n;public:A( )n=1;A(int num)n=num;void print( )coutb)|c) cout“true“endl;elsecout“false“endl;(分数:2.00)填空项 1:_41.下列 for 语句的循环次数为【8】。for(int a=0,b=1;bi+)coutai“;coutendl;(分数:2.00)填空项 1:_ (正确答案:【9】 1 2 3 4 5)解析:解析:本题考查的是考生使用简单循环输出数组元素的能力,因为结束条件是 i5,而 i 初始值为0,所以只会输出前 5 个元素。43.C+程序是从 【10】 函数开始执行
6、的。(分数:2.00)填空项 1:_ (正确答案:【10】main)解析:解析:所有的 C+语言程序都是从 main 函数开始执行,而普通函数的存在是为了简化 main 函数的复杂程度。44.假定 A 为一个类,则语句 A(A &a);为该类 【11】 函数的原型说明。(分数:2.00)填空项 1:_ (正确答案:【11】拷贝构造)解析:解析:本题考查的是拷贝构造函数的定义,它是一种特殊的成员函数,作用是使用 一个已知的对象来初始化一个被创建的同类的对象,定义格式是类名: :拷贝构造函数名(类名引用名)。45.派生类构造函数的执行顺序是先执行 【12】 的构造函数,然后执行成员对象的构造函数,
7、最后执行 【13】 的构造函数。(分数:4.00)填空项 1:_ (正确答案:【12】基类【13】派生类)解析:解析:本题主要考查的是派生类构造函数的执行顺序,在 C+语言中构造函数的执行顺序足先基类后派生类,而析构函数的执行顺序正好相反,是先调用派生类后调用基类。46.类模板不同于函数模板,类模板只可用 【14】 型参数。(分数:2.00)填空项 1:_ (正确答案:答案:【14】类)解析:解析:本题考查的是类模板的定义,C+语言中模板分为两种:类模板和函数模板,类模板只能用于类型参数,函数模板可以重载。47.下列程序的执行结果为【15】。#includevoid main( )cout.fill( * );cout.width(10);cout“hello“endl;(分数:2.00)填空项 1:_ (正确答案:【15】* * * * * hello)解析:解析:本题考查的是 C+语言的流输出操作,cout 中包括的函数 fill( )和 width( )分别实现填充和设定显示长度的功能。