22.有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b。则不能把结点b连接到结点a之后的语句是( )
struct node
{ char data;
struct node *next;
} a,b,*p=&a,*q=&b;
A.a.next=q;
B.p.next=&b;
C.p->next=&b;
D.(*p).next=q;
【参考答案】B
23.以下都是C++语言标识符的是( )
A.dsfa,df4,f$
B.huhj,a^,k2
C.3k,h,j_9
D._ok,jk,k8
【参考答案】D
24.设以下变量均为int类型,则值不等于7的表达式是( )
A.(x=y=6,x+y,x+1)
B.(x=y=6,x+y,y+1)
C.(x=6,x+1,y=6,x+y)
D.(y=6,y+1,x=y,x+1)
【参考答案】C
25.while和do-while循环的主要区别是( )
A.do-while的循环体至少无条件执行一次
B.while的循环控制条件比do-while的循环控制条件更 严格
C.do-while允许从外部转到循环体内
D.do-while的循环体不能是复合语句
【参考答案】A
26.若二维数组a有m列,则计算任一元素a[i][j]在数组中相对位置的公式为(假设a[0][0]位于数组的第一个位置上)( )
A.i*m+j
B.j*m+i
C.i*m+j-1
D.i*m+j+1
【参考答案】A
27.下面叙述不正确的是( )
A.派生类一般都用公有派生
B.对基类成员的访问必须是无两义性的
C.赋值兼容则也适用于多重继承的组合
D.基类的公有成员在派生类中仍然是公有的
【参考答案】D
28.关于友元的概念错误的是( )
A.友元函数没有this指针
B.调用友元函数时必须在它的实参中给出要访问的对象
C.一个类的成员函数也可以作为另一个类的友元函数
D.只能在类的公有段声明友元
【参考答案】D
29.下面程序的结果是( )
#include
class test{ private:
int num;
public:
test();
int getint() {return num;}
~test();};
test::test()
{ num =0;}
test::~test()
{ cout<<″Destructor is active″<
void main()
{ test x[3];
cout<<″Exiting main″<
A.Exiting is actice
Destructor is active
Destructor is active
Destructor is active
B.Exiting main
Destructor is active
Destructor is active
C.Exiting main
Destructor is active
D.Exiting main
【参考答案】A
30.下列语句不能够用于打开C根目录下文件test.txt的语句是( )
A.ifstream fin;fin.open(″C:\\test.txt″);
B.ifstream fin(″C:\\test.txt″);
C.A和B
D.ifstream fin;fin(″C:\\test.txt″);
【参考答案】D
31.下列关于C++函数的描述中正确的是( )
A.主函数是程序的入口,它由用户定义的函数调用
B.函数在调用之前必须先被声明
C.每个用户定义的函数只能被其他函数调用一次
D.函数是C++中面向对象程序设计框架的基本组成单元
【参考答案】B
32.下列程序的运行结果为( )
#include
class Location {
protected:
int X,Y;
public:
void SetX(int myx) {X=myx;}
void SetY(int myy) {Y=myy;}
void showxy() {cout<<″X=″<
class Rectangle:public Location{
private:
int H,W;
public:
void SetH(int myh) {H=myh;}
void SetW(int myw) {W=myw;}
void show() {cout<<″X=″<
Y<<″ ″<<″H=″<
void main()
{ Rectangle r1;
r1.SetX(3);
r1.SetY(5);
r1.SetH(4);
r1.SetW(6);
r1.showxy();
r1.show();}
A.X=3 Y=5 X=3 Y=5 H=4 W=6
B.X=3 Y=5
X=3 Y=5 H=3 W=6
C.X=3 Y=5
D.X=3 Y=5X=3 Y=4 H=4 W=6
X=3 Y=3 H=4 W=6
【参考答案】A
33.有以下程序
#include
void main()
{ int a=5,b=0,c=0;
if(a=b+c)cout<<″***″<
else cout<<″$$$″<
下列选项叙述正确的是( )
A.有语法错不能通过编译
B.可以通过编译但不能通过连接
C.输出***
D.输出$$$
【参考答案】D
34.以下程序中循环体总的执行次数是( )
int i,j;
for(i=6;i>1;i--)
for(j=0;j
{……}
A.20
B.261
C.15
D.25
【参考答案】A
35.下列程序的输出结果是( )
#include
void main()
{ int a[3],i,j,k=2;
for(i=0;i<3;i++)a[i]=i;
for(i=0;i
for(j=0;j
a[j]=a[i];
cout<
A.2
B.3
C.1
D.0
【参考答案】A
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |