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

上传人:b****3 文档编号:5030804 上传时间:2023-05-07 格式:DOCX 页数:13 大小:17.74KB
下载 相关 举报
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_第6页
第6页 / 共13页
Visual C++程序设计教程试题三及答案.docx_第7页
第7页 / 共13页
Visual C++程序设计教程试题三及答案.docx_第8页
第8页 / 共13页
Visual C++程序设计教程试题三及答案.docx_第9页
第9页 / 共13页
Visual C++程序设计教程试题三及答案.docx_第10页
第10页 / 共13页
Visual C++程序设计教程试题三及答案.docx_第11页
第11页 / 共13页
Visual C++程序设计教程试题三及答案.docx_第12页
第12页 / 共13页
Visual C++程序设计教程试题三及答案.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

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

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

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

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

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

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

1.已知一个类A,_____是指向类A成员函数的指针,设类有三个公有成员,voidf1(int),voidf2(int)和inta。

A.A*pB.intA:

:

*pc=&A:

:

aC.voidA:

:

*paD.A*pp

2.VC++编程环境中的"Appwizard"是________

A.Win32应用程序向导B.Windows向导C.控件向导D.类向导

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

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

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

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

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

4.已知p是个指向类A公有成员m的指针,A1是类A的对象。

如果要给m赋值为5,_____是正确的。

A.A1.p=5B.A1->p=5C.A1.*p=5D.*A1.p=5

5.已知类A中的一个成员函数声明如下:

voidset(A&a);其中参数含义为:

A.指向类A的指针为a

B.将a的地址赋值给变量set

C.a是类A的对象引用,用于函数set()形参

D.变量A与a按位与做为函数set()的形参

6.下列关于对象数组的描述中,_____是错误的。

A.对象数组的下标从0开始B.对象数组的数组名是个常量指针

C.对象数组的每个元素是同类的对象D.对象数组只能赋初值,不能被赋值。

7.下列定义中,_____是定义指向数组的指针p。

A.int*p[5]B.int(*p)[5]

C.(int*)p[5]D.int*p[];

8.下列说明中:

constchar*ptr;ptr是_____:

A.指向字符常量的指针B.指向字符的常量指针

C.指向字符串常量的指针D.指向字符串的常量指针

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

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

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

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

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

10.关于new运算符的下列描述中,____是错误的。

A.它可用来创建对象和对象数组;

B.使用它创建的对象及对象数组可用delete删除

C.使用它创建对象时要调用构造函数

D.使用它创建对象数组时必须指定初始值。

11.VC++编程环境中的"ClassWizard"表示______

A.Win32应用程序向导B.Windows向导C.控件向导D.类向导

12.使用VC++编程环境中的"资源浏览窗口"可浏览VC++程序中的_______

A.菜单B.全局变量C.头文件D.文档视图类

13.使用类向导可实现_______

A.添加对话框B.添加菜单C.添加按钮D.添加消息成员函数

14.VC++中的成员函数________

A.声明在头文件实现在.cpp文件中B.声明在.cpp文件实现在头文件中

C.声明和定义都在.cpp文件中D.声明和实现都在头文件中

15.控件ID标识符表示________

A.控件在代码中的符号化表示B.控件的惟一属性

C.控件的界面标识D.控件的标题

16.控件的标题_______

A.控件在代码中符号化表示B.控件的惟一属性

C.控件的界面标识D.控件在内存中的表示

17.序列化成员函数Serialize(CArchive&)实现了__________

A.文档数据的输入B.视图数据的输入

C.文档视图数据的输入/输出D.文档数据与文件数据的交互

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

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

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

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

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

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

20.关于虚函数的描述中,____是正确的

A.虚函数可是一个static类型的成员函数

B.虚函数是一个非成员函数

C.基类中说明了虚函数后,派生类中将其对应的函数可不必说明为虚函数

D.派生类的虚函数与基类的虚函数具有不同的参数个数和类型

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

1.

#include

classB

{

private:

intx,y;

public:

B()

{x=y=0;

}

B(inti)

{

x=i;y=0;

}

B(inti,intj)

{

x=i;y=j;

}

~B()

{}

voidprint(void)

{

cout<<"x="<

}

};

