您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 《可视化程序设计-Visual-C++-》试卷(二)
《VC++程序设计》试卷2一、单项选择题(每小题1分,共20分)1、假定AB为一个类,则执行“”ABa(4),b(3),*p[2];”语句时,自动调用该类构造函数的次数为()A、2B、3C、4D、52、对于结构中定义的成员,其隐含访问权限为()A、protectedB、privateC、publicD、static3、在面向对象编程中,对象的抽象集合称为()。A、对象B、集合C、类D、实例4、下面说法正确的是()A、构造函数可以重载,析构函数不能重载。B、构造函数不能重载,析构函数可以重载。C、构造函数可以重载,析构函数也可以重载。D、构造函数和析构函数都不可以重载。5、实现运行时的多态性,必须通过()来完成。A、虚函数B、重载函数C、构造函数D、析构函数6、类CNum的缺省构造函数和析构函数是()A、CNum()和~CNum()B、CNum(int)和~CNum()C、CNum()和~CNum(delete)D、CNum()和int~CNum()7、在类外定义类的成员函数时,应当使用()来标识该函数为特定类的成员。A、:B、::C、-D、this8、已知类A是类B的友元,类B是类C的友元,则()A、类A一定是类C的友元B、类C一定是类A的友元C、类C的成员函数可以访问类B的对象的任何成员D、类A的成员函数可以访问类B的对象的任何成员9、下面()是函数重载。A、voidplay(int)和voidplay(float)B、play()和~play()C、voidplay(int)和intplay(int)D、voidplay()和intplay()10、下列说法中正确的是()A.类定义中只能说明函数成员的函数头,不能定义函数体。B.类中的函数成员可以在类体中定义,也可以在类体之外定义。C.类中的函数成员在类体之外定义时必须要与类声明在同一文件中。D.在类体之外定义的函数成员不能操作该类的私有数据成员。11、Windows操作系统主要基本内核元件中,_______支持与操作系统密切相关的功能:如进程加载、文本切换、文件I/O以及内存管理、线程管理等。()A、GDIB、KERNELC、USERD、以上都不是。12、一个视图对象能连接()文档对象,一个文档对象能连接()视图对象。A、一个,多个B、多个,一个C、一个,一个D、多个,多个13、所有的控件都是()类的派生类,都可以作为一个特殊的窗口来处理。A、CViewB、CWndC、CWindowD、CDialog14、设置编辑控件的文本内容,可使用函数()A、SetWindowText()B、SetSel()C、ReplaceSel()D、GetWindowText()15、根据对话框的行为性质,对话框可以分为两类:()A、对话框资源和对话框类B、模式对话框和非模式对话框C、对话框资源和对话框模板D、消息对话框和模式对话框16、以下控件中,()没有Caption属性。A、按钮B、群组框C、编辑控件D、静态控件17、菜单项助记符前用()引导。A、%B、&C、#D、$18、MFC中的集合类包括()。A、对象、列表和映射B、数组、列表和对象C、数组、列表和映射D、数组、列表和链表19、文档负责将数据存储到永久存储介质中,通常是磁盘文件或数据库,存取过程称为()。A、文件访问B、串行化C、文件读写D、格式化20、下列对模板的声明,正确的是()。A、templateTB、templateclassT1;classT2C、templateclassT1,T2D、templateclassT1,classT2二、填空题(每空1分,共25分)1、VC++开发环境中,char型数据占个字节,int型数据占_______个字节,double型数据占_________个字节。2、若for循环的“头”为“for(inti=1;i10;i++)”,并且在循环体中不会修改i的值,则循环体将被重复执行____________次后结束。3、两个函数的函数名相同,但参数的个数或对应参数的类型不同时,则称为。4、若ch为char型变量,n为int型变量,则下列语句n=65;ch=n+3;cout”ch=”ch;执行的结果是__________。5、组合框与列表框用途类似,它是由__________和__________功能组合而成。6、是Windows应用程序与设备驱动程序和输出设备之间的接口。7、如果一个类中含有纯虚函数,则称该类为____________8、如果类的所有对象共享一个成员,则称该成员为_____________9、如果类中的成员只能被本类的成员函数和友元函数访问,则这些成员的访问权限为_________;如果类中的成员能够被类外的函数访问,则这些成员的访问权限为:__________。10、为解决多继承中因公共基类而产生的二义性问题,C++语言提供了________机制。将公共基类声明为它以后,它在派生类中只产生一个实例。11、Windows程序中的消息有____________、____________和____________三种类型。11、用户按下键盘按键并放开的过程中,将产生至少三条消息:____________、____________和____________。13、单选按钮初始化要使用函数如下:voidCheckRadioButton(IDC_RADIO1,IDC_RADIOn,IDC_RADIOm)其功能的具体描述为:______________________________________________________________14、列表框分为和两种,中任一时刻只能选择一项,则可以选取多项。三选择填空题(每空1分,共15分)1、如果在基类和派生类中都包含其他类的对象(即有对象成员),则在创建派生类的对象时,首先执行⑴的构造函数,接着执行⑵的构造函数,然后执行___⑶___的构造函数,最后才执行⑷的构造函数。A、基类的对象成员B、派生类的对象成员C、基类D、派生类2、所有的文档类都派生于[5],所有的视图类都派生于[6]。A、CViewB、CWindowC、CDocumentD、CFormView3、[7]包括键盘和鼠标的输入。这一类消息首先放在系统消息队列中,然后由Windows将它们送入应用程序消息队列中,由程序来处理消息;[8]用来与Windows的控制对象,如列表框、按钮、复选框等进行双向通信。当用户在列表框中改动当前选择或改变了复选框的状态时发出此类消息。A、系统消息B、用户消息C、输入消息D、控制消息4、使用[9]获取的设备上下文在退出时,必须调用ReleaseDC()释放设备上下文。A、GetWindowRect()B、GetDC()C、BeginPaint()D、GetClientRect()5、常用的CButton类的成员函数中:⑽获得一个按钮控件的选中、选择和聚焦状态;⑾得到一个按钮的选中状态;⑿设置一个按钮的选中状态。A、GetState()B、SetState()C、SetCheck()D、GetCheck()E、GetButtonStyle()6、滚动条类CScrollBar的成员函数规定了滚动条的操作。设置滚动条的范围使用⒀函数,设置滚动块的位置使用⒁函数,获取滚动块的当前位置使用⒂函数。A、SetPosB、SetRangeC、SetScrollRangeD、GetPosE、SetScrollPosF、GetScrollPosG、GetScrollRange四写出下列程序的运行结果(每小题5分,共20分)1、#includeiostream.hclassB{public:staticintnum;};intB::num=100;voidmain(){Bb1,b2;coutb1.num’’;b1.num+=25;coutb2.numendl;}2、#includeiostream.hclassA{public:virtualvoidfun(){coutI'mclassAendl;}};classB:publicA{public:voidfun(){coutI'mclassBendl;}};classC:publicB{public:voidfun(){coutI'mclassCendl;}};voidmain(){Aa,*pA=&a;pA-fun();Bb;pA=&b;pA-fun();Cc;a=c;a.fun();A&aRef=c;aRef.fun();}3、classtest{private:intnum;floatfl;public:test();intgetInt(){returnnum;}floatgetFloat(){returnfl;}~test();};test∷test(){coutInitalizingdefaultendl;num=0;fl=0.0;}test∷~test(){coutDesdtructorisactiveendl;}intmain(){testarray[2];coutarray[1].getInt()array[1].getFloat()endl;return0;}4.intmain(){intnum=50;int&ref=num;ref=ref+10coutnum=numendl;num=num+40;contref=refendl;return0;}五、程序设计题(每题10分,共20分)1、下列shape类是一个表示形状的抽象类,area()为求图形面积的函数,total()则是一个通用的用以求不同形状的图形面积总和的函数。请从shape类派生三角形类(triangle)、矩形类(rectangle)、并给出具体的求面积函数。classshape{public:virtualfloatarea()=0};floattotal(shape*s[],intn){floatsum=0.0;for(inti=0;in:i++)sum=sum+i.area();returnsum;}2、创建一个记录通讯录内容的新类Caddrlist,包含:姓名、住址、电话、出生日期,并使该类可以实现串行化。请写出可以实现要求的CAddrlist.h和CAddrlist.cpp文件的内容。2005—2006学年第一学期《VC++程序设计》试题答案及评分标准一、单项选择题(每小题1分,共20分)题号12345678910答案BCCAAABDAB题号11121314151617181920答案BABABCBCBD二、填空题(每空1分,共25分)1、1、4、82、93、函数重载4、ch=D5、列表框、编辑框6、DC(设备上下文)7、抽象基类8、静态成员9、私有、公有(或者private、public)10、虚基类11、窗口消息、命令消息、控件通知消息(顺序可变)12、WM_KEYDOWN,WM_CHAR,WM_KEYUP13、从IDC_RADIO1到IDC_RADIOn,中设置IDC_RADIOm为默认14、单选列表框、多选列表框、单选列表框、多选列表框三选择填空题(每空1分,共15分)题号⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂答案ACBDCACDBADCCEF四写出下列程序的运行结果(每小题5分,共20分)1、1001252、I'mclassAI'mclassBI'mclassAI'mclassC3、InitalizingdefaultInitalizingdefault00DesdtructorisactiveDesdtructorisactive4、num=60ref=100五、程序设计题(每题10分,共20分)1、#includemath.h1分classtriangle:publicshape{1分public:virtualfloatarea(){floats=(a+b+c)/
本文标题:《可视化程序设计-Visual-C++-》试卷(二)
链接地址:https://www.777doc.com/doc-1492697 .html