Visual C++程序设计教程试题二及答案.docx

上传人:b****5 文档编号:3025758 上传时间:2022-11-17 格式:DOCX 页数:13 大小:19.38KB
下载 相关 举报
Visual C++程序设计教程试题二及答案.docx_第1页
第1页 / 共13页
Visual C++程序设计教程试题二及答案.docx_第2页
第2页 / 共13页
Visual C++程序设计教程试题二及答案.docx_第3页
第3页 / 共13页
Visual C++程序设计教程试题二及答案.docx_第4页
第4页 / 共13页
Visual C++程序设计教程试题二及答案.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

Visual C++程序设计教程试题二及答案.docx

《Visual C++程序设计教程试题二及答案.docx》由会员分享,可在线阅读,更多相关《Visual C++程序设计教程试题二及答案.docx(13页珍藏版)》请在冰豆网上搜索。

Visual C++程序设计教程试题二及答案.docx

VisualC++程序设计教程试题二及答案

VisualC++程序设计教程试题二及答案

一、选择题(共20分,每题1分)

1.在下列关键字中,用于说明类的公有成员的是_____

A.privateB.publicC.protectedD.friend

2.数据交换函数UpdateData(TRUE)实现了______

A.控件中的数据缓存到视图变量中B.视图变量显示在控件上

C.控件的数据缓存到文档数据中D.文档数据显示在控件上

3.下列各类函数中,______不是类的成员函数

A.构造函数B.析构函数C.友元函数D.拷贝初始化构造函数

4.作用域运算符的功能是_____

A.标识作用域的级别B.指出作用域的范围

C.给出作用域的大小D.标识某个成员是属于那个类的。

5.关于纯虚函数和抽象类的描述中,_____是错误的

A.纯虚函数是一种特殊的虚函数,它没有具体的实现

B.抽象类是指具有纯虚函数的类

C.一个基类中说明有纯虚函数,该基类的派生类一定不是抽象类

D.抽象类只能做为基类使用,其纯虚函数的实现由派生类给出。

6.成员函数GetDocument()的作用是_______

A.获取视图类指针B.获取文档类指针

C.获取框架窗口指针D.获取对话框指针

7.下述静态数据成员的特征中,_____是错误的。

A.静态数据成员不是所有该类对象所共用的

B.静态数据成员要在类外初始化

C.说明静态数据成员时要加修饰符static

D.引用静态数据成员时,要加类名及作用域符。

8.DoModal()成员函数的作用是________

A.调用非模态对话框B.调用模态对话框

C.调用About对话框D.调用任何一个窗口

9.集合类CArray实现了________

A.用户数据的链式存储B.用户数据按静态数组存储

C.用户数据按动态数组存储D.用户数据按哈希结构键值对存储

10.响应UpdateAllViews()消息的成员函数OnUpdate应放置在

A.应用类中B.主框架类中C.视图类中D.文档类中

11.视图类中OnDraw()成员函数的作用______

A.刷新视图界面B.存储界面数据

C.刷新文档数据D.存储文档数据

12.在视图类成员函数中获取绘图环境指针 CDC*pDC=GetDC()是_____

A.绘制图形的首要条件B.绘制图形的具体实现过程

C.绘制图形的最后步骤D.该步骤在绘制图形中是无关紧要的.

13.ODBC的作用是________

A.为数据连接提供驱动程序并指定数据源名B.为数据连接提供驱动程序

C.为数据连接指定数据源名D.为数据连接提供动态记录集

14.记录集类CRecordSet对象是________

A.数据表查询结果在内存的映象B.数据库在内存的映象

C.数据表查询结果在类中的体现D.数据库在类中的体现

15.消息映射宏提供了_______

A.响应消息的入口B.响应消息的出口

C.响应消息的参数D.传递消息

16.______不是构造函数的特征

A.构造函数的重载B.构造函数设置缺省参数

C.构造函数名与类同名D.构造函数必须指定类型说明

17._____是析构函数的特征

A.析构函数可有一个或多个参数B.一个类中只能定义一个析构函数

C.析构函数的定义只能在类体内D.析构函数名与类名不必相同。

18.通常的拷贝初始化构造函数的参数是_____

A.某个对象名B.某个对象成员名

C.某个对象的引用名D.某个对象的指针名

19.关于成员函数特征的下述描述中,_____是错误的。

A.成员函数一定是内联函数B.成员函数可重载

C.成员函数可设置缺省参数D.成员函数可是静态的。

20.友元的作用_____

A.提高程序的运行效率B.加强类的封装性

C.实现数据的隐藏性D.增强成员函数的种类

二、阅读程序选择正确结果(共24分,每题6分)

1.#include

classCount

{

private:

staticintcount;

public:

Count(){count++;}

~Count(){count--;}

staticintHM()

{returncount;

}

};

intCount:

:

count=100;

voidmain()

{

Coutnc1,c2,c3,c4;

cout<

:

HM()<

}

2.#include

classA

{

private:

doubleTotal,Rate;

public:

A(doublet,doubler)

{Total=t;Rate=r;}

frienddoubleCount(A&a)

{

a.Total+=a.Rate*a.Total;

returna.Total;

}

};

voidmain()

{

Aa1(1000.0,0.035),a2(768.0,0.028);

cout<

}

3.#include

classSet

{

private:

intelements[100];

intPC;

public:

Set()

{

PC=0;

}

Set(Set&s)

{

PC=s.PC;

for(inti=0;i

elements[i]=s.elements[i];

}

voidEmpty()

{PC=0;}

intIsEmpty()

{

returnPC==0;

}

intIsMemberOf(intn)

{

for(inti=0;i

if(elements[i]==n)

return1;

return0;

}

intAdd(intn)

{

if(IsMemberOf(n))

return1;

elseif(PC>=100)

return0;

else

{

elements[PC++]=n;

return1;

}

}

voidprint(void)

{

cout<<"{";

for(inti=0;i

cout<

if(PC>0)

cout<

cout<<"}"<

}

friendvoidreverse(Set*m)

{

intn=m->PC/2;

for(inti=0;i

{

inttemp;

temp=m->elements[i];

m->elements[i]=m->elements[m->PC-i-1];

m->elements[m->PC-i-1]=temp;

}

}

};

voidmain()

{

SetA;

cout<

A.print();

SetB;

for(inti=1;i<=8;i++)

B.Add(i);

B.print();

cout<

B.Empty();

for(intj=11;j<20;j++)

B.Add(j);

SetC(B);

C.print();

reverse(&C);

C.print();

}

4.

#include

classA

{

private:

inta,b;

public:

voidSet(inti,intj)

{

a=i;

b=j;

}

A()

{

a=b=0;

}

A(inti,intj)

{

a=i;b=j;

cout<<"Constructor:

a="<

}

};

voidmain()

{

cout<<"Starting1....\n";

Aa[3];

for(inti=0;i<3;i++)

a[i].Set(2*i+1,(i+1)*2);

cout<<"End1....\n";

cout<<"Starting2....\n";

Ab[3]={A(1,2),A(3,4),A(5,6)};

cout<<"Ending2...\n";

}

 

三、填空完善程序(共32分,每空4分)

1.Fibonacci函数满足下列递归关系:

f

(1)=0f

(2)=1f(n)=f(n-1)+f(n-2)(n>2)

以上述递归定义为基础,编写计算Fibonacci数列第n项值的函数。

#include

_______

(1)

voidmain(void)

{

intiNum;

cout<<"PLeaseEnteraIntegerNumber:

"<

cin>>iNum;

longresult=______

(2)

cout<<"Result="<

}

longFib(intNumber)

{

if(Number________)(3)

return0;

elseif(Number==2)

return1;

else

returnFib(Number-1)+Fib(___________);(4)

}

2.用冒泡法对10个整数升序排序并输出

#include

voidmain(void)

{

inti,j,temp,*pt;

int*Pn=_______int[10];(5)

for(i=1;i<=10;i++)

{

cout<<"PleaseenteraNumber:

"<

cin>>*(_________);(6)

}

for(i=1;i<=10;i++)

for(j=1;j<=10-i;j++)

if(*(_________)>*(Pn+j+1))(7)

{

temp=*(Pn+j);

*(Pn+j)=*(Pn+j+1);

*(Pn+j+1)=_________;(8)

}

for(i=1;i<=10;i++)

cout<<*(Pn+i)<<"";

}

四、编程题(共24

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1