C++复习Word文件下载.docx
- 文档编号:8647309
- 上传时间:2023-05-12
- 格式:DOCX
- 页数:11
- 大小:20.81KB
C++复习Word文件下载.docx
《C++复习Word文件下载.docx》由会员分享,可在线阅读,更多相关《C++复习Word文件下载.docx(11页珍藏版)》请在冰点文库上搜索。
11.c++语言规定:
在一个源程序中,main函数的位置()
A.必须在最开始
B.必须在系统调用的库函数的后面
C.可以任意
D.必须在最后
12.intFunc(int,int);
不可与下列哪个函数构成重载()
A.intFunc(int,int,int);
B.doubleFunc(int,int);
C.doubleFunc(double,double);
D.doubleFunc(int,double);
13.c++中cin是()
A.一个标准的语句
B.预定义的类
C.预定义的函数
D.预定义的对象
14.类的私有成员可在何处访问()
A.通过子类的对象访问B.本类及子类的成员函数中
C.通过该类对象访问D.本类的成员函数中
15.如果没有为一个类定义任何构造函数的情况下,下列描述正确的是()
A.编译器总是自动创建一个不带参数的构造函数
B.这个类没有构造函数
C.这个类不需要构造函数
D.该类不能通过编译
16.一个类可包含析构函数的个数是()
A.0个B.1个C.至多一个D.0个或多个
17.将c++源程序进行()可得到目标文件。
A.编辑
B.编译
C.链接
D.拼接
18.下列关于类的权限的描述错误的是()
A.类本身的成员函数只能访问自身的私有成员
B.派生类的成员函数不能访问从基类继承而来的私有成员
C.普通函数不能直接访问类的公有成员,必须通过对象访问
D.一个类可以将另一个类的对象作为成员
19.在编译指令中,宏定义使用哪个指令()
A.#includeB.#defineC.#ifD.#else
20.设类A将其它类对象作为成员,则建立A类对象时,下列描述正确的是()
A.A类构造函数先执行B.成员构造函数先执行
C.两者并行执行D.不能确定
21.设类A继承类B,则建立A类对象时,下列描述正确的是()
A.A类构造函数先执行B.B类的构造函数先执行
C.A与B两者同时执行D.不能确定
22.执行下面语句后,输出结果为(C)。
cout<
<
hex<
setiosflags(ios:
:
showbase)<
047<
endl;
A.047B.47C.0x27D.027
23.对于友元描述正确的是()
A.友元是本类的成员函数B.友元不是本类的成员函数
C.友元不是函数D.友元不能访问本类私有成员
24.在哪种派生方式中,派生类可以访问基类中的protected成员()
A.public和privateB.public和protected
C.protected和privateD.仅protected
25.在哪种派生方式中,派生类不可以访问基类中的protected成员()
A.publicB.protectedC.privateD.protected和private
26.已知“inta,&
ra=a;
”关于ra的描述中正确的是()
A.ra是int型变量a的地址值
B.a是int型变量ra的地址值
C.ra是int型变量a的引用
D.ra是int型变量a的指针
27.下列关于类和对象的说法中,正确的是()
A.类与对象没有区别
B.要为类和对象分配存储空间
C.对象是类的实例,为对象分配存储空间而不为类分配存储空间
D.类是对象的实例,为类分配存储空间而不为对象分配存储空间
28.关于this指针的描述中,错误的是()
A.this指针是指向对象的指针
B.this指针是在使用对象引用成员函数时系统自动生成的
C.this指针是指向成员函数的指针
D.this指针可以在程序中显示使用
29.下列关于构造函数的说法中不正确的是()
A.构造函数名字和类的名字一样
B.构造函数在说明类对象时自动执行
C.构造函数无任何函数类型
D.构造函数有且只有一个
30.通常的拷贝初始化构造函数的参数是()
A.某个对象名
B.某个对象的成员名
C.某个对象的引用
D.某个对象的指针名
二、判断正误
1.()C++中的主函数main一定得返回一个值.
2.()C++中可以使用结构定义代替类定义.
3.()main()不能带参数.
4.()类的protected类型数据成员可以被其自身类外的友员函数修改其值.
5.()cout可以代替printf,利用cout可以简便的格式输出类.
6.()一个类的数据成员如果希望不允许继承类对其访问,应该将其定义为private类型.
7.()一个类的数据成员如果希望允许继承类对其访问,但不允许类外被访问,应该将其定义为protected类型.
8.()类的析构函数可以被声明为虚函数.
9.()一个类的友元函数也可以被别的类同时定义为友元函数.
10.类的成员函数只能定义成公有的
11.()引用不是独立的变量,因此在建立引用时并不给它分配单独存储单元,只是声明它与被引用的某变量的等价关系.
12.()函数模板与类模板的定义完全相同.
13.()类的数据成员可以在声明时给初值初始化.
14.()如果用户自己没有定义构造函数,则C++系统会自动生成一个构造函数.
15.()类的构造函数不能被用户直接调用,一般被声明为PUBLIC.
16.()类的析构函数的作用是在对象完成使命以后删除该类的对象.
17.()同一个类可以有多个构造函数和多个析构函数.
18.()抽象类就是包含虚函数的类
19.()一个函数可以被多个不同类声明为友员函数,这个友员函数可以访问这些类的私有数据成员.
20.()类模板是类的抽象,类是类模板的实例.
21.不能定义抽象类的对象,但可定义指向抽象类的指针。
22.派生类成员函数可直接访问从基类继承而来的任何成员
23.C++运算符均可重载
24.C++运算符均可按成员方式重载
25.this在程序中只能引用,不能修改
26.C++是比C更通用的程序设计语言
27.通过重载,可改变运算符的优先级
28.行注释可出现在程序的任何位置
29.要直接输出对象,必须重载运算符“<
”
30.只有用作基类的类才能包含“protected”成员
三、填空题
1.设要打开一个文件输出流对象myFile与文件“f:
\mydata.txt相关联,所用的C++语句是:
__________。
2.如果在一个C++程序中使用cout,那么在C++程序头至少要使用#include________________。
3.运算符[]只能用________运算符来重载,不能用友元运算符来重载。
4.定义虚函数所用的关键字是________。
5.二维数组类型inta[20][30]如果作为函数参数传递,函数中用于传递二维数组的形式参数格式定义是________________。
6.在C++中利用变量定义,定义一个能存放至多20个char的字符串,实现此操作的语句是________。
7.类的继承是指子类继承基类的________和成员函数。
8.不同对象可以调用相同名称的函数,但可导致完全不同的行为的现象称为________。
9.________指令指示编译器可以有选择地编译或不编译一段C++源程序。
10.若要把voidfun()定义为类A的友元函数,则应在类A的定义中加入语句____________。
11.设在程序中使用如下语句申请了一个对象数组:
Point*ptr=newPoint[2];
则在需要释放ptr指向的动态数组对象时,所使用的语句是________。
12.在保护派生中,基类权限为_____的成员在派生类中不可被访问。
13.类A有如下成员函数
intA:
fun(doublex){return(int)x/2;
}
fun(intx){returnx*2;
设a为类A的对象,在主函数中有ints=a.fun(6.0)+a.fun
(2),则执行该语句后,s的值为________。
14.面向对象程序设计的_______机制提供了重复利用程序资源的一种途径。
15.将指向对象的指针作为函数参数,形参是对象指针,实参是对象的________。
16.在使用string类的find成员函数来检索主串中是否含有指定的子串时,若在主串中不含指定的子串,find函数的返回值是________。
17.在C++中,声明布尔类型变量所用的关键字是________。
18.若p所指单元的内容为10,执行下列代码:
x=*p++以后
x的输出结果为________。
19.C++语言中可以实现输出一个换行符的语句是________。
20.面向对象方法具有的三大特征是______、_______和_______。
21.任何类中允许有三种访问权限的数据,这三种访问权限分别是___、_____和_____。
22.类中的数据成员和成员函数的默认访问权限是_____。
结构体中成员的默认访问权限为_____。
23.在类内部定义的_____和_____数据不能被不属于该类的成员函数来存取,定义为_____的数据,可以在类的外部进行存取。
四、写出程序的执行结果
1.
#include<
iostream.h>
voidmain()
{
inta[]={10,20,30,40},*pa=a;
int*&
pb=pa;
pb++;
*pa<
}
解:
pa为数组的指针,首先指向a[0],pb是pa的引用,当执行pb++时,也使pa指向了a[1],所以输出为:
20
2.
classSample
intx;
public:
Sample(){};
Sample(inta){x=a;
Sample(Sample&
a){x=a.x+++10;
voiddisp(){cout<
"
x="
x<
};
Samples1
(2),s2(s1);
s1.disp();
s2.disp();
Sample类的Sample(Sample&
a)构造函数是一个拷贝构造函数,将a对象的x增1然后加上10后赋给当前对象的x,由于a是引用对象,所以输出为:
x=3//++运算的结果
x=12//2+10
3.以下程序的输出结果为_______
voidf(int&
a,int&
b){intt=a;
a=b;
b=t;
voidmain()
{intx=100,y=200
;
f(x,y)
’
’<
y
A.100,100B.100,200C.200,100D200,200
4.一下程序的执行结果是()
iostream>
usingnamespacestd;
classSample
{
inti;
public:
Sample(){i=1;
i++;
voiddisp(){cout<
++i;
~Sample(){cout<
intmain()
Samples;
s.disp();
A.123B.133C.222D.333
5.以下程序的输出结果是________
classA
virtualvoidf1(){cout<
Af1"
virtualvoidf2(){cout<
Af2"
voidf3(){cout<
Af3"
voidf4(){cout<
Af4"
classB:
publicA
Bf1"
virtualvoidf2(intx){cout<
Bf2"
virtualvoidf3(){cout<
Bf3"
Bf4"
A*p;
Bb;
p=&
b;
p->
f1();
f2();
f3();
f4();
return0;
五、程序设计
1.写一个求一批数据中最大数的C++程序。
(10分)
2.定义一个类Student,包含学号No、姓名Name、性别Sax、语文Lang、数学Math、外语ForLang、总分Sum这七项数据成员,还有输入单科inputscore、计算总分sumscore、输出总分outputsum这三个函数,要求在构造函数中对学生对象输入学号、姓名、性别这三项,在计算总分函数中能够计算语文、数学、外语三项成绩的和。
(15分)
3.写一个描述星球的类,包含星球名称、自身半径、与地球的距离,密度等属性及求体积、表面积和质量等成员方法。
4.有一某班的C++成绩单,求平均成绩
六、程序填空
1.以下程序判断输入的字符串是否“回文”,若是回文,输出YES。
intmain()
{chars[81],cr,*pi,*pj;
inti,j,n;
cin.getline(s);
n=strlen(s);
pi=________;
pj=________;
//pi指向串开始,pj指向最后
while(*pi==‘‘)_________;
while(*pj==‘‘)________;
while((___________)&
&
(*pi==*pj))
{pi++;
_______;
}
if((pi<
pj)cout<
“NO”<
elsecout<
“YES\n”;
(1)s
(2)s+n-1(3)pi++
(4)pj--(5)pi<
pj(6)pj--
2.以下程序求两个数的大者,请填空。
intmain(void)
{int*p1,*p2;
p1=___________;
p2=___________;
cin>
>
_______________;
if(*p2>
*p1)*p1=*p2;
deletep2;
cout<
“max=”<
_______<
(1)newint
(2)newint(3)*p1>
*p2(4)*p1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 复习