VC++程序设计习题.doc(63.5KB).doc

VC++程序设计习题.doc(63.5KB).doc

习题一 一、填空(每题2分,共10分) 1、从结构化程序设计的观点考虑,任何算法功能都可以通过 , 和 3种流程控制结构来实现。 2、当利用MFC AppWizard[exe]创建一个项目时,它能自动生成一个MFC 。 3、一个视图只能拥有 ,但一个文档可以拥有 。 4、Windows是一个基于事件的消息驱动系统,Windows应用程序是按照 非顺序的机制运行。 5、对话框是Windows应用程序中一种常用的资源,其主要功能是 。 二、改错题(每题10分,共20分) 1、下列程序能找出一维数组中的最大值,及其下标 main() { int x[10], *p1, *p2; for(int k=0; k10; ++k) scanf(“%d”, x+k); for(p1=x, p2=x; p1-x10; ++p1) { if(*p1*p2) p2 = p1; } printf(“max=%d, index=%d\n”,p1,k ); } 2、下列程序能为结构赋值 struct worker { long int num; char* name; char sex; int age; }; worker.num=187045; strcpy(worker.name, “ZhangFun”); worker.sex=‘M’; worker.age=18; 三、 写出下列程序运行后的输出结果(每题10分,共20分) 1、 #includeiostream.h class Time{ private: int hour, minute, second; public: void setTime(int h, int m, int s) { hour=(h=0h24)? h:0; minute=(m=0m60)?m:0; second=(s=0s60)?s:0; } void showTime(){couthour‘:’minute ‘:’secondendl;}; }; void main() { Time t1; t1.setTime(14,52,66); cout”The time is :”; } 2、 #includeiostream.h class Box { public: Box(int,int); int volume(); static int height; int width; int length; }; Box::Box(int w,int len) { width =w; length=len; } int Box::volume() { return (height*width*length); } int Box::height=10; void main() { Box a(15,20),b(20,30); couta.heightendl; coutb.heightendl; coutBox::heightendl; couta.volume()endl; } 四、 简答题(每题10分,共20分) 1、简述MFC的消息映射机制。 2、什么是对象,什么是类,简述对象与类之间的关系。 五、 编程 (每题15分,共30分) 1、 写一个程序,定义抽象基类Shape,由它派生出3个派生类:circle(圆形)、square(正方形)和Rectangle(矩形)。用虚函数分别计算几种图形面积,并求它们的和。 2、 定义一个类(包括年、月、日),编程序,要求输入年、月、日,程序能计算并输出该日在本年中是第几天。注意闰年问题。 习题二 一、填空(每题2分,共10分) 1、C++中的数据结构主要可分为 , 和 三类。 2、面向对象程序设计方法具有4个基本特征 、 、 和 。 3、ClassWizard类向导主要用来定制现有的类和建立新的类,如把 ,把一个控件与类的成员变量对应起来。 4、更新与文档数据有关的所有视图的方法是调用成员函数 。 5、Windows消息分为3种类型 , 和 。 二、分析程序并改错(每题10分,共20分) 1、 输入两个整数a和b,按先小后大的顺序输出结果。 void swap(int* p1, int* p2) { int p

文档评论(0)

1亿VIP精品文档

相关文档