点击查看:2017年3月计算机二级考试C++考前测试题及答案汇总
1). 数据库管理系统DBMS中用来定义模式、内模式和外模式的语言为( )
A.C
B.Basic
C.DDL
D.DML
正确答案:C
2). 下面对于友元函数描述正确的是
A.友元函数的实现必须在类的内部定义
B.友元函数是类的成员函数
C.友元函数破坏了类的封装性和隐藏性
D.友元函数不能访问类的私有成员
正确答案:C
答案解析:友元函数的定义既可以在类内部进行,也可以在类外部进行。它提高了程序的运行效率,但破坏了类的封装性和隐藏性,使得类的非成员函数可以访问类的私有成员。
3). 下列链表中,其逻辑结构属于非线性结构的是( )
A.二叉链表
B.循环链表
C.双向链表
D.带链的栈
正确答案:A
答案解析:在定义的链表中,若只含有一个指针域来存放下一个元素地址,称这样的链表为单链表或线性链表。带链的栈可以用来收集计算机存储空间中所有空闲的存储结点,是线性表。在单链表中的结点中增加一个指针域指向它的直接前件,这样的链表,就称为双向链表(一个结点中含有两个指针),也是线性链表。循环链表具有单链表的特征,但又不需要增加额外的存贮空间,仅对表的链接方式稍做改变,使得对表的处理更加方便灵活,属于线性链表。二叉链表是二叉树的物理实现,是一种存储结构,不属于线性结构。答案为A选项。
4). 关于纯虚函数,下列表述中正确的是( )。
A.纯虚函数是没有给出实现版本(即无函数体定义)的虚函数
B.纯虚函数的声明总是以″=0″结束
C.派生类必须实现基类的纯虚函数
D.含有纯虚函数的类不可能是派生类
正确答案:B
答案解析:纯虚函数是在声明虚函数时被″初始化″为O的虚函数。纯虚函数没有函数体,纯虚函数的作用是在基类中为其派生类保留一个函数名称。
5). 下列关于虚函数的描述中,正确的是( )。
A.虚函数是一个static类型的成员函数
B.虚函数是一个非成员函数
C.基类中采用virtual说明一个虚函数后,派生类中定义相同原型的函数时可不必加virtual说明
D.派生类中的虚函数与基类中相同原型的虚函数具有不同的参数个数或类型
正确答案:C
答案解析:在成员函数声明的前面加上virtual关键字即把该函数声明为虚函数。虚函数可以是另一个类的友元函数,但不是静态成员函数。在派生类中可以重新定义从基类继承下来的虚函数,在派生类中重新定义虚函数时,函数名、形参表和返回值类型必须保持不变。
6). 在位运算中,操作数每右移一位,其结果相当于
A.操作数乘以2
B.操作数除以2
C.操作数乘以4
D.操作数除以4
正确答案:B
答案解析:右移运算符">>"是双目运算符。其功能是把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数。例如:设a=15,a>>2 表示把000001111右移为00000011(十进制3)。
7). 下面描述中,不属于软件危机表现的是( ).
A.软件过程不规范
B.软件开发生产率低
C.软件质量难以控制
D.软件成本不断提高
正确答案:A
答案解析:软件危机主要表现在:软件需求的增长得不到满足;软件开发成本和进度无法控制;软件质量难以保证;软件不可维护或维护程度非常低;软件的成本不断提高;软件开发生产率的提高赶不上硬件的发展和应用需求的增长。所以选择A。
8). 以下定义语句中正确的是( )。
A.int a-b=0;
B.char A=65+1,b=′b′;
C.float a=1,″b= &a,″c=&b;
D.double a=0.0.b=1.1;
正确答案:B
答案解析:本题考查数据类型的定义。选项A中是要定义变量并且赋初值,但方式不对,必须单独定义其类型。选项C给实型变量赋值时不用双引号,也不能将地址赋予实型变量,在选项D中,C语言允许在一个类型说明符后说明多个相同类型的变量,各变量之间要用逗号隔开,而不是用分号隔开,选项B正确。
9). 已知Value是一个类,Value是Value的一个对象。下列以非成员函数形式重载的运算符函数原形中,正确的是( )。
A.Value operator+( Value v,int i);
B.Value operator+( Value v= value,int i);
C.Value operator+( Value vint i=O);
D.Value operator+( Value v= value,int i=O);
正确答案:B
答案解析:非成员函数的重载运算符函数的格式为operator+(),是运算符十重载函数。
10). 如果表达式一x/y中的″-″和″″是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可表示为( )。
A.jsj-ej-0253.jpg
B.jsj-ej-0254.jpg
C.jsj-ej-0255.jpg
D.jsj-ej-0256.jpg
正确答案:B
答案解析:本题考核运算符的重载。假定已经作为某个类的成员函数重载了二元运算符+,且cl、c2都是该类的对象,则cl.operator+(c2)与cl+c2含义相同。如果十作为该类的非成员函数重载,则operator+( cl,c2)与cl+c2含义相同。同理,运算符″″作为友元函数重载,则--x)y与表达式operator/((- - x),y)相同。前缀运算符″一一″作为友元函数重载,则- -x与operator - -( x)相同,所以组合起来是operator/(operator-( x),y);,即B选项。
微信搜索"考试吧"获取更多考试资讯、备考资料
相关推荐: