全国计算机等级考试无纸化真考题库试卷二级C++(2)文档格式.docx
《全国计算机等级考试无纸化真考题库试卷二级C++(2)文档格式.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试无纸化真考题库试卷二级C++(2)文档格式.docx(28页珍藏版)》请在冰豆网上搜索。
D)数据流
(6)在软件开发中,需求分析阶段可以使用的工具是( )。
A)N—s图
B)DFD图
C)PAD图
D)程序流程图
(7)在面向对象方法中,不属于“对象”基本特点的是( )。
A)一致性
B)分类性
C)多态性
D)标识唯一性
(8)一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( )。
A)一对一
B)一对多
C)多对一
D)多对多
(9)在数据管理技术发展的三个阶段中,数据共享最好的是( )。
A)人工管理阶段
B)文件系统阶段
c)数据库系统阶段
D)三个阶段相同
(10)有三个关系R、S和T如下:
由关系R和S通过运算得到关系T,则所使用的运算为( )。
A)笛卡尔积
B)交
C)并
D)自然连接
(11)下列语句中,错误的是( )。
A)constintbuffer=256;
B)constdouble*point;
C)intconstbuffer=256;
D)double*eonstpoint:
(12)if语句的语法格式可描述为:
格式l:
if(<
条件>
)<
语句>
或
格式2:
语句l>
else<
语句2>
关于上面的语法格式,下列表述中错误的是( )。
A)<
部分可以是一个if语句,例如if(if(a==0)…)…
B)<
部分可以是一个if语句,例如if(…)if(…)…
c)如果在<
前加上逻辑非运算符!
并交换<
和<
的位置,语句功能不变
D)<
部分可以是一个循环语句,例如if(…)while(…)…
(13)有如下说明:
inta[10]={1,2,3,4,5,6,7,8,9,10},*P=a;
则数值为9的表达式是()。
A)*P+9
B)木(P+8)
C)*P+=9
D)P+8
(14)有如下程序段:
inti=0,J=1;
int&
r=i;
//①
r=j;
//②
int*P=&
i;
//⑧
*P=&r;
//④
其中会产生编译错误的语句是( )。
A)④
B)③
C)②
D)①
(15)下列字符串中。
不可以用做c++标识符的是( )。
A)y_2006
B)_EST_H
C)Return
D)switch
(16)为了取代c中带参数的宏,在c++中使用( )。
A)重载函数
B)内联函数
C)递归函数
D)友元函数
(17)通过运算符重载,可以改变运算符原有的( )。
A)操作数类型
B)操作数个数
C)优先级
D)结合性
(18)在函数中,可以用aut0、extem、register和static这四个关键字中的一个来说明变量的存储类型,如果不说
明存储类型,则默认的存储类型是( )。
A)auto
B)extern
C)register
D)static
(19)下列运算符函数中肯定不属于类FunNumber的成员函数的是( )。
A)intoperator一(FunNumber);
B)FunNumberoperator一();
C)FunNumberoperator一(int);
D)intoperator一(FunNumber,FunNumber);
(20)若有下面的函数调用:
fun(fl+b,3,max(n一1,b))
则fun的实参个数是( )。
A)3
B)4
C)5
D)6
(21)关于运算符重载,下列表述中正确的是( )。
A)c++已有的任何运算符都可以重载
B)运算符函数的返回类型不能声明为基本数据类型
C)在类型转换符函数的定义中不需要声明返回类型
D)可以通过运算符重载来创建c++中原来没有的运算符
(22)有如下程序:
#nclude<
iostream>
usingnamespacestd;
intmain()
{
voidfunction(doubleval);
doubleval;
function(val);
cout<
<
val;
return0;
}
voidfunction(doubleval)
}val=3;
编译运行这个程序将出现的情况是( )。
A)编译出错,无法运行
B)输出:
3
c)输出:
3.0
D)输出一个不确定的数
(23)下列情况中,不会调用拷贝构造函数的是( )。
A)用一个对象去初始化同一类的另一个新对象时
B)将类的一个对象赋值给该类的另一个对象时
c)函数的形参是类的对象,调用函数进行形参和实参结合时
D)函数的返回值是类的对象,函数执行返回调用时
(24)以下关键字不能用来声明类的访问权限的是( )。
A)public
B)static
C)protected
D)private
(25)由于常对象不能被更新,因此( )。
A)通过常对象只能调用它的常成员函数
B)通过常对象只能调用静态成员函数
C)常对象的成员都是常成员
D)通过常对象可以调用任何不改变对象值的成员函数
(26)下列有关继承和派生的叙述中,正确的是( )。
A)如果一个派生类公有继承其基类,则该派生类对象可以访问基类的保护成员
B)派生类的成员函数可以访问基类的所有成员
C)基类对象可以赋值给派生类对象
D)如果派生类没有实现基类的一个纯虚函数,则该派生类是一个抽象类
(27)在公有继承的情况下,允许派生类直接访问的基类成员包括( )。
A)公有成员
B)公有成员和保护成员
C)公有成员、保护成员和私有成员
D)保护成员
(28)有如下程序:
#include<
classBase{
public:
voidfun(){
__________________
”Base:
:
fun”<
endl;
};
classDerived:
publicBase{
voidfun(){
”Derived:
endl:
intmain(){
Derivedd;
d.fun();
已知其执行后的输出结果为:
Base:
fun
Derived:
则程序中下画线处应填人的语句是( )。
A)Base.fun();
B)Base:
fun();
C)Base—>
D)fun();
(29)有如下程序:
classMyClass{
MyClass(){cout<
’A’;
MyClass(charC){cout<
C;
~MyClass(){cout<
’B’;
MyClasspl,+p2;
p2=newMyClass(’X’);
deletep2;
执行这个程序的输出结果是( )。
A)ABX
B)ABXB
C)AXB
D)AXBB
(30)有如下程序:
inti=1;
classFun{
staticinti;
intvalue(){returni—l;
intvalue()const{returni+1;
intFun:
i=2;
inti=3;
Funfunl;
constFunfun2:
若程序的输出结果是:
123
则程序中下画线处遗漏的语句是( )。
A)cout<
funl.value()<
Fun:
i<
fun2.value();
B)tout<
C)cout<
fuIl2.value()<
i:
D)eout<
fun2.value()<
funl.value();
(31)有如下程序:
classObj{
Obj(){i++;
一Obj(){i一一;
staticintgetVal(){returni;
intObj:
i=0:
voidf(){Objob2;
ob2.getVal();
Objobl;
f();
Obj}ob3=newObj;
ob3一>
getVal();
deleteob3;
Obj:
9etVal();
A)232
B)231
C)222
D)221
(32)有如下程序:
classPair{
intm,n;
Pair(intj,intk):
m(j),n(k){}
intget(){returnm;
intget()const{returnm+n;
Paira(3,5);
constPairb(3,5);
tout<
a.get()’<
b.get();
returnU:
A)33
B)38
C)83
D)88
(33)有如下程序:
iostroam>
classBase{
protected:
Base(){cout<
Base(charC){cout<
c;
Derived