资源预览内容
亲,该文档总共13页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
2015年3月全国计算机等级考试二级C+真题(总分100, 考试时间120分钟)一、选择题(每小题1分,共40分)1. 下列排序方法中,最坏情况下比较次数最少的是( )。A 冒泡排序B 简单选择排序C 直接插入排序D 堆排序该问题分值: 1答案:D冒泡排序、直接插入排序与简单选择排序法在最坏情况下均需要比较n(n-1)/2次,而堆排序在最坏情况下需要比较的次数是nlog2 n。2. 下面程序的运行结果为( )。#includeclass Apublic:A()tout”1”;A()tout”2”;class B:public Apublic:B()cout”3”;B()cout”4”;void main()B b;A 1234B 1324C 1342D 3142该问题分值: 1答案:C本题考查的是在继承中构造函数和析构函数的调用顺序,应该是先调用基类的构造函数,再调用派生类的构造函数,调用析构函数时的顺序是先调用派生类的析构函数,后调用基类的析构函数。3. 以下程序中调用cin函数给变量a输入数值的方法是错误的,其错误原因是( )。#includevoid main()int * P,* q,a,b;P=&a:eoutP:A * P表示的是指针变量P的地址B P表示的是变量a的地址,而不是变量a的值C *P表示的是指针变量P的值D *P只能用来说明P是一个指针变量该问题分值: 1答案:BP表示的是变量a的地址,定义后*P表示的是变量a的值。4. 与语句coutendl;不等价的是( )。A cout n;B cout12:C cout xA;D cout0:该问题分值: 1答案:D题干表示的是回车换行,选项A、B、c都表示回车换行,而选项D是字符串的结尾标志。5. 如果表达式x * y+z中,“*”是作为友元函数重载的,“+”是作为成员函数重载的,则该表达式还可为( )。A operator+(operator*(X,Y),z)B xoperator+(operator * (x,y),Z)C Yoperator * (operator+(x,Y),z)D xoperator+(operator(X,Y)该问题分值: 1答案:AC+中用成员函数重载x * y为:xoper-ator(y),用友元函数重载x*Y为:(,perator*(x,Y),用成员函数重载x+Y为:xoperator+(Y),用友元函数重载x+Y为:operator+(x,Y)。6. 在下列关键字中,不能用来表示继承方式的是( )。A privateB staticC publicD protected该问题分值: 1答案:B3种继承方式:公用继承、私有继承和保护继承分别使用public、private和protected3个关键字来定义。7. 下面的( )选项不能作为函数的返回类型。A voidB intC newD long该问题分值: 1答案:Cnew是动态申请内存空间时使用的关键字,不能作为函数的返回类型,选项A为无返回值,选项B为返回整型,选项D为返回长整型。8. 有如下函数定义:void funC(int a,int&Ba+;b+; 若执行代码段:int x=0,Y=1: funC(X,y);则变量X和y的值分别是( )。A 0和1B 1和1C 0和2D 1和2该问题分值: 1答案:C函数参数的3种传递方式:将变量名作为形参和实参,即传值方式;传递变量指针;引用形参。本题中实参x为传值方式,所以X的值不会改变;Y为引用形参,所以会改变。故本题答案为C。9. 定义无符号整数类为UInt,下面可以作为类UInt实例化值的是( )。A -369B 369C 0.369D 整数集合1,2,3,4,5该问题分值: 1答案:B只有B选项中369可以用无符号整数来表示和存储。A选项中一369有负号,选项C中0369是小数都不能用无符号整数类存储。选项D是一个整数集合得用数组来存储。10. 下列关于类定义的说法中,正确的是( )。A 类定义中包括数据成员和函数成员的声明B 类成员的缺省访问权限是保护的C 数据成员必须被声明为私有的D 成员函数只能在类体外进行定义该问题分值: 1答案:A类的成员的缺省访问权限是私有的,数据成员可以是私有,可以是公用的,也可以是受保护的。类的成员函数可以在类内定义。11. 有如下程序:#ncludeusing namespace std;int main()void function(double val);double val;function(val);coutval;return 0;void function(double val) val=3;编译运行这个程序将出现的情况是( )。A 编译出错,无法运行B 输出:3C 输出:30D 输出一个不确定的数该问题分值: 1答案:D本题考查函数调用及传值方式传递参数,执行函数function时,并没有将3的值传回来,而val又没有初始化,所以会输出一个不确定的值,D选项正确。12. this指针是C+语言实现( )的一种机制。A 抽象B 封装C 继承D 重载该问题分值: 1答案:Bthis指针是c+语言实现封装的一一种机制,它将对象和该对象调用的成员函数连接在一起在外部看来,每-个对象都拥有自己的函数成员。13. 下面关于虚函数的描述,错误的是( )。A 在成员函数声明的前面加上virtual修饰,就可把该函数声明为虚函数B 基类中说明了虚函数后,派生类中对应的函数也必须说明为虚数C 虚函数可以是另一个类的友元函数,但不能是静态成员函数D 基类中说明的纯虚函数在其任何派生类中都必须实现该问题分值: 1答案:B基类中说明的虚函数,在派生类中自然就是虚函数,对于纯虚函数必须在后面继承的派生类中给出具体的实现;静态成员函数不能进行动态联编,所以虚函数不能是静态的。14. 有如下程序:#includeusing namespaee std;int main()void function(double val);double val:function(val);eoutval:return 0;void function(double val)val=3;编译运行这个程序将出现的情况是( )。A 编译出错,无法运行B 输出:3C 输出:30D 输出一个不确定的数该问题分值: 1答案:D本题考查函数调用及传值方式传递参数,执行函数function时,并没有将3的值传回来,而val又没有初始化,所以会输出一个不确定的值,D选项正确。15. 面向对象方法中,继承是指( )。A 一组对象所具有的相似性质B 一个对象具有另一个对象的性质C 各对象之间的共同性质D 类之间共享属性和操作的机制该问题分值: 1答案:D继承是面向对象的方法的一个主要特征,是使用已有的类的定义作为基础建立新类的定义技术。广义的说,继承是指能够直接获得已有的性质和特征,而不必重复定义它们,所以说继承是指类之间共享属性和操作的机制。16. 下列程序的运行结果为( )。#includevoid main() int a=2:int b=a+1: couta/bendl:A 066667B 0C 07D 066666666该问题分值: 1答案:B表达式值的类型是由操作数的类型决定的,因为本题的两个数都是int型的,所以得出的结果也为int型,即去掉小数点后的部分,只取商的整数部分。17. 有如下定义:int a5=1,3,5,7,9,* P=a;下列表达式中不能得到数值5的是( )。A a2B a3C *(P+2)D +P+4该问题分值: 1答案:B本题考查指向数组的指针,本题中指针变量P指向数组a,直接使用数组下标即可取值,数组F标是从0开始标号的,所以a2能取到5,而a3取不到5,(:选项中使用指针后移方法能够取到5,D选项中*P为1,所以*P+4为5。18. C+系统预定义了4个用于标准数据流的对象,下列选项中不属于此类对象的是( )。A coutB cinC cerrD cset该问题分值: 1答案:Dc+标准数据流的对象分别足cout、cin、CelT、cl09,所以本题答案为D。19. 有如下程序:#includeusing namespace std;class GApublic:virtual int f()t retum l;class GB:public GApublic:virtual int f()retum 2;void show(GA g)eout9f();void display(GA&g)cout9f();int main()GA a;show(A;display(A;GB b;show(B;display(B;return 0;执行这个程序的输出结果是( )。A 1111B 1211C 1112D 1212该问题分值: 1答案:C本题主要考察虚函数。虚函数指在某基类中声明为virtual并在一一个或多个派生类中被重新定义的成员函数,本题中定义类GA的对象a,执行show(a)、display(a),输出ll,定义了类GB的对象b,执行show(b),仍然输出1,display(b)执行会调用派生类的f函数,因为f函数为虚函数,输出2,所以本题答案为c。20. 下列叙述中正确的是( )。A 有一个以上根结点的数据结构不一定是非线性结构B 只有一个根结点的数据结构不一定是线性结构C 循环链表是非线性结构D 双向链表是非线性结构该问题分值: 1答案:B线性结构应满足:有且只有一个根结点与每个结点最多有一个前件,也最多有一个后件,所以8正确。所以有一个以上根结点的数据结构一定是非线性结构,所以A错误。循环链表和双向链表都是线性结构的数据结构。21. 下列关于虚函数的说明中,正确的是( )。A 从虚基类继承的函数都是虚函数B 虚函数不得是静态成员函数C 只能通过指针或引用调用虚函数D 抽象类中的成员函数都是虚函数该问题分值: 1答案:B在某基类中声明为virtual并在一个或多个派生类中被重新定义的成员函数一
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号