计算机可视化编程复习题答案

计算机可视化编程复习题答案
计算机可视化编程复习题答案

计算机可视化编程复习题

一、填空

1VC++开发环境中,int占4 字节,short int占2 字节 long int占4 字节。

2for循环:for(i=1;i<5;i++),且在循环体中不会修改i的值,重复执行4次后结束。3Windows下的对话框分为模态对话框和非模态对话框。

4数组赋值:int a[2][3]={{1},{5}};则该数组的全部元素为:a[3][4]= 1 0 0

5 0 0

5类的成员分为两大类,数据成员和成员函数(函数成员)。

6插入的对话框中,系统会自动添加两个按钮,其中OK按钮的ID为ID_OK。

7在VC++ 6.0环境下调试运行时,在当前光标所在的行下断点,如果当前行已经有断点,则取消断点按F9 ,按F5 开始调试运行,程序执行到有断点的地方停止。

8常用Windows控件类型有:静态控件、编辑框、按钮、列表框、组合框和滚动条。9列表框分两种,单选列表框任一时刻只能选择一项,复选列表框则可以选取多项。10在Windows操作系统中预定义了几种光标,IDC-ARROW表示箭头光标。

11在C++程序中包含一个头文件或程序文件的预编译命令为___#include___。

12程序中的预处理命令是指以__#_字符开头的命令,一条表达式语句必须以分号作为结束符,行尾使用注释的开始标记符为__//__。

13用于输出表达式值的标准输出流对象是__cout__,用于从键盘上为变量输入值的标准输入流对象是_cin__。

14已知:int d=5, *pd=&d, b=3,则++(*pd)= 6 ;*pd++= 5 。

15三种流程控制结构分别是:顺序结构、分支结构、循环结构。

16程序中使用的数据分为常量和变量两种形式。

17C++中常用的数据类型有:bool(布尔型)、char(字符型)、int(整型)、float(浮点型)、double(双精度浮点型)。除bool(布尔型)外,这些数据类型可分为两大类:整型与浮点型。

18在字体句柄被创建后,应用程序通过调用函数SetTextColor(),设置字体颜色,通过调用函数SetBkColor()设置背景颜色。

19所有的数据类型基本都可以定义为指针类型,指针的定义是:在声明变量时在变量名前加*,那么,定义一个指向整型数的指针变量nNhao的形式为int *nNhao;而& 是指针的取地址运算符。

20在MFC应用程序中可以有多个工具栏,但只可以有一个状态栏。

21使用Visual C++6.0可以创建扩展名为.cpp C源程序文件;而双击工作区文件,就能打开该工作区及其包含的工程,其后缀是:.dsw 。

22每次只支持打开一个文档的应用程序称为SDI(单文档应用程序) ,MDI(多文档应用程序)用户一次可以打开多个文档,且支持各个字框架窗口以层叠、平铺等方式显示。

23如果在基类和派生类中都包含其他类的对象(即有对象成员),则在创建派生类的对象时,首先执行基类的对象成员的构造函数,接着执行基类的构造函数,然后执行派生类的对象成员的构造函数,最后才执行派生类的构造函数。

24类的对象不能访问类的保护数据成员(成员函数)。(子类的对象不能访问其父类的保护

数据成员(成员函数)。)

二、选择(60*3)

1下列类中不属于MFC框架基本类的是( D )

A. CWinApp

B. CFrameWnd

C. CView

D. CObject

2程序中要使用printf语句输出,必须在程序的开头添加下面语句( A )。

A.#include"stdio.h" B.#include"string.h"

C.#include"iostream.h" D.#include"stdlib.h"

3下面哪个说法是不正确的( D )。

A、API是指应用程序编程接口(Application Programming Interface)

B、MFC是指微软基础类库(Microsoft Foundation Class)

C、C++语言是一门高级编程语言,能支持面向对象编程

D、VC是一门编程语言,能开发Windows程序

4栈具有( B )的操作特性。

A.先进先出

B.先进后出

C.进出无序

D.进出任意

5下列函数原型语句正确的是( B )。

A、int Function(void a);

B、void Function (int);

C、int Function(a);

D、void enum(double a,int b=1);

6资源描述文件中DIALOG定义的是( C )。

A. 菜单

B. 弹出式菜单

C. 对话框资源

D. 加速键资源

7编写一个单文档序时,文档类可以从以下哪个基类派生( A )

A、CDocument

B、CView

C、 CDialog

D、CFrameWnd

8若有定义:int a=100,*p=&a;则*p的值是( C )。

A.变量p的地址 B.变量a的地址值 C.变量a的值 D.无意义

9选择正确的说明语句为( B )。

A. int N['b'];

B. int N[4,9];

C. int N[][];

D. int *N[10]; 10设x、y、z均为已声明的整型变量,以下运算表达式,错误的是( B )。

A、x += y;

B、 x = (z > y)

C、x + y = z;

D、x = (z + y);

11以下变量定义,不符合“匈牙利表示法则”的是( B )

A、int nX;

B、int i;

C、int nMyWeight; D int nZ;

12用于定义一个结构体的关键字是( A )。

A、struct

B、class

C、 private

D、extern

13printf()函数是格式输出函数,请求printf()打印变量的指令取决于变量的类型.如%d 表示输出字符的类型是( A )。

A.十进制有符号整数

B.十进制无符号整数

C.浮点数

D.字符串

14VC中的输出函数printf,常会出现一些特殊规定字符,其中“\n”表示( B )。

A.回车

B.换行

C.清屏并换页

D.Tab符

15下列不属于面向对象程序设计的3大机制的是( C )

A.多态

B.封装

C.重载

D.继承

16关于对象,下列说法中不正确的是( C )

A.对象是类的一个实例

B.任何一个对象只能属于一个类

C.一个类只能有一个对象

D.类与对象的关系和数据类型与变量间的关系类似

三、简答(18*6)

1MFC的AppWizard(exe)提供了哪几种类型的应用程序?

答案: (1)单文档界面的应用程序(SDI,single document interface);

(2)多文档界面的应用程序(MDI,multiple documents interface);

(3)基于对话框的应用程序(dialog based)。

2MFC编程中,通过建立类向导中的操作可以将窗口控件和对应变量绑定,但是代码操作的是变量,当程序代码中操作变量改变,如果想在控件上表示出来,哪个函数可以实现这种同步要求,并说明该函数作用?

答案:UpdateData();

当调用UpdateData(TRUE)时,(MFC通过调用DDX函数)将数据从控件传递到关联的成员变量;

当调用UpdateData(FALSE)时,(MFC通过调用DDX函数)将数据从成员变量传递到关联的的控件。

3类与结构体有什么区别?

答案:类中可以包含两类成员――数据成员和成员函数;而标准C语言中的结构体只能包含数据成员;但是C++中的结构体对C语言中的结构体有扩展,C++中的结构体也可以两类成员――数据成员和成员函数;因此C++中的类和C++中的结构体出来在定义方式上不一样之外(class,struct ),还有就是它们的缺省封装字是不一样的,一个是private,一个是public。

4sprintf函数的有哪些应用?

答案:①printf最常见的应用是吧整数打印到字符串中。

②浮点数的打印和格式控制。

③printf打印字符或是BYTE型数据。

④printf连接字符串。

5在VC++6.0中,如果想要改变按钮上显示的名称,应该如何操作?

答案:①在资源编辑器中,选择该按钮;

②在右键菜单中选择属性(Properties),改变属性框的标题(Caption)字段的值

6简述类与对象的区别。

答案:①类是抽象的,对象是具体的;

②类是类型,对象是变量;

③类是模型,对象是实例。

7SetTimer()函数的作用是什么?有哪些形式参数,有什么含义?

答案:SetTimer()函数用于起动定时器,定义为SetTimer(int ,int ,callback functiom) 参数1,定时器号,

参数2,定时间隔,单位mS

参数3,回调函数名,通常NULL,这时执行默认回调函数OnTimer()

8简述什么是工程(Project)

答案:工程(Project): 工程又称项目,是为达到某一目标所做的一系列工作的总称,是一种管理模式或组织形式。在VC6中,工程用于管理应用程序的源程序(比如*.ccp和

*.h)与资源文件(比如*.rc)。工作区(Workspace)显示当前各工程(或项目)的类、资源和文件信息

9什么是编辑框控件?它有哪些功能?属于MFC的什么类?

答案:编辑框(Edit Box)是一个允许用户从键盘输入数据和编辑文本的矩形窗口。

可以方便地输入各种文本,数字或者口令,也可以用它编辑和修改文本的容。

编辑框属于CEdit类的“窗口控件”,可以获得输入焦点。

四、编程

(一)程序读写(6*10)

1#include

class B{

public:

static int num;

};

int B:: num=100;

void main()

{ B b1, b2;

cout <

b1.num+=25;

cout<

}

程序的运行结果:100

125

2#include

class A{

public:

virtual void fun()

{cout<<"I'm class A"<

};

class B: public A{

public:

void fun()

{cout<<"I'm class B"<

};

class C: public B{

public:

void fun()

{cout<<"I'm class C"<

};

void main(){

A a,*pA=&a;

pA->fun();

B b; pA=&b;

pA->fun();

C c; a=c;

a.fun();

A&aRef=c;

aRef.fun(); }

程序的运行结果:I'm class A

_I'm class B

_I'm class A

_I'm class C

3void main()

{

int a[3][3]={{1,2},{3,4},{5,6}},sum=0;

for(int i=1;i<3;i++)

{

for(int j=0;j<=i;j++)

{

sum+=a[i][j];

}

}

printf("%dn",sum);

}

程序的运行结果:18

4int fun(int x,int y)

{

return ((y-x)*x);

}

void main()

{

int a=2,b=3,c=5,d;

d = fun(fun(a,b),fun(a,c));

printf("%dn",d);

}

程序的运行结果: 8;其中fun(a,b)= 2 ;fun(a,c)= 6。5#include “iostream.h”

class A1

{ public:

A1(int i)

{ cout<<”A1的构造函数!”<

};

class A2

{ public:

A2(int i)

{ cout<<”A2的构造函数!”<

class C: public A1,public A2

{ public:

C(int i,int j):A2(j),A1(i)

{ cout<<”C的构造函数!”<

void main()

{ C c(1,2); }

程序的运行结果:_A1的构造函数_

_A2的构造函数

_C的构造函数

相关主题
相关文档
最新文档