2007VC++试卷答案A.doc_第1页
2007VC++试卷答案A.doc_第2页
2007VC++试卷答案A.doc_第3页
2007VC++试卷答案A.doc_第4页
2007VC++试卷答案A.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

武汉大学20072008学年上学期面向对象的程序设计答案(A)学号: 姓名: 院系: 专业: 得分一、填空(每题2分,共10分)1、从结构化程序设计的观点考虑,任何算法功能都可以通过 顺序 ,分支 和 循环 3种流程控制结构来实现。 2、当利用MFC AppWizardexe创建一个项目时,它能自动生成一个MFC 应用程序框架。3、一个视图只能拥有 一个文档,但一个文档可以拥有 多个视图 。4、Windows是一个基于事件的消息驱动系统,Windows应用程序是按照事件消息处理 非顺序的机制运行。5、对话框是Windows应用程序中一种常用的资源,其主要功能是输出信息和接收用户的输入数据 。二、分析程序并改错(每题10分,共20分)1 下列程序能找出一维数组中的最大值,及其下标。main()int x10, *p1, *p2;for(int k=0; k10; +k) scanf(“%d”, x+k);for(p1 = x, p2 = x; p1-x*p2) p2 = p1;printf(“max=%d, index=%dn”,*p2,p2-x);2 struct worker long int num; char name20;char sex;int age;Worker worker1;Worker1.num=187045;W = new char256;strcpy(, “ZhangFun”);worker1.sex=M;worker1.age=18;三 写出下列程序运行后的输出结果(每题10分,共20分) 1 #include class Time private: int hour, minute, second;public:void setTime(int h, int m, int s)hour=(h=0&h=0&m=0&s60)?s:0; void showTime()couthour:minute :secondendl; ;void main()Time t1;t1.setTime(14,52,66);cout”The time is :”;14:52:02 #includeclass Boxpublic: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;int main()Box a(15,20),b(20,30);couta.heightendl;coutb.heightendl;coutBox:heightendl;couta.volume()endl;10,10,10,3000四简答题(每题10分,共20分)1、简述MFC的消息映射机制。包括一组消息映射宏,一条消息映射宏把一个Windows消息和其消息处理函数联结起来。采用消息宏处理消息时,要将所有的消息映射进行集中说明,在类的实现源文件中用BEGIN_MESSAGE_MAP()和END_MESSAGE_MAP()宏来定义消息映射。为了使用消息映射宏,还需要在类定义的结尾用DECLARE_MESSAGE_MAP()宏来声明使用消息映射,该宏对类实现文件中所定义的消息映射进行初始化。2、什么是对象,什么是类,简述对象与类之间的关系。 对象是包含现实世界中事物特征的抽象实体。类是具有相同数据结构(属性)和相同操作功能(行为)的对象的集合,它规定了这些对象的公共属性和行为方法。对象是类的一个实例。五 编程 (每题15分,共30分)1 写一个程序,定义抽象基类Shape,由它派生出3个派生类:circle(圆形)、square(正方形)和Rectangle(矩形)。用虚函数分别计算几种图形面积,并求它们的和。#includeclass Shapepublic:virtual double area()return 0;/定义Circle(圆形类)class Circle:public Shapepublic:circle(double r)radius=r;virtual double area()return 3.14*radius*radius;protected:double radius;/定义Square(正方形)类class Square:public Shapepublic:Square(double s)side=s;virtual double area()return side*side;protected:double side;/定义Rectangle(矩形)类class Rectangle:public Shapepublic:Rectangle(double w, double h)width=w;height=h;virtual double area()return width*height;protected:double width,height;int main()Circle circle(12.6);Squre square(3.5);Rectangle(4.5,8.4);double areas=0;areas=circle. area()+ square.area()+rectangle.area();2 定义一个结构体变量(包括年、月、日),编程序,要求输入年、月、日,程序能计算并输出该日在本年中是第几天。注意闰年问题。#includeStructint year;int month;int day;date;int main()int days;coutdate.yeardate.monthdate.day;switch(date.month)case 1: days=date.day; break;case 2: days=date.day+31; break;case 3: days=date.day+59; break;case 4: days=date.day+90; break;case 5: days=date.day+120; break;case 6: days=date.day+151; break;case 7: days=date.day+181; break;case 8: days=date.day+212; break;case 9: days=date.day+243; break;case 10: days=date.day+273; break;case 11: days=date.day+304; break;case 12: days=date.day+334; brea

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论