VC_复习题+答案
- 格式:doc
- 大小:146.00 KB
- 文档页数:33
计算机程序设计员复习题含参考答案一、单选题(共100题,每题1分,共100分)1.知识产权包括著作权和( )两部分。
A、工业产权B、名誉权C、使用权D、专利权正确答案:A2.计算机程序设计员在工作中要从客观实际出发,不懂不装懂,多向用户学习,切忌( )。
A、客户第一B、一切向钱看C、主观臆断D、服务第一正确答案:C3.( )存储一个对话框模板,模板制定了对话框的特征,包括其大小、位置、风格以及对话框中各种控件等。
A、对话框类B、单模对话框C、对话框函数D、对话框模板资源正确答案:D4.( )协议的作用是提供一个网址的具体情况,它是Internet上最古老的协议之一。
A、FingerB、GopherC、FtpD、Http正确答案:A5.软件管理按时间可划分为生产管理和( )。
A、开发进度管理B、成本管理C、技术管理D、使用维护管理正确答案:D6.( )也称为分支覆盖,是一种较强的逻辑覆盖。
A、判定覆盖B、路径覆盖C、条件覆盖D、条件组合覆盖正确答案:A7.在VC中,如果在Menu Item属性页中选择( )复选框,表示此菜单项是一个多级菜单,并且其右边将会出现一个新菜单框。
A、CheckedB、inactiveC、Pop-upD、Grayed正确答案:C8.按( )来划分,总线可以分为单向和双向两种。
A、信息的传输方向B、数据线的宽度C、总线所处的层次D、用途正确答案:A9.数据独立性是指()A、数据库的数据依赖于用户的应用程序B、DBMS与DB相互独立C、用户应用程序与数据库的数据相互独立D、用户应用程序与DBMS相互独立正确答案:C10.概要设计的任务是( )。
A、发现并排除软件中的错误,最终把一个高质量的软件系统交付给用户使用B、实现人和计算机的通讯,产生一个机器能执行的源程序C、确定每个模块的数据结构和算法,确定模块的细节D、将软件需求说明转化为软件总体设计,确定软件结构及模块的划分,并确定各模块之间的接口正确答案:D11.( )方法的主要优点包括:与人类习惯的思维方法一致、稳定性好、可重用性好、可维护性好。
练习题一、选择题1.设有int x=1,y=2,z=3;下列关于语句的描述中,是错误的。
A.if(x>3) if(y>5) else z=6 ;z=7;B.if(x>=3) z=6;else z=7; else z=8;C.if(x<3) for(z=6;z<9;z++) ;else z=7;D.if(x<3) switch(z){ case 1: z=6;} else z=7;2.设有int x,a,b,c;下列合法的if语句是。
A.if(a==b)x++; B.if(a=<b)x++;C.if(a<>b)x++; D.if(a=>b)x++;3.设int a=1,b=2,c=3,d=4;则条件表达式a<b?a:c<d?c:d的值为。
A.1 B.2 C.3 D.4 4.下列关于switch语句,说法不正确的是。
A.switch语句后的一对大括号不能省略B.每一个case的出现顺序不影响程序执行的结果C.switch语句中的default子句只能放在最后D.每个case后的常量表达式的值必须互不相同5.以下关于if语句的错误描述是。
A.条件表达式可以是任意的表达式B.条件表达式只能是关系表达式或逻辑表达式C.条件表达式的括号不可以省略D.与else配对的if语句是其之前最近未配对的if语句6.对于程序段:int a=1,b=2,c=3;if(a=0)cout<<b<<'\n';else cout<<c<<'\n';执行上述语句序列后,下列说法正确的是。
A.a的值为0,输出2 B.a的值为1,输出2C.a的值为0,输出3 D.a的值为1,输出37.执行下列程序段后,a的值为。
int a=0;if(a>0) a++;else if(a<4)if(a<3)a+=3;else a+=4;else a+=5;A.2 B.3 C.4 D.58.执行下列程序,若输入1,则输出的结果是。
综合习题一、单选题1、以下选项中不能用做用户自定义标识符的是()。
A. length_B. _lengthC. length.dD. For2、以下选项中能用做用户自定义标识符的是()。
A. voidB. if-elseC. NameD. a+bc3、下列字符串中,正确的C++标识符是()。
A. too-BB. 2bC. newD. _2564、以下选项中不能用做变量名的是()。
A. forB. _lengthC. lengthD. Else5、下列不正确的int型常数是()。
A. 32450B. 0C. 0387D. 0xA1L6、以下选项中不合法的常量是()。
A. ‘a’B. 058C. “a\0b”D. 12L7、下列的常量定义中,错误的是()。
A. const double dl;B. const char c=67;C. const int i=250;D. const long ld=0x326;8、整型变量a、b的值分别为3和4,执行语句“a=a && b++ ;”后,a和b的值分别是( )。
A. 3 4B. 1 5C. 1 4D. 0 59、设有变量说明: int a=3,b=4,c=5; 下列表达式中,值为0的表达式是()。
A. ‘a’&&‘b’B. a<=bC. a | | b+c&&b–cD. !(c<b | | a<b)10、下列哪个表达式结果不是逻辑类型(只能取0或1)()。
A. x<=y?x&y:x|yB. a>b&&cC. a>b||c<dD. ‘a’+’b’>’z’11、设有变量说明:“short int a=0,b=0;”,则表达式sizeof('a'+'b')的值为()。
A. 1B. 2C. 4D. 812、表示关系x<=y<=z的C++语言表达式为()。
第五章呼吸机能名词解释:呼吸:人体从外界不断地摄取O2,同时不断地将体内所产生的CO2排除体外。
这种人体与外界环境之间进行的气体交换,称为呼吸。
肺活量(VC):最大深吸气后,再作最大呼气时所呼出的气量,称为肺活量。
肺通气量(V E)单位时间内吸入(或呼出)的气量称为肺通气量。
一般以每分钟为单位计量,故也称每分通气量。
最大通气量(V E max):以适宜的呼吸频率和呼吸深度进行呼吸时所测得的每分通气量。
又称最大随意通气量(M V)。
氧离曲线:氧离曲线或称HbO2解离曲线是表示PO2与Hb结合O2量关系或PO2与氧饱和度关系的曲线。
氧离曲线反映了Hb与O2的结合量是随PO2的高低而变化。
这条曲线呈S,而不是直线相关。
氧利用率:每100ml动脉血流经组织时所释放的O2占动脉血氧含量的百分数,称为氧利用率。
氧脉搏:心脏每次波动输出的血量所摄取的O2量,称为氧脉搏,可以用每分摄O2量除以每分心率计算。
思考题:1.为什么在一定范围内深慢的呼吸(尤其注意重深呼吸)比浅快的呼吸效果要好呼吸的目的是人体与外界环境进行气体交换。
不断地从外界获取氧,供体内的营养物质氧化从而提供体内的新陈代谢所需要的能量,并把体内氧化产生的CO2排除体外。
为了更有效的获取O2,提高肺泡通气效率比提高肺泡通气量更有意义。
因为在运动时期望在吸气时肺泡腔中有更多的含O2的新鲜空气,呼气时能呼出更多的含CO2的代谢气体。
浅而快的呼吸和深而慢的呼吸,通气气量可能是一致的,但肺泡通气量由于解剖无效腔的存在,结果是不一样的。
浅而快的呼吸肺泡通气量小于深而慢的呼吸肺泡通气量。
浅的呼吸只能使肺泡的通气量下降,新鲜空气吸入减少。
而深呼吸能吸入肺泡中更多的新鲜空气,使肺泡中的空气新鲜率提高,PO2也随之提高,最终导致O2的扩散量增加。
但过深过慢的呼吸,也能限制肺通气量的进一步提高,并可导致肺换气功能受阻。
因此在一定范围内深慢的呼吸(尤其注重深呼吸)比浅快的呼吸效果要好。
VC习题参考答案1.7指针和引用55.已知intd=5,某pd=&d,b=3;求下列表达式的值。
A.某pd某bB.++某pd-bC.某pd++D.++(某pd)答:15,3,5,656.选择填充。
(1)选择正确的说明语句为()。
A.intN['b'];B.intN[4,9];C.intN[][];D.int某N[10];答:B(2)若有定义:inta=100,某p=&a;则某p的值是()。
A.变量p的地址B.变量a的地址值C.变量a的值D.无意义答:C.(3)下述程序的输出结果是()。
#includevoidmain(){inta[5]={2,4,6,8,10};int某p=a,某某q=&p;cout<A.4,4B.2,2C.4,2D.4,5答:B(4)下述程序片段的输出是()。
inta[3][4]={{1,2,3,4},{5,6,7,8}};int某,某p=a[0];某=(某p)某(某p+2)某(某p+4);cout<A.15B.14C.16D.13答:A(5)若有以下定义,则下列对数组引用正确的是()。
int(某q)[3]=newint[2][3];A.q[2][3]B.某qC.某(某q+2)D.某(某(q+2)+3)答:C(6)若要用如下程序片段使指针变量p指向一个存储动态分配的存储单元:float某p;p=(float某)newfloat;则空白处应填入:A.float某B.某floatC省略;D.(float)(7)下列表示引用的方法中,()是正确的。
已知:intm=10;A.int&某=m;B.int&y=10;C.int&z;D.float&t=&m;答:A57.分析下列程序的结果。
#includeint&fun(intn,int[]){int&m=[n];returnm;}voidmain(){int[]={15,4,3,2,1,0};fun(3,)=10;cout<答:1058.用指针作为函数的参数,设计一个实现两个参数交换的函数。
动车组传动与控制复习题及参考答案中南⼤学⽹络教育课程复习题及参考答案动车组传动与控制⼀、名词解释:1.异步电动机的机械特性2.ATP3.电流型牵引变流器4.两电平式逆变器5.PI调节器6.准圆形磁链轨迹控制⼆、简答题:1.简述动车组的⼏种传动⽅式。
2.简述交流传动系统的优点。
3.CRH2型动车组牵引变压器低压侧共有哪些绕组?分别向哪些设备供电?4.动车组牵引变流器与牵引电机之间的参数匹配有哪⼏种⽅案?5.简述异步电动机的⼯作原理。
6.简要分析⽐较动⼒分散⽅式和动⼒集中⽅式动车组的特点。
7.简述异步电动机变压变频调速控制发展的三个阶段。
8.简述异步电动机⽮量控制的基本思想。
9.简述异步电动机直接转矩控制的基本思想。
10.直接转矩控制(DTC)与⽮量控制(VC)在控制⽅法上有何异同?11.异步电动机转差频率控制的规律是什么?12.简述四象限脉冲整流器的基本⼯作原理。
13.简述牵引变流器的类型及特点。
14.简述电压型四象限脉冲整流器的特征。
15.简述两电平脉冲整流器PWM控制原理。
16.简述牵引变流器中间直流储能环节的作⽤和组成。
17.简述CRH1型动车组牵引传动系统主电路的组成、各组成部分所包括的主要设备。
18.简要分析CRH1型动车组辅助供电系统。
19.简要分析CRH2型动车组辅助供电系统。
20.简述CRH2型动车组牵引传动系统的组成。
21.简述列车牵引⽹络控制系统的基本构成。
三、综合分析题:1.试分析CRH2型动车组牵引传动系统的特点。
2.试分析⾼速动车组牵引传动系统所采⽤的新技术。
3.试分析下图所⽰异步电动机转差频率控制系统的控制过程。
参考答案⼀、名词解释:1.异步电动机的机械特性:异步电动机的机械特性是指其转差率与电磁转矩之间的关系T em=f(s)。
2.ATP:列车⾃动保护系统(Automatic Train Protection,简称:ATP),亦称列车超速防护系统,其功能为列车超过规定速度时即⾃动制动,当车载设备接收地⾯限速信息,经信息处理后与实际速度⽐较,当列车实际速度超过限速后,由制动装置控制列车制动系统制动。
第六章完全竞争市场一、名词解释完全竞争市场总收益平均收益边际收益收支相抵点停止营业点完全竞争厂商的短期供给曲线二、选择题1.完全竞争的市场是指()。
A.市场参与者的购销量只占整个市场交易量的极小一部分B.市场参与者只能接受价格,而不能影响价格C.交易的商品是同质的D.以上全对2.下列行业中哪一个最接近于完全竞争模式()。
A.飞机B.卷烟C.大米D.汽车3.完全竞争的企业不能控制( )。
A.产量B.成本C.价格D.投入品的使用4.完全竞争行业处于长期均衡时,每个企业( )。
A.经济利润都为零B.只能得到正常利润C.无厂商再进入行业D.以上都正确5.下列哪一项不是完全竞争行业的特点:( )。
A.厂商数量众多B.同质产品C.竞争对手之间有激烈的价格竞争D.厂商可以自由出入这一行业6.在任何市场中,厂商的平均收益曲线可以由( )。
A.它的产品的供给曲线表示B.它的产品需求曲线表示C.行业的产品供给曲线表示D.行业的产品需求曲线表示7.完全竞争市场厂商的总收益曲线的斜率为( )。
A.0 B.1 C.经常变动D.固定不变8.完全竞争市场中的厂商总收益曲线的斜率为( )。
A.P B.1 C.0 D.无法确定9.如果商品在短期内供应量既定,则该商品的价格( )。
A.仅由市场需求曲线决定B.仅由市场供给曲线决定C.由市场需求曲线和供给曲线共同决定D.以上任一条都不能决定10.一个完全竞争的企业面对着水平的需求曲线是因为( )。
A.它的产量只占行业全部产量的一个很小的份额B.它生产了所在行业的绝大部分产品C.它对价格有较大程度的控制D.它能够把它的产品与所在行业的其他企业的产品区别开来11.对一个完全竞争的企业而言,销售额外一单位产品的边际收益等于( )。
A.销售这额外一单位产品的售价B.因所有其他单位产品以新的更低的价格出售而造成的收益损失C.这额外一单位产品的售价减去生产这一单位产品的成本D.零12.如果市场的供给曲线和需求曲线分别是S和D1,那么厂商面对的价格为( )。
一、选择题A(1)下列的()是引用调用。
A.形参是引用,实参是变量;B.形参和实参都是变量;C.形参是指针,实参是地址值;D.形参是数组名,实参是数组名。
C(2)作用域运算符的功能是()A.给定作用域的大小;B.表示作用域的级别的;C.某个成员是属于哪个类的;D.指出作用域的范围的。
D(3)下列的各函数中,()不是类的成员函数。
A.构造函数;B.析构函数;C.拷贝初始化构造函数;D.友元函数。
D(4)下面()不是构造函数的特征。
A.构造函数可以重载;B.构造函数可以设置缺省参数;C.构造函数的函数名和类名相同;D.构造函数必须指定返回值类型。
C(5)下述静态数据成员的特性中,()是错误的。
A.静态数据成员要在类体外进行初始化;B.说明静态数据成员时前边要加修饰符static;C.静态数据成员不是所有对象所共有的;D.引用静态数据成员时,要在静态数据成员名前加<类名>和作用域运算符。
C(6)已知类A有三个公有成员:void f1(int), void f2(int) 和int a,则()是指向类A成员函数的指针。
A.A *p; B. int A::*pc=&A::a;C.void(A ::*pa)(int);D. A **p;C(7)下列关于对象数组的描述中,()是错的。
A.对象数组的数组名是一个地址常量;B.对象数组的下标是从0开始的;C.对象数组只能赋初值,不能被赋值;D.对象数组的数组元素是同一个类的对象.B(8)下列定义中,()是定义指向类A的对象数组的指针。
A.A *p[5];B.A (*p)[ 5];C.(A *) p[5]; D.A *p[ ];A(9)说明语句const char *ptr;中,ptr是()。
A.指向字符常量的指针;B.指向字符的常量指针;C.指向字符串常量的指针;D.指向字符串的常量指针。
B(10)关于new运算符的下列描述中,( )是错的.A.使用它创建对象时要调用构造函数;B.使用它创建对象数组时必须指定初始值;C.它可以用来动态创建对象和对象数组;D.使用它创建的对象或对象数组可以使用运算符delete删除。
1、关于结构体变量运算重载中,正确的单目运算符重载语法格式(B)(A)函数类型名单目运算符operator(虚参){函数体}(B)函数类型名operator单目运算符(虚参){函数体}(C)函数类型名单目运算符operator(){函数体}(D)函数类型名operator单目运算符(){函数体}2、派生类对象只能访问基类中的(A)(A)公有继承的公有的成员(B)公有继承的私有成员(C)公有继承的保护成员(D)私有继承的公有成员3、关于派生类叙述中,错误的说法是(B)-(A)派生类中从基类公有继承过来的公有成员的访问权限不变(B)任何类都有基类(C)派生类还可作为另一类的基类(D)基类中的构造函数和析构函数是不可继承的4、设有类的定义如下:Class AAA{int x;char s[12];}ob;则在VC++环境下,变量ob所占内存空间字节数是(C)字节5.在公有派生情况下,有关派生类对象和基类对象的关系,不正确的叙述是( C )A)派生类的对象可以赋给基类的对象B)派生类的对象可以初始化基类的引用C)派生类的对象可以直接访问基类中的成员D)派生类的对象的地址可以赋给指向基类的指针(A)14 (B)15 (c)16 (D)176、关于构造函数的叙述中,错误的说法是(B)(A)构造函数的名称必须为类名(B)构造函数最多只能有一个(C)创建对象时自动执行构造函数(D)构造函数无任何函数类型7、(A)只能访问静态成员变量(A)静态成员函数(B)虚函数(C)构造函数(D)析构函数8、C++中类有两种用法,一种是类的实例化,即生成类对象,另一种是通过(B)派生出新的类(A)复用(B)继承(C)重载(D)封装9、设有类型说明:enum color {red,yellow=3,white,black};则执行语句cout<<white<<’\n’后,输出的结果是(A)(A)4 (B)3 (C)2 (D)110、对于下面几个函数:void f(int x){……} //1int f(int y){……} //2int f(int i ,int j){……} //3float k(int x){……} //4(c)是重载函数(A)4个全部(B)1和4 (C)2和3 (D)3和411、在一个类中,要求通过函数来实现一个不太复杂的功能,并且要求加快执行速度,选用(A)合适(A)内联函数(B)重载函数(C)递归调用(D)嵌套调用12、每个类(C)构造函数(A)只能有一个(B)只可有公有的(C)可以有多个(D)只可有缺省的13、在一个类中可以对一个操作符进行(D)重载(A)1种(B)2种以下(C)3种以下(D)多种14、在公有继承的情况下,基类非私有成员在派生类中的访问权限(B)(A)受限制(B)保持不变(C)受保护(D)不受保护15、应在下列程序划线处填入的正确语句是(C)#include <iostream>class Base{Public:vid fun(){cout<<”Base::fun”<<endl;}};cass Derived:public Base{void fun(){//显示调用基类的函数fun()cout<<”Derived ::fun”<<endl;}};(A)fun();(B)Base.fun();(C)Base::fun(); (D)Base->fun();16、定义析构函数时,应该注意(C)(A)其名与类名完全相同(B)返回类型是void类型(C)无形参,也不可重载(D)函数体中必须有delete语句17、对于在类中定义的静态数据成员,下面正确的说法是(C)(A)该类的每个对象中都有一个静态数据成员(B)对象创建时产生(C)在类外进行初始化(D)既可以在类外初始化,也可以在类内初始化18、C++中声明常量的关键字是(A)(A)const (B)extern (C)public (D)enum19、在有关类和对象的描述中,(C )是错的:(A)对象是类的一个实例。
第一章【随堂练习1-2】1.下面哪些标识符属于合法的用户自定义标识符:Main、void、_num、my$、a*、N4、3m、a-2答:合法的用户自定义标识符是:Main、_num、N42.结合【例1.2】指出程序代码中所用到的标识符哪些是关键字,哪些是预定义标识符,哪些是用户自定义标识符。
答:关键字:void、int预定义标识符:include、main、printf、scanf用户自定义标识符:a、b、c3.分析【例1.2】中函数的结构,包括函数首部(函数返回值类型、函数名、形式参数)、函数体语句(说明语句、可执行语句)。
答:函数首部:void main( ),其中函数返回值类型为void、函数名为main、形式参数无;函数体语句:{}内的语句为函数体,其中:说明语句为int a,b,c;,其余为可执行语句。
3.标识符是用来标识程序中的某个对象名字的字符序列。
C语言把标识符分为三类,即关键字、预定义标识符、用户自定义标识符。
对于用户自定义标识符的命名C语言规定:(1)所有的用户标识符必须先定义后使用;(2)用户标识符由字母(A~Z,a~z)、数字(0~9)、下划线“_”组成,并且首字符不能是数字;(3)区分大小写;(4)不能用关键字作为用户自定义标识符,通常不使用预定义标识符作为用户自定义标识符。
4.理论上讲,程序开发过程分为四个步骤,分别为:(1)编辑源程序(2)编译源程序,生成目标程序(3)连接目标程序及其相关模块,生成可执行文件(4)运行可执行文件一.单元练习一.选择题1.构成C语言程序的基本单位是()。
A.框架B.预处理C.函数D.语句2.在程序开发过程中,把文本文件格式源程序转化为二进制格式的目标程序的过程称之为()。
A.编辑B.编译C.连接D.运行3.关于主函数,下列说法不正确的是()。
A.一个完整的C语言应用程序有唯一的主函数B.主函数的名称只能是mainC.主函数可以被其他自定义函数调用D.C语言程序的运行从主函数开始,以主函数为核心展开4.关于标识符,下列说法不正确的是()。
《VC程序设计》试卷1一、单项选择题(每小题1分,共20分)1、假定MyClass为一个类,则执行“” MyClass a[3],*p[2];”语句时,自动调用该类构造函数的次数为(B)A、2B、3C、4D、52、对于类中定义的成员,其隐含访问权限为(B)A、protectedB、privateC、publicD、static3、一个类的友元函数或友元类能够通过成员操作符访问该类的(B)A、私有成员B、所有成员C、公用成员D、保护成员4、下面说法正确的是(A)A、构造函数可以重载,析构函数不能重载。
B、构造函数不能重载,析构函数可以重载。
C、构造函数可以重载,析构函数也可以重载。
D、构造函数和析构函数都不可以重载。
5、下列语句的运行结果为(D)#include <iostream.h>srtuct COMPLEX{int x;int y;} cNum[2]={1,3,2,7};void main(){cout<< cNum[0].y*cNum[1] x<<endl;}A、3B、2C、21D、66、类AB的造缺省构函数和析构函数是( A )A、AB( )和~AB( )B、AB(int)和~AB( )C、AB( )和~AB(delete )D、AB( )和int~AB( )7、在C++中,若对函数未加说明,则函数的隐含类型是(A)A、intB、doubleC、voidD、char8、已知类A是类B的友元,类B是类C的友元,则( D )A、类A一定是类C的友元B、类C一定是类A的友元C、类C的成员函数可以访问类B的对象的任何成员D、类A的成员函数可以访问类B的对象的任何成员9、下列说法中正确的是( B )A、类定义中只能说明函数成员的函数头,不能定义函数体B、类中的函数成员可以在类体中定义,也可以在类体之外定义C、类中的函数成员在类体之外定义时必须要与类声明在同一文件中D、在类体之外定义的函数成员不能操作该类的私有数据成员10、以下不属于成员函数的是( B)A、静态成员函数B、友元函数C、构造函数D、析构函数11、对于消息队列的描述正确的是(D)A、在Windows中只有一个消息系统,即系统消息队列。
消息队列是一个系统定义的数据结构,用于临时存储消息。
B、系统可从消息队列将信息直接发给窗口。
另外,每个正在Windows下运行的应用程序都有自己的消息队列。
C、系统消息队列中的每个消息最终都要被USER模块传送到应用程序的消息队列中去。
应用程序的消息对列中存储了程序的所有窗口的全部消息。
D、以上都正确12、一个视图对象能连接( A )文档对象,一个文档对象能连接()视图对象。
A、一个,多个B、多个,一个C、一个,一个D、多个,多个13、MFC类库中的类按层次关系可知,CStatic 的直接父类为( B)A、CObjectB、CWndC、CcmdTargetD、CFrameWnd14、可以利用控件的( C )属性和Tab键顺序来为控件分组。
A、IDB、Tab stopC、GroupD、Caption15、根据对话框的行为性质,对话框可以分为两类:( B )A、对话框资源和对话框类B、模式对话框和非模式对话框C、对话框资源和对话框模板D、消息对话框和模式对话框16、以下控件中,(C)没有Caption属性。
A、按钮B、群组框C、编辑控件D、静态控件17、菜单项助记符前用(B)引导。
A、%B、&C、#D、$18、更新菜单状态的消息是(C )。
A、WM_COMMANDB、UPDATEC、ON_UPDATE_COMMAND_UID、INVALIDATE19、关于工具栏、菜单和加速键的关系,正确的说法是(C)。
A、工具按钮与菜单必须一一对应B、工具按钮与加速键一一对应C、工具按钮不必与菜单一一对应D、菜单与加速键一一对应20、使用GetWindowDC( )和GetDC( )获取的设备上下文在退出时,必须调用(A)释放设备上下文。
A、ReleaseDC( )B、delete( )C、DeleteDC( )D、Detach( )二、填空题(每空1分,共25分)1、VC++开发环境中,int型数据占4个字节,short int占____2___个字节,long int 占__4_______个字节。
2、若for循环的“头”为“for(int i=1;i<10;i++)”,并且在循环体中不会修改i的值,则循环体将被重复执行_______9_____次后结束。
3、两个函数的函数名____相同____,但参数的个数或对应参数的类型_______不同__时,则称为重载函数。
4、若ch为char型变量,n为int型变量,则下列语句ch = ’a’; n = 3; ch = ch + n;cout<<” ch = ”<< ch;执行的结果是______ch=d____。
5、C++中函数的参数传递一种是按值传递,另一种是地址传递或___引用_____传递。
6、C++运行时的多态性通过________虚函数______来实现,而编译时的多态性通过___函数重载__________来实现。
7 只读成员函数用______const_______关键字标识,内联成员函数用_inline__________关键字标识。
8、class test{public:static int x;};test t1,t2; t1.x = 25;程序运行到这里时,t2.x的值为_____25_______。
9、所有的文档类都派生于____cDocument___________,所有的视图类都派生于:______ cView _______。
10、为解决多继承中因公共基类而产生的二义性问题,C++语言提供了__虚基类______机制。
将公共基类声明为它以后,它在派生类中只产生一个实例。
11、在代码中,使用upDateData___________函数可实现控件与其成员变量之间的数据的传输。
12、列表框ClistBox类的成员函数__Addstring____________用来向列表框增加列表项,成员函数___Resetcontent________用来清除列表项所有项目。
13、:______串行化___________ 是指将对象写入永久存储介质或者将对象从永久存储介质中读出的过程。
14、Windows程序中的消息有窗口消息、命令消息和____控件通知______消息三种类型。
15、MFC中的集合类包括数组、列表、映射。
16、在进行绘图时,画刷用于指定图形的填充样式,________画笔________用于指定图形的边框样式。
三选择填空题(每空1分,共15分)1、如果在基类和派生类中都包含其他类的对象(即有对象成员),则在创建派生类的对象时,首先执行⑴A的构造函数,接着执行⑵C的构造函数,然后执行__ _⑶_B__的构造函数,最后才执行⑷ D 的构造函数。
A、基类的对象成员B、派生类的对象成员C、基类D、派生类2、[5]B代表窗口客户区的显示设备上下文,[6C代表整个窗口的显示设备上下文。
A、CPaintDCB、CClientDCC、CWindowDCD、CMetaFileDC3、消息循环的处理过程如下:⑺A函数不断侦察应用程序的消息队列,若队列为空,该函数一直运行,不返回;一旦发现队列不为空,便取出一条消息,把它拷贝到msg结构变量中,同时该函数返回TRUE;得到消息msg 后,⑻B 把来自键盘的命令翻译成WM_XXX消息命令形式。
⑼E函数通知Windows把每个消息分发给相应的窗口函数。
应用程序并不直接调用窗口函数,而由Windows根据消息去调用窗口函数,因此,窗口函数经常被称为回调函数。
A、GetMessage( )B、translateMessage( )C、PostMessage( )D、SendMessage( )E、DispatchMessage( )4、常用的CButton类的成员函数中:A⑽获得一个按钮控件的选中、选择和聚焦状态;D⑾得到一个按钮的选中状态;⑿C设置一个按钮的选中状态。
A、GetState( )B、SetState( )C、SetCheck( )D、GetCheck( )E、GetButtonStyle( )5、滚动条类CScrollBar的成员函数规定了滚动条的操作。
设置滚动条的范围使用⒀C函数,设置滚动块的位置使用⒁E 函数,获取滚动块的当前位置使用⒂F函数。
A、SetPosB、SetRangeC、SetScrollRangeD、GetPosE、SetScrollPosF、GetScrollPosG、GetScrollRange四写出下列程序的运行结果(每小题5分,共15分)1、 .#include<iostream.h>class A{int *a;public:A(int x){ a=new int(x); cout<<"*a="<<*a<<endl; delete a; }};void main(){A x(3), *p;p=new A (5);delete p;}2、class test{private:int num;public:test();int GetNum() { return num;}~test();};test::test(){ num=0; }test::~test(){ cout<<″Destructor is active″<<endl; } void main(){ test x[3];cout<<″Exiting main″<<endl;}3、#include<iostream.h>class A {public:virtual void fun(){ cout<<"I'm class A"<<endl; } };class B: public A{public:void fun(){ cout<<"I'm class B"<<endl; }class C: public B{public:void fun(){ cout<<"I'm class C"<<endl; }};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();}五、完成程序题(本大题共3小题,每空2分,共12分)。