1、【
单选题
】
下列有关内联函数的叙述中,正确的是( )。
[1分]
、
内联函数在调用时发生控制转移
、
内联函数必须通过关键字inline来定义
、
内联函数是通过编译器来实现的
、
内联函数函数体的最后一条语句必须是return语句
答案:
2、【
单选题
】
语句int*P=&k;定义了指针P,与这个语句等效的语句序列是( )。
[1分]
、
int* p;P=&k;
、
int * P;P=k;
、
int * p;* P=&k;
、
int * p;* P=k;
答案:
3、【
单选题
】
有如下程序:
#include
using namespace std;
class A
{
public:
A(){cout<<”A”;}
-A(){cout<<”-A”;}
};
class B:public A
{
A*P;
public:
B(){cout<<”B”;P=new A();}
-B(){cout<<”~B”;delete p;}
};
int main()
{
B obj;
return 0;
}
执行这个程序的输出结果是( )。
[1分]
、
BAA~A~B~A
、
ABA~B~A~A
、
BAA~B~A~A
、
ABA~A~B~A
答案:
4、【
单选题
】
有如下类定义:
class AA
{
im a:
public:
int getRef()const{return&a;}//①
int getValue()const{return a;}//②
void set(int n)const{a=n;}//③
friend void show(AA aA.const{cout<
};
其中四个函数的定义中正确的是( )。
[1分]
答案:
5、【
单选题
】
若要对Data类中重载的加法运算符成员函数进行声明,下列选项中正确的是( )。
[1分]
、
Data+(DatA.;
、
Data operator+(DatA.;
、
Data+operator(DatA.;
、
operator+(Data,DatA.;
答案:
6、【
单选题
】
有如下数组声明:int num[10];,下标值引用错误的是( )。
[1分]
、
num[10]
、
num[5]
、
num[3]
、
hum[o]
答案:
7、【
单选题
】
将前缀运算符“--”重载为非成员函数,下列原型中能正确用于类中说明的是( )。
[1分]
、
DeCr&operator--(int);
、
DeCr operator--(DeCr&,int);
、
friend DeCr&operator--(DeCr&);
、
friend DeCr operator--(DeCr&,int);
答案:
8、【
单选题
】
如果派生类以proteCted方式继承基类,则原基类的proteCted成员和publiC成员在派生类中的访问属性分别是( )。
[1分]
、
publiC和publiC
、
publiC和proteCted
、
proteCted和publiC
、
proteCted和proteCted
答案:
9、【
单选题
】
在函数中,可以用aut0、extem、register和static这四个关键字中的一个来说明变量的存储类型,如果不说明存储类型,则默认的存储类型是( )。
[1分]
、
auto
、
extern
、
register
、
static
答案:
10、【
单选题
】
下列程序的输出结果是( )。
#include
int rain(iltl a,int B.
{
if(a
else retum b;
retum 0;
}
void main()
{
eout<<MIN(1,MIN(2,3))<
}
[1分]
答案:
11、【
单选题
】
在黑盒测试方法中,设计测试用例的主要根据是( )。
[1分]
、
程序内部逻辑
、
程序外部功能
、
程序数据结构
、
程序流程图
答案:
12、【
单选题
】
在面向对象方法中,不属于“对象”基本特点的是( )。
[1分]
、
一致性
、
分类性
、
多态性
、
标识唯一性
答案:
13、【
单选题
】
有以下程序:
#include
void fun(int a,int b,int C.
{ a=456,b=567,c=678;}
void main()
{
int X=10,Y=20,Z=30;
fun(X,Y,z);
aout<<X<<’,’<<Y<<’,’<<Z<
}
输出结果是( )。
[1分]
、
30,20,10
、
10,20,30
、
456,567,678
、
678,567,456
答案:
14、【
单选题
】
对类的构造函数和析构函数描述正确的是( )。
[1分]
、
构造函数可以重载,析构函数不能重载
、
构造函数不能重载,析构函数可以重载
、
构造函数可以重载,析构函数也可以重载
、
构造函数不能重载,析构函数也不能重裁
答案:
15、【
单选题
】
通过运算符重载,可以改变运算符原有的( )。
[1分]
、
操作数类型
、
操作数个数
、
优先级
、
结合性
答案:
16、【
单选题
】
下列关于c++流的描述中,错误的是( )。
[1分]
、
cout>>’A’表达式可输出字符A
、
eof()函数可以检测是否到达文件尾
、
对磁盘文件进行流操作时,必须包含头文件fstream
、
以ios_base::0ut模式打开的文件不存在时,将自动建立一个新文件
答案:
17、【
单选题
】
耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是( )。
[1分]
、
提高耦合性降低内聚性有利于提高模块的独立性
、
降低耦合性提高内聚性有利于提高模块的独立性
、
耦合性是指一个模块内部各个元素间彼此结合的紧密程度
、
内聚性是指模块间互相连接的紧密程度
答案:
18、【
单选题
】
若有如下类声明:
Class MyClass{ publiC:
MyClass( ){Cout<<1;} };
执行下列语句
MyClass a,b[2],*p[2]; 程序的输出结果是( )。
[1分]
、
11
、
111
、
1111
、
11111
答案:
19、【
单选题
】
下列函数模板的定义中,合法的是( )。
[1分]
、
templateT abs(T X){return x<07-x:X;}
、
template ClassT abs(T x){return x<07-X:x;}
、
template Tabs(T X){return x<07-x:X;}
、
template T abs(T x){return X<0?-X:x;}
答案:
20、【
单选题
】
有如下程序:
#include
using namespace std;
class Base{
int x:
public:
Base(int n=0):x(n){cout<<N;}
int getX()const{return x;}
};
cjass Derived:public Base{
int Y:.
J;;Iublic:
Derived(int m,int n):y(m),Base(n){cout<<M;}
Derived(int m):Y(m){cout<<M;}
};
int main()
{
Derived dl(3),d2(5,7);
retum 0;
}
执行这个程序的输出结果是( )。
[1分]
、
375
、
357
、
0375
、
0557
答案:
21、【
单选题
】
关于在调用模板函数时模板实参的使用,下列表述中正确的是( )。
[1分]
、
对于虚拟类型参数所对应的模板实参,如果能从模板函数的实参中获得相同的信息,则都可以省略
、
对于虚拟类型参数所对应的模板实参,如果它们是参数表中的最后的若干个参数,则都可以省略
、
对于虚拟类型参数所对应的模板实参,若能够省略则必须省略
、
对于常规参数所对应的模板实参,任何情况下都不能省略
答案:
22、【
单选题
】
有如下程序段:
int i=0,J=1;
int&r=i;//①
r=j;//②
int*P=&i;//⑧
*P=&r;//④
其中会产生编译错误的语句是( )。
[1分]
答案:
23、【
单选题
】
有如下程序:
#include
using namespace std;
class Obj{
static int i;
public:
Obj(){i++;}
一Obj(){i一一;}
static int getVal(){return i;}
};
int Obj::i=0:
void f(){Obj ob2;cout<<OB2.GETVAL();}
int main(){
Obj obl;
f();
Obj}ob3=new Obj;cout<getVal();
delete ob3;cout<
return 0;
}
执行这个程序的输出结果是( )。
[1分]
答案:
24、【
单选题
】
有如下类定义:
class MyBase{
int k;
public:
MyBase(int n=O):k(n)}}
int value()eonst{return k;}
};
class MyDerived:MyBase{
intj;
public:
MyDerived(int i):j(i)}}
int getK()const{return k;}
int getJ()const{return j;}
};
编译时发现有一处语法错误,对这个错误最准确的描述是( )。
[1分]
、
函数9etK试图访问基类的私有成员变量k
、
在类MyDerived的定义中,基类名MyBase前缺少关键字public、protected或private
、
类MyDerived缺少一个无参的构造函数
、
类MyDerived的构造函数没有对基类数据成员k进行初始化
答案:
25、【
单选题
】
下列关于虚基类的描述,错误的是( )。
[1分]
、
设置虚基类的目的是为了消除二义性
、
虚基类的构造函数在非虚基类之后调用
、
若同一层中包含多个虚基类,这些虚基类的构造函数按它们说明的次序调用
、
若虚基类由非虚基类派生而来,则仍然先调用基类构造函数,再调用派生类的构造函数
答案:
26、【
单选题
】
在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是( )。
[1分]
、
O(n)
、
O(n2)
、
O(1092n)
、
0(n1092n)
答案:
27、【
单选题
】
在软件开发中,需求分析阶段可以使用的工具是( )。
[1分]
、
N—s图
、
DFD图
、
PAD图
、
程序流程图
答案:
28、【
单选题
】
有如下类声明:
class Base{
protected:
int amount;
public:
Base(int n=0):amount(n){}
int getAmount()const{retum amount;}
};
class Derived:public Base{
protected:
int value;
public:
Derived(int m,int n):value(m),Base(n){}
int getData()const{return value+amount;}
}:
已知x是一个Derived对象,则下列表达式中正确的是( )。
[1分]
、
x.value+X.getAmount()
、
x.getData()一x.getAmount()
、
x.getData()一x.amount
、
x.value+X.amount
答案:
29、【
单选题
】
有三个关系R、S和T如下:
则由关系R和s得到关系T的操作是( )。
[1分]
答案:
30、【
单选题
】
下面描述中,不属于软件危机表现的是( )。
[1分]
、
软件过程不规范
、
软件开发生产率低
、
软件质量难以控制
、
软件成本不断提高
答案:
31、【
单选题
】
有如下程序:
#inClude using namespaCe std: Class CD{
publiC:
~CD(){Cout<<’C’:} private:
Char name[80]; };
int main(){
CD a,*b,d[2]; return 0;
执行这个程序的输出结果是( )。
[1分]
答案:
32、【
单选题
】
类的析构函数是在( )调用的。
[1分]
、
类创建时
、
创建对象时
、
删除对象时
、
不自动调用
答案:
33、【
单选题
】
下列关于多态性的描述,错误的是( )。
[1分]
、
c++语言中的多态性分为编译时的多态性和运行时的多态性
、
编译时的多态性可通过函数重载实现
、
运行时的多态性可通过模板和虚函数实现
、
实现运行时多态性的机制称为动态绑定
答案:
34、【
单选题
】
下列有关类成员的叙述中,正确的是( )。
[1分]
、
友元函数是类的成员函数
、
类成员的默认访问权限是私有的
、
类成员函数必须声明为公有的
、
类的静态数据成员不能是常成员
答案:
35、【
单选题
】
有如下程序:
#inClude
using namespaCe std; ClaSS A{
publiC:
A(int i){x=i;}
void dispa( ){Cout<<X<<’,’;}&NBSP;&NBSP;&NBSP;
int x; };
Class B:publiC A{ publiC:
B(int i):A(i+10){x=i;}
vold dispb( ){dispa( );Cout<<X<<ENDL;}&NBSP;&NBSP;&NBSP;
int x; };
int main( )} B b(2); b.dispb( );
return 0; }
执行这个程序的输出结果是( )。
[1分]
、
10,2
、
12,10
、
12,2
、
2,2
答案:
36、【
单选题
】
执行下列语句段后,输出字符“*”的个数是( )。
for(int i=50;i>1;i一=2) tout<<’*’:
[1分]
答案:
37、【
单选题
】
有如下类定义:
Class AA{ int a: PubliC: AA(int n=O):a(n){}
};
Class BB:publiC AA{ publiC:
BB(int n)
};
其中横线处的缺失部分是( )。
[1分]
、
:a(n){}
、
:AA(n){}
、
{a(n);}
、
{a=n;}
答案:
38、【
单选题
】
判断char型变量c是否为小写字母的正确表达式是( )。
[1分]
、
’a’<=c<=’z’
、
(c>=A.&&(c<=z)
、
(’a’>=C.||(’z’<=C.
、
(c>=’a’)&&(c<=,z,)
答案:
39、【
单选题
】
决定c++语言中函数的返回值类型的是( )。
[1分]
、
return语句中的表达式类型
、
调用该函数时系统随机产生的类型
、
调用该函数时的主调用函数类型
、
在定义该函数时所指定的数据类型
答案:
40、【
单选题
】
设int a=1,b=2;,则(a++)+b和a+++b这两个表达式的值分别为( )。
[1分]
答案: