计算机可视化编程复习题答案.docx
《计算机可视化编程复习题答案.docx》由会员分享,可在线阅读,更多相关《计算机可视化编程复习题答案.docx(8页珍藏版)》请在冰豆网上搜索。
![计算机可视化编程复习题答案.docx](https://file1.bdocx.com/fileroot1/2022-12/30/293311da-3898-41c0-b195-01f9a71f21ca/293311da-3898-41c0-b195-01f9a71f21ca1.gif)
计算机可视化编程复习题答案
计算机可视化编程复习题答案
计算机可视化编程复习题
一、填空
1VC++开发环境中,int占4字节,shortint占2字节longint占4字节。
2for循环:
for(i=1;i<5;i++),且在循环体中不会修改i的值,重复执行4次后结束。
3Windows下的对话框分为模态对话框和非模态对话框。
4数组赋值:
inta[2][3]={{1},{5}};则该数组的全部元素为:
a[3][4]=100
500
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已知:
intd=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使用VisualC++6.0可以创建扩展名为.cppC源程序文件;而双击工作区文件,就能打开该工作区及其包含的工程,其后缀是:
.dsw。
22每次只支持打开一个文档的应用程序称为SDI(单文档应用程序),MDI(多文档应用程序)用户一次可以打开多个文档,且支持各个字框架窗口以层叠、平铺等方式显示。
23如果在基类和派生类中都包含其他类的对象(即有对象成员),则在创建派生类的对象时,首先执行基类的对象成员的构造函数,接着执行基类的构造函数,然后执行派生类的对象成员的构造函数,最后才执行派生类的构造函数。
24类的对象不能访问类的保护数据成员(成员函数)。
(子类的对象不能访问其父类的保护数据成员(成员函数)。
)
二、选择(60*3)
1下列类中不属于MFC框架基本类的是(D)
A.CWinAppB.CFrameWndC.CViewD.CObject
2程序中要使用printf语句输出,必须在程序的开头添加下面语句(A)。
A.#include"stdio.h"B.#include"string.h"
C.#include"iostream.h"D.#include"stdlib.h"
3下面哪个说法是不正确的(D)。
A、API是指应用程序编程接口(ApplicationProgrammingInterface)
B、MFC是指微软基础类库(MicrosoftFoundationClass)
C、C++语言是一门高级编程语言,能支持面向对象编程
D、VC是一门编程语言,能开发Windows程序
4栈具有(B)的操作特性。
A.先进先出B.先进后出C.进出无序D.进出任意
5下列函数原型语句正确的是(B)。
A、intFunction(voida);B、voidFunction(int);
C、intFunction(a);D、voidenum(doublea,intb=1);
6资源描述文件中DIALOG定义的是(C)。
A.菜单B.弹出式菜单C.对话框资源D.加速键资源
7编写一个单文档序时,文档类可以从以下哪个基类派生(A)
A、CDocumentB、CViewC、CDialogD、CFrameWnd
8若有定义:
inta=100,*p=&a;则*p的值是(C)。
A.变量p的地址B.变量a的地址值C.变量a的值D.无意义
9选择正确的说明语句为(B)。
A.intN['b'];B.intN[4,9];C.intN[][];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、intnX;B、inti;C、intnMyWeight;DintnZ;
12用于定义一个结构体的关键字是(A)。
A、structB、classC、privateD、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,singledocumentinterface);
(2)多文档界面的应用程序(MDI,multipledocumentsinterface);
(3)基于对话框的应用程序(dialogbased)。
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,callbackfunctiom)
参数1,定时器号,
参数2,定时间隔,单位mS
参数3,回调函数名,通常NULL,这时执行默认回调函数OnTimer()
8简述什么是工程(Project)
答案:
工程(Project):
工程又称项目,是为达到某一目标所做的一系列工作的总称,是一种管理模式或组织形式。
在VC6中,工程用于管理应用程序的源程序(比如*.ccp和*.h)与资源文件(比如*.rc)。
工作区(Workspace)显示当前各工程(或项目)的类、资源和文件信息
9什么是编辑框控件?
它有哪些功能?
属于MFC的什么类?
答案:
编辑框(EditBox)是一个允许用户从键盘输入数据和编辑文本的矩形窗口。
可以方便地输入各种文本,数字或者口令,也可以用它编辑和修改文本的内容。
编辑框属于CEdit类的“窗口控件”,可以获得输入焦点。
四、编程
(一)程序读写(6*10)
1#include
classB{
public:
staticintnum;
};
intB:
:
num=100;
voidmain()
{Bb1,b2;
cout<b1.num+=25;
cout<}
程序的运行结果:
100
125
2#include
classA{
public:
virtualvoidfun()
{cout<<"I'mclassA"<};
classB:
publicA{
public:
voidfun()
{cout<<"I'mclassB"<};
classC:
publicB{
public:
voidfun()
{cout<<"I'mclassC"<};
voidmain(){
Aa,*pA=&a;
pA->fun();
Bb;pA=&b;
pA->fun();
Cc;a=c;
a.fun();
A&aRef=c;
aRef.fun();}
程序的运行结果:
I'mclassA
_I'mclassB
_I'mclassA
_I'mclassC
3voidmain()
{
inta[3][3]={{1,2},{3,4},{5,6}},sum=0;
for(inti=1;i<3;i++)
{
for(intj=0;j<=i;j++)
{
sum+=a[i][j];
}
}
printf("%dn",sum);
}
程序的运行结果:
18
4intfun(intx,inty)
{
return((y-x)*x);
}
voidmain()
{
inta=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”
classA1
{public:
A1(inti)
{cout<<”A1的构造函数!
”<};
classA2
{public:
A2(inti)
{cout<<”A2的构造函数!
”<};
classC:
publicA1,publicA2
{public:
C(inti,intj):
A2(j),A1(i)
{cout<<”C的构造函数!
”<};
voidmain()
{Cc(1,2);}
程序的运行结果:
_A1的构造函数_
_A2的构造函数
_C的构造函数