voidmain()

{

B*ptr;

ptr=newB[3];

ptr[0]=B();

ptr[1]=B(5);

ptr[2]=B(2,3);

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

ptr[i].print();

delete[]ptr;

}

2.

#include

classA

{

private:

intm;

public:

A(inti=0)

{

m=i;

cout<<"constructorcalled."<

}

voidSet(inti)

{

m=i;

}

voidprint()const

{

cout<

}

~A()

{

cout<<"destructorcalled."<

}

};

voidmain()

{

constN=5;

Amy;

my=N;

my.print();

}

3.

#include

classA

{

private:

intm;

public:

A(inti=0)

{

m=i;

cout<<"constructorcalled."<

}

voidSet(inti)

{

m=i;

}

voidprint()const

{

cout<

}

~A()

{

cout<<"destructorcalled."<

}

};

voidfun(constA&c)

{

c.print();

}

voidmain()

{

fun(5);

}

4.

#include

classcomplex

{

private:

doublereal;

doubleimag;

public:

complex()

{

set(0.0,0.0);

cout<<"Defaultconstructorcalled."<

}

complex(doubler)

{

set(r,0.0);

cout<<"Constructor:

real="<

}

complex(doubler,doublei)

{

set(r,i);

cout<<"Constructor:

real="<

}

voidprint(void)

{

if(imag<0)

cout<

else

cout<

}

voidset(doubler,doublei)

{

real=r;

imag=i;

}

};

voidmain()

{

complexc1;

complexc2(6.8);

complexc3(5.6,7.9);

c1.print();

c2.print();

c3.print();

cout<<"---------------------"<

c1=complex(1.2,3.4);

c2=5;

c3=complex();

c1.print();

c2.print();

c3.print();

}

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

1.输入5个字符串,按英文字典排序输出。

#include

#include

constintSIZE=64;

voidmain(void)

{

charsz[5][SIZE],__________   

(1)

char(*psz)[SIZE];

psz=__________;

(2)

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

{

cout<<"pleaseenterastring:

"<

cin>>sz[i];

}

for(i=0;i<4;i++)

for(intj=i+1;j<5;j++)

if(___________(psz[i],psz[j])>0)(3)

{

strcpy(temp,psz[i]);

strcpy(psz[i],psz[j]);

strcpy(psz[j],temp);

}

for(i=0;i<5;i++)

{

cout<<______________<

}

}

2.分别使用指针数组和二级指针输入、输出一个二维整型数组。

#include

constintSIZE=5;

voidmain(void)

{

intsz[][SIZE]={1,3,5,2,4,6,1,3,5,2,4,6,8,7,9};

int*psz[]={____________};(5)

int**p;

_________=psz;(6)

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

{

for(intj=0;j

cout<<*(___________)<<"";(7)

cout<

}

cout<

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

{

for(intj=0;j

cout<<*(*(_______)+j)<<"";(8)

cout<

}

}

四、编程题(共24分)

1.创建基于MFC的多文档应用程序。

2.实现文本键盘输入,复制及粘贴。

3.实现文本存盘。

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

1

2

3

4

5

6

7

8

9

10

B

A

D

C

C

D

B

D

A

D

11

12

13

14

15

16

17

18

19

20

A

D

D

A

A

C

D

A

B

C

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

1.

x=0,y=0

x=5,y=0

x=2,y=3

2.

constructorcalled.0

constructorcalled.5

destructorcalled.5

5

destructorcalled.5

3.

constructorcalled.5

5

destructorcalled.5

4.

Defaultconstructorcalled.

Constructor:

real=6.8,imag=0

Constructor:

real=5.6,imag=7.9

0+0i

6.8+0i

5.6+7.9i

---------------------

Constructor:

real=1.2,imag=3.4

Constructor:

real=5,imag=0

Defaultconstructorcalled.

1.2+3.4i

5+0i

0+0i

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

(1)temp[SIZE];

(2)sz

(3)strcmp

(4)sz[i]

(5)sz[0],sz[1],sz[2]

(6)p

(7)psz[i]+j

(8)p+i

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

当前位置:首页 > 人文社科 > 设计艺术

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2