




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机语言(VC)复习题
超越高度
一.单选题(共24题,52.8分)
1应用程序对象CprogramApp是程序执行的最重要部分,()均由其完成。
A程序的初始化、运行和结束工作
B消息的发送和执行
C程序的框架、窗口
D事件的发生和处理
正确答案:A
2在VC6开发环境中,双击工作区文件,就能打开工作区及其包含的工程,其
后缀是()O
A.dsw
B.dsp
C.rc
D.clw
正确答案:A
3关于纯虚函数和抽象类的描述中,错误的是()。
A纯虚函数是一种特殊的虚函数,它没有具体实现
B抽象类是指具有纯虚函数的类
C一个基类中说明有纯虚函数,该基类的派生类一定不是抽象类
D抽象类只能作为基类使用,其纯虚函数的实现由派生类给出
正确答案:A
4所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个
实体,这实体也就是()o
A类
B对象
C函数体
D数据块
正确答案:A
5编写C++程序一般需经过的几个步骤依次是()。
A编辑、调试、编译、连接
B编辑、编译、连接、运行
C编译、调试、编辑、连接
D编译、编辑、连接、运行
正确答案:B
6在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是()。
A作为友元函数重载的一元运算符
B作为成员函数重载的一元运算符
C作为友元函数重载的二元运算符
D作为成员函数重载的二元运算符
正确答案:B
7设有代码"structBOOK{chartitile[40];floatprice;};则下列不正确的变量定义
语句是()。
ABOOKbook;
BBOOKbook={"C++编程”,27.5};
CBOOK*x=newBOOK;
DBOOKx=newBOOK;
正确答案:D
8假设A为一个类,则执行“Aa,b(3),*p;”语句时共调用该类构造函数的次数
为()。
A2B3C4D5
正确答案:A
9下列二维数组定义,正确的是()。
Ainta[5][];
Binta[][5]
Cinta[][3]={{l,3,5},{2})
Dinta[](10)
正确答案:C
10对基类和派生类的关系描述中,错误的是()。
A派生类是基类的具体化
B基类继承了派生类的属性
C派生类是基类定义的延续
D派生类是基类的特殊化
正确答案:B
11在类中说明的成员可以使用关键字的是()。
Apublic
Bextern
Ccpu
Dregister
正确答案:A
12每个C++程序都必须包含这样一个函数,该函数的函数名为()o
Amain
BMAIN
Cname
Dfunction
正确答案:A
13决定C++语言中函数的返回值类型的是()。
Areturn语句中的表达式类型
B调用该函数时系统随机产生的类型
C调用该函数时的主调用函数类型
D在定义该函数时所指定的数据类型
正确答案:D
14在公有派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员
一定是基类中的0O
A私有成员
B公有成员
C保护成员
D保护成员或私有成员
正确答案:A
15以下说法正确的是()o
A用户调用标准库函数前,必须重新定义
B用户可以重新定义标准库函数,若如此,该函数将失去原有含义
C系统不允许用户重新定义标准库函数
D用户调用标准库函数前,不必使用预编译命令将该函数所在文件包括到用
户源文件中
正确答案:B
16友元的作用是()。
A提高程序的运行效率
B加强类的封装性
C实现数据的隐藏性
D增强成员函数的种类
正确答案:A
17MFC主要由()组成。
A基础类库、全局函数
B基础类库、全局变量、宏
C基础类库、全局函数、宏
D基础类库、全局函数、全局变量和宏
正确答案:D
18根据对话框的行为性质,对话框可以分为两类:()o
A对话框资源和对话框类
B模式对话框和非模式对话框
C对话框资源和对话框模板
D消息对话框和模式对话框
正确答案:B
19下列关于Windows应用程序对鼠标响应的说法,正确的是()。
A只有活动窗口才能接受鼠标事件
B可以调用函数SetCapture。函数实现对鼠标的捕获,且捕获鼠标后系统的
键盘功能暂时失效。
C用户只能调用系统定义的鼠标的光标形状,不能自定义光标
D可以通过相应单一类型的鼠标消息来响应鼠标的拖动事件
正确答案:B
20通常拷贝初始化构造函数的参数是()。
A某个对象名
B某个对象成员名
C某个对象的引用名
D某个对象的指针名
正确答案:C
21下面循环语句中内层循环的循环体S的执行总次数为()。
for(inti=0;i<n;i++)
for(intj=i;j<n;j++)
S
An2B(n+l)/2Cn(n+l)/2Dn(n-l)/2
正确答案:C
22对于下面循环语句:
inti=0;
do
i++;
while(i*i<10);,其循环体被执行的次数为()。
A4B3C5D2
正确答案:A
23下列不属于成员函数的是()。
A静态成员函数
B析构函数
C友元函数
D构造函数
正确答案:C
24当消息产生时,系统调用CwinApp的()函数对消息进行解析,并发送到
相应的窗口进行处理。
ARun
BCreate
CTranslateMessage
DDispatchMessage
正确答案:A
二.填空题(共13题,28.6分)
1为解决多继承中因公共基类而产生的二义性问题,C++提供了机
制。将公共基类声明为它以后,它在派生类中只产生一个实例。
正确答案:
第一空:虚基类;
2两个函数的函数名相同,但参数的个数和类型不同,则称为o
正确答案:
第一空:函数重载
第二空:重载函数;
3每个对象都是所属类的一个o
正确答案:
第一空:实例;
4如果要把A类成员函数voidf()声明为类B的友元函数,则应在类B的定义中
加入语句;
正确答案:
第一空:friendvoidA::f();
5MFC中的集合类包括数组、映射。
正确答案:
第一空:列表;
6定义类动态对象数组时,元素只能靠自动调用该类的来进行初始
化。
正确答案:
第一空:无参构造函数;
7this指针始终指向调用成员函数的o
正确答案:
第一空:对象;
8C++中函数的参数传递一种是按值传递,另一种是__________传递。
正确答案:
第一空:地址
第二空:引用;
9C++程序的源文件扩展名为o
正确答案:
第一空:cpp;
10若多个基类及其派生类中都定义了同名函数成员,要访问相应函数时,就绪
要在函数名前加上_________和类区分符。
正确答案:
第一空:类名;
11假如一个类的名称为MyClass,使用这个类的一个对象初始化该类的另一个
对象时,可以调用构造函数来完成此功能。
正确答案:
第一空:复制
第二空:拷贝;
12类是用户定义的类型,具有类类型的变量称为o
正确答案:
第一空:对象;
13在已经定义了整型指针p后,为了得到一个包括10个整数的数组,并让p指
向该数组,应使用语句O
正确答案:
第一空:int*p=newint[10];
三.程序分析题(共3题,6.6分)
1分析如下程序写出运行结果。
#include<iostream.h>
classAdd{
private:intx,y;
public:
Add(inta,intb){
x=a;y=b;
coutvv,调用构造函数1。,«endl;
Add(Add&p){
x=p.a;y=p.b;
coutvv调用构造函数2。,«endl;
)
〜Add(){
count"'调用析构函数'vvendl;
)
intadd(){returnx+y;}
);
voidmain(){
Addpl(2,3);
Addp2(pl);
cout«p2.add()«endl;
)
正确答案:
运行结果:
调用构造函数1。
调用构造函数2。
5调用析构函数。
调用析构函数。
2分析如下程序写出运行结果。
#include<iostream.h>
classB{
private:a,b;
public:
B(){}
B(intx,inty){a=x;b=y;}
voidprintb(void){cout«na=n«a«nb=n«b«endl;}
clasA{
private:Bc;
public:
A(){}
A(intx,inty):c(x,y){}
voidprinta(void){c.printb();}
);
voidmain()
(
Am(7,9);
m.printa();
)
正确答案:
运行结果:
a=7,b=9
3运行结果:
调用构造函数1。
调用构造函数2。
5调用析构函数。
调用析构函数。
正确答案:
运行结果:
classB:1classA:hello
四.程序填空(共3题,6.6分)
1输入10个整数,用冒泡排序法按从小打大的顺序排序,并输出排序结果。
程序如下:
#include<iostream.h>
voidmain(){
inti,j,temp,*pt;
int*Pn=(1)int[10];
for(i=l;i<=10;i++){
cout«"Pleaseenteranumber:"«endl;
cin»*(Pn+i);
)
for(i=l;i<=10;i++)
for0=1;(2);j++)
if(*(⑶))>*(Pn+j+l){
temp=*(Pn+j);
*(Pn+j)=*(Pn+j+l);
*(Pn+j+l)=(4)
)
for(i=l;i<10;i++)
cout«*(Pn+i)«nn;
)
正确答案:
答案:
(1)new
⑵j<=10-i
⑶Pn+j
(4)temp
2classA{
int*a;
public:
A(intx=0){
a=(1);〃用x初始化a所指向的对象
)
-A(){(2);}//释放动态存储空间
正确答案:
(1)newint(x)
(2)deletea;
3打印100以内的所有素数(所谓素数是指只能被1和本身整除的正整数。)
#include<iostream.h>
#include<math.h>
voidmain()
(
inti,n;
for(n=2;n<100;n++){
inttemp=int(sqrt(n));#求n的平方根
for(i=2;(1);i++)
if((2))break;
if(i>temp)
cout«n«*
)
cout«,\n,;
正确答案:
答案:
(1)i<=temp
⑵n%i==O五.编程题(共2题,5.4分)
1已定义一个Shape抽象类,在此基础上派生出矩形Rectangle和圆形Circle
类,二者都有GetPerim。函数计算对象的周长,并编写测试main。函数。
classShape
{public:
Shape(){}
~Shape(){)
virtualfloatGetPerim()=O;
)
正确答案:
程序如下:
classRectangle:publicShape
(
public:
Rectangle(floati,floatj):L(i),W(j){}〜Rectangle。{}
floatGetPerimO
(
return2*(L+W);
)
private:
floatL,W;
);
classCircle:publicShape
public:
Circle(floatr):R(r){}
floatGetPerimO
return3.14*2*R;
)
private:
floatR;
);
voidmain()
(
Shape*sp;
sp=newCircle(lO);
cout«sp->GetPerim()«endl;
sp=newRectangle(6,4);
cout«sp->GetPerim()«endl;
)
22、求n(n=3)个学生的最高分和最低分及姓名,下面已经给出student类声明和
main函数,请写出下面的student类的实现部分的三个函数:student(char
na,„intd),*getname(),compare(student&s1,student&s2)o
#include<iostream.h>#include<string.h>
classstudent
(
charname,10,;
intdeg;
public:
student(charna„=,M,,intd=0);
char*getname();
friendintcompare(student&sl,student&s2);
intgetdegO;
);
voidmain()
studentst,尸{student("王强”,74),student("李刚”,68),student("张雪”,84)};
inti=O,min=O,max=O;
for(i=l;i<3;i++)
(
if(compare(st,max„st,i,)=-1)
max=i;
if(compare(st,min„st,i,)==1)
min=i;
)
COUt<<“最高分:“
cout<<"最低分:"<<(*(st+min)).getd6g()<<"姓名:"v<st,max,.getname()«6ndl;
}
正确答案:
程序如下:
#include<iostream.h>#include<string.h>
classstudent
{charname,10,;
intdeg;
public:
student(charna„=,M,,intd=0);
char*getname();
friendintcompare(student&sl,student&s2);
intgetdegO;
);
voidmain(){
studentst„={student(“王强”,74),student("李刚”,68),student("张雪”,84)};
inti=O,min=O,max=O;
for(i=l;i<3;i++){
if(compare(st,max„st,i,)=-1)max=i;
if(compare(st,min„st,i,)=1)min=i;
}
cout<<"最高分:"<<st,max,.getdeg()<<“姓名:"vvst,max,,getname()vvendl;
cout<<"最低分:”vv(*(st+min)).getdeg()«"姓名:"<<st,max,.getname()v<endl;
)
计算机语言(VC)复习题
一.单选题(共24题,52.8分)
1有关构造函数的说法不正确的是()O
A构造函数名和类名一样
B构造函数无任何函数类型
C构造函数有且只有一个
D构造函数在说明类对象时自动执行
正确答案:C
2下面关于静态数据成员的描述中,错误的是()o
A静态数据成员不是所有该类对象所共用的
B静态数据成员要在类外初始化
C说明静态数据成员时要加修饰符static
D引用静态数据成员时,要加类名及作用域符
正确答案:D
3对于下面循环语句:
inti=0;
do
i++;
while(i*i<10);,其循环体被执行的次数为()。
A4
B3
C5
D2
正确答案:A
4MFC类库中的类按层次关系可知,Cstatic的直接父类为()。
ACWnd
BCObject
CCcmdTarget
DCFrameWnd
正确答案:A
5已知类A是类B的友元,类B是类C的友元,则()。
A类A一定是类C的友元
B类C一定是类A的友元
C类C的成员函数可以访问类B的任何成员
D类A的成员函数可以访问类B的任何成员
正确答案:D
6在类中说明的成员可以使用关键字的是()o
Apublic
Bextem
Ccpu
Dregister
正确答案:A
7对基类和派生类的关系描述中,错误的是()o
A派生类是基类的具体化
B基类继承了派生类的属性
C派生类是基类定义的延续
D派生类是基类的特殊化
正确答案:B
8对于类中定义的成员,其隐含访问权限为()o
Aprotected
Bprivate
Cpublic
Dstatic
正确答案:B
9下列不属于成员函数的是()。
A静态成员函数
B析构函数
C友元函数
D构造函数
正确答案:C
10下面叙述不正确的是()。
A派生类一般都用公有派生
B对基类成员的访问必须是无二义性的
C赋值兼容规则也适用于多重继承的组合
D基类的公有成员在派生类中仍然是公有的
正确答案:D
11设有代码"structBOOK{chartitile[40];floatprice;};则下列不正确的变量定
义语句是()。
ABOOKbook;
BBOOKbook={"C++编程”,27.5};
CBOOK*x=newBOOK;
DBOOKx=newBOOK;
正确答案:D
12根据对话框的行为性质,对话框可以分为两类:()。
A对话框资源和对话框类
B模式对话框和非模式对话框
C对话框资源和对话框模板
D消息对话框和模式对话框
正确答案:B
13MFC主要由()组成。
A基础类库、全局函数
B基础类库、全局变量、宏
C基础类库、全局函数、宏
D基础类库、全局函数、全局变量和宏
正确答案:D
14每个C++程序都必须包含这样一个函数,该函数的函数名为()。
Amain
BMAIN
Cname
Dfunction
正确答案:A
15在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是()。
A作为友元函数重载的一元运算符
B作为成员函数重载的一元运算符
C作为友元函数重载的二元运算符
D作为成员函数重载的二元运算符
正确答案:B
16下面说法正确的是()。
A构造函数可以重载,析构函数不能重载
B构造函数不能重载,析构函数可以重载
C构造函数可以重载,析构函数也可以重载
D构造函数和析构函数都不能重载
正确答案:A
17在公有派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员
一定是基类中的()。
A私有成员
B公有成员
C保护成员
D保护成员或私有成员
正确答案:A
18假定一个类的构造函数为A(intaa,intbb){a=aa--;b=a*bb;},则执行Ax(4,5);语
句后,x.a和x.b的值分别为()。
A3和15B5和4C4和20D20和5正确答案:C
19下面关于MFC中类的说法,正确的是()。
ACobject类是MFC所有类的基类
BCView是CWnd类的子类
CCdialog是CWnd类的子类
DCarchive类可以支持串行化操作
正确答案:A
20编写C++程序一般需经过的几个步骤依次是()。
A编辑、调试、编译、连接
B编辑、编译、连接、运行
C编译、调试、编辑、连接
D编译、编辑、连接、运行
正确答案:B
21下列说法正确的是()o
A类定义中只能说明函数成员的函数头,不能定义函数体
B类中的函数成员可以在类体中定义,也可以在类体之外定义
C类中的函数成员在类体之外定义时必须要与类声明在同一文件中
D在类体之外定义的函数成员不能操作该类的私有数据成员
正确答案:B
22通常拷贝初始化构造函数的参数是()。
A某个对象名
B某个对象成员名
C某个对象的引用名
D某个对象的指针名
正确答案:C
23当消息产生时,系统调用CwinApp的()函数对消息进行解析,并发送到
相应的窗口进行处理。
ARun
BCreate
CTranslateMessage
DDispatchMessage
正确答案:A
24程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用()符号
作为分隔符。
A空格或逗号
B逗号或回车
C逗号或分号
D空格或回车
正确答案:D
二.填空题(共12题,26.4分)
1C++中函数的参数传递一种是按值传递,另一种是_________传递。
正确答案:
第一空:地址
第二空:引用;
2this指针始终指向调用成员函数的o
正确答案:
第一空:对象;
3假设为类A定义了构造函数"A(intaa,char*bb=NULL):a(aa),b(bb)",则该类
中至少包含有个数据成员。
正确答案:
第一空:2;
4一个抽象类的派生类可以实例化的必要条件是实现了所有的定
义。
正确答案:
第一空:纯虚函数;
5在已经定义了整型指针p后,为了得到一个包括10个整数的数组,并让p指
向该数组,应使用语句。
正确答案:
第一空:int*p=newint[10];
6两个函数的函数名相同,但参数的个数和类型不同,则称为o
正确答案:
第一空:函数重载
第二空:重载函数;
7为解决多继承中因公共基类而产生的二义性问题,C++提供了机
制。将公共基类声明为它以后,它在派生类中只产生一个实例。
正确答案:
第一空:虚基类;
8如果要把A类成员函数voidf()声明为类B的友元函数,则应在类B的定义中
加入语句;
正确答案:
第一空:friendvoidA::f();
9类是用户定义的类型,具有类类型的变量称为
正确答案:
第一空:对象;
lOclasstest{
正确答案:
第一空:25;
11编译时的多态通过_________实现。
正确答案:
第一空:函数重载;
12假定x是一个逻辑变量,则X||false的值为。
正确答案:
第一空:x;
三.程序分析题(共4题,8.8分)
1分析如下程序写出运行结果。
#include<iostream.h>
classTest{
intx,y;
public:
Test(inti,intj=0){x=i;y=j;}
intget(inti,intj){returni+j;}
);
voidmain(){
Test11(2)42(4,6);
int(Test::*p)(int,int=10);
p=Test::get;
cout«(tl.*p)(5)«endl;
Test*pl=&t2;
cout«(p1->*p)(7,20)«endl;
正确答案:
运行结果:
1527
2分析如下程序写出运行结果。
#include<iostream.h>
classCount{
private:
staticintcount;
public:
Count(){count++;}
〜Count。{count—;}
staticinHM(){returncount;}
);
intCount::count=100;
voidmain()
(
Countcl,c2,c3,c4;
cout«Count::HM();
正确答案:
运行结果:
104
3分析如下程序写出运行结果。
#include<iostream.h>
classA{
private:
doubleTotal,Rate;
public:
A(doubletroubler){Total=t;Rate=r;}
frenddoubleCount(A&a){
a.Total+=a.Rate*a.Total;
returncount;
)
);
voidmain()
(
Aal(1000.0,0.035),a2(768.0,0.028);
cout«Count(al)«","«Count(a2)«endl;
)
正确答案:
运行结果:
1035,789.504
4运行结果:
调用构造函数1。
调用构造函数2。
5调用析构函数。
调用析构函数。
正确答案:
运行结果:
classB:IclassA:hello
四.程序填空(共3题,6.6分)
1输入10个整数,用冒泡排序法按从小打大的顺序排序,并输出排序结果。
程序如下:
#include<iostream.h>
voidmain(){
inti,j,temp,*pt;
int*Pn=(1)int[10];
for(i=l;i<=10;i++){
cout«"Pleaseenteranumber:"«endl;
cin»*(Pn+i);
}
for(i=l;i<=10;i++)
for(j=l;(2);j++)
if(*(⑶))>*(Pn+j+l){
temp=*(Pn+j);
*(Pn+j)=*(Pn+j+l);
*(Pn+j+l)=⑷
)
for(i=l;i<10;i++)
cout«*(Pn+i)«"
正确答案:
答案:
(1)new
⑵j<=10-i
⑶Pn+j
(4)temp
2classA{
inta,b;
public:
A(intaa=O,intbb=O)(1)〃分别用aa和bb对应初始化a和b
()
);
main(){
(2)〃定义类A的对象X并用5初始化,同时定义y,并用x初始化
A*p=&x;
)
正确答案:
答案:
(1):a(aa),b(bb)
(2)Ax(5),y(x)
3Fibonacci数列满足如下列递归关系:
f(l)=Of(2)=lf(n)=f(n-l)+f(n-l)(n>2)
编写程序计算Fibonacci数列第n项值。
程序如下:
#include<iostream.h>
(1);
voidmain(void){
intnumber;
cout«"Pleaseenteraintegernumber:n«endl;
cin»number;
longresult=(2);
cout«nResult=n«result«endl;
)
longFib(intn){
if((3))return0;
elseif(n==2)return1;
else
return(4);;
)
正确答案:
答案:
(1)longFib(int)
(2)Fib(number)
(3)n==l(4)Fib(n-l)+Fib(n-2)
五.编程题(共2题,5.4分)
1已定义一个Shape抽象类,在此基础上派生出矩形Rectangle和圆形Circle
类,二者都有GetPerim()函数计算对象的周长,并编写测试main()函数。
classShape
{public:
Shape(){}
~Shape(){}
virtualfloatGetPerim()=0;
正确答案:
程序如下:
classRectangle:pub
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 探索人文关怀与生物学教学融合计划
- 实验室科技创新与发展方向计划
- 增强学生社交能力的活动设计计划
- 广东省清远市部分重点高中2024-2025学年高二上学期月考生物试题含答案
- 跨国公司采购战略与市场趋势分析
- 质量管理体系构建与实施策略
- 跨文化背景下的学习心理差异研究
- 2025年短视频相关知识考核试题
- 质量管理体系在医院信息化推进中的作用
- 跨境电商平台国际市场拓展的营销策略研究
- 考察领导谈话怎么评价领导【六篇】
- 无侧限抗压强度试验记录
- 钳形电流表使用PPT
- 建筑工程分部分项工程划分表(新版)
- 福建省危险化学品企业安全标准化(三级)考核评分标准指导意见(试行)
- 上海市长宁区2022年高考英语一模试卷(含答案)
- 城镇详细设计控制性详细规划
- 智能垃圾桶系统的设计论文
- 质量管理体系过程识别矩阵图及与条款对照表
- 北碚区幼儿园
- 2021年度锚索张拉机具及锚杆拉力计技术规格书
评论
0/150
提交评论