C++复习资料1Word文件下载.docx
- 文档编号:21105729
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:34
- 大小:36.92KB
C++复习资料1Word文件下载.docx
《C++复习资料1Word文件下载.docx》由会员分享,可在线阅读,更多相关《C++复习资料1Word文件下载.docx(34页珍藏版)》请在冰豆网上搜索。
)
A、5
B、x
C、无输出
D、0
8、执行语句k=30;
j=k++;
后k和j的值分别为(
A、k=30,j=30
B、k=30,j=31
C、k=31,j=30
D、k=31,j=31
9、表达式7%3+5*9-10/2的结果为(
A、42
B、43
C、40
D、41
10、执行cout<
520<
endl<
”520”;
屏幕上显示的是(
A、520endl”520”
B、520endl520
C、520
D、520
“520”
520
11、下列数据属于字符型的是:
(
A、123
B、true C、’c’
D、10.5
12、该for循环语句:
for(i=1;
i<
11;
i++)sum+=i;
中循环体的执行次数为
(
)
A、8
B、9
C、10
D、11
13、对程序段:
if(x>
y)
z=1;
else
z=3;
要得到z=3的结果,满足条件的一组数是(
A、x=﹣1,y=﹣2
B、x=1,y=0
C、x=2,y=1
D、x=2,y=3
14.下面是关于构造函数的说法,不正确的是(A)。
A.C++规定,每一个类必须有一个构造函数,没有构造函数就不能创建对象
B.如果没有提供一个类的构造函数(一个都未提供),则C++提供一个默认的构造函数,该默认构造函数是个无参构造函数,它仅仅负责创建对象
C.虽然一个类定义了一个构造函数(不一定是无参构造函数),C++仍然提供默认的构造函数
D.与变量定义类似,在用默认构造函数创建对象时,如果创建的是全局对象或静态对象,则对象的位模式全为0,否则,对象值是随机的
15.在下列说法中,不正确的是(B)。
A.静态成员函数不能利用this指针
B.只有非静态成员才可以使用this关键字,因为静态成员没有this指针
C.析构函数不接受任何参数,也不带有任何类型的返回值
D.虚机制在构造函数和析构函数中仍然可以很好地工作,以实现多态性
16.声明类test的拷贝构造函数的正确形式是(D)。
A.inttestB.voidtestC.test(void)D.test(test&
)
17.一个const对象(B)。
A.能访问所有成员函数B.只能访问const成员函数
C.也能访问volatile成员函数D.能访问const和volatile成员函数
18.下面关于类的对象性质的描述,正确的是(D)。
A.对象之间不可以相互赋值B.不可以说明指向对象的指针
C.对象不能用作数组元素D.一个对象能用作另一个对象的成员
19、C++源程序文件的扩展名为(
A)
A、.CPP
B、.C
C、.DLL
D、.EXE
20、下面的函数声明中,哪一个是”voidBC(inta,intb);
”的重载函数?
(
C)
A、int
BC(inta,intb)
B、voidBC(inta,charb)
C、floatBC(inta,intb,intc=0)
D、voidBC(inta,intb=0)
21.如果a=1,b=2,c=3,d=4,则条件表达式“a>
b?
a:
c<
d?
c:
d”的值为(
A.3
B.2
C.1
D.4
22.在inta[][3]={{1},{3,2},{4,5,6},{0}}中,a[2][2]的值是(
A.3
B。
2
C。
6
D。
4
23.
已知charc;
char*constpc="asdf",(
B)是正确的。
A.pc="dfgh"
B.*pc=‘b’
C.*pc++=‘y’
D.pc=&
c
24.执行下列语句后的输出结果是(C )。
inthot=100;
int&
rad=hot;
hot+=100;
cout<
rad<
endl;
A.0;
100;
C.200;
300;
25.下列对结构及其变量定义错误的是:
D)
A.structMyStruct{
structMyStruct{
intnum;
charch;
};
}my;
MyStruct
my;
C.
struct{
struct{
intnum;
}
my;
struct
26.下列关于指针运算的描述错误的是:
(A)
A.在一定条件下,两个指针可以相加
B.在一定条件下,两个指针可以进行关系运算
C.在一定条件下,指针可以为空
D.在一定条件下,两个指针可以相互赋值
27.在C++语言中,对函数参数默认值描述正确的是:
D)
A.函数参数的默认值只能设定一个
B.一个函数的参数若有多个,则参数默认值的设定可以不连续
C.函数参数必须设定默认值
D.在设定了参数的默认值后,该参数后面定义的所有参数都必须设定默认值
28.不能作为函数重载判断依据的是:
A.参数个数
参数类型
函数名字
返回类型
29.以下程序的输出结果是:
B)
#include<
iostream.h>
voidprt(int*x,int*y,int*z){
cout<
++*x<
"
"
++*y<
*z++<
}
inta=10,c=20,b=40;
voidmain(){
prt(&
a,&
b,&
c);
A.11,42,31
11,41,20
11,21,40
11,41,21
12,21,41
12,42,20
11,21,41
12,42,22
30.以下程序的输出结果是:
voidfunc(char**m){
++m;
*m<
staticchar*a[]={"
morning"
"
afternoon"
evening"
};
char**p;
p=a;
func(p);
A.字符o的起始地址
字符a的起始地址
C.字符o
afernoon
31.以下程序的输出结果是:
int
fun(char*s){
char*p=s;
while(*p!
='
\0'
)
p++;
return(p-s);
fun("
abc"
)<
A.0
1
2
3
32.不正确的标识符是( B )
A.
_a2
B.
2ai
C.
a2_i
D.
INt
33.在(C)情况下适宜采用inline定义内联函数。
A.函数体含有循环语句
B.函数体含有递归语句
C.函数代码少、频繁调用D.函数代码多、不常调用
34.通过(A)调用虚函数时,采用动态绑定(binding)。
A.对象指针
B.对象名
C.成员名限定
D.派生类名
35.假定一个类的构造函数为A(intaa,intbb){a=aa++;
b=a*bb++;
},则执行
Ax(4,5);
语句后,x.a和x.b的值分别为(C)。
A.4和5
B.5和4
C.4和20
D.20和5
36.在C++中有以下4条语句:
staticinthot=200;
hot=hot+100;
执行这4条语句后输出为:
(C)。
A.0
B.100
C.300
D.200
37.对do-whie语言错误的说法是(C)
A.可构成多重循环结构
B.循环次数不可能为0
C.循环次数可能为0
D.先执行后判断
38.静态成员函数没有(B)
A.返回值
B.this指针
C.指针参数
D.返回类型
39.在类中说明的成员可以使用关键字(
)进行修饰。
A.public
B.extern
C.cpu
register
40.下列不是描述类的成员函数的是(C)
A.构造函数B.析构函数
C.友元函数D.拷贝构造函数
41.若inta[3]={1,2,3},*p;
则下列赋值语句中
正确的是( D )
p=&
a;
*p=a;
*(a+1)=a;
p=a+1
42.若p1、p2都是指向整型的指针,p1已经指向数量x,
要使p2也指向x,正确的是( A )
p2=p1;
p2=**p1;
p2=&
p1;
D.
p2=*p1;
43.在类中说明的成员可以使用关键字(A)进行修饰。
A.private
B.extern
C.auto
D.register
44.在inta=3,*p=&
a;
中,*p的值是(D)。
A.变量a的地址值
B.无意义
C.变量p的地址值
D.3
45.假定AB为一个类,则执行ABx;
语句时将自动调用该类的(B)。
A.有参构造函数B.无参构造函数
C.拷贝构造函数D.赋值构造函数
46.如果class类中的所有成员在定义时都没有使用关键字pubilc,
private,protected,则所有成员缺省定义为:
(C)。
A.public
B.protected
C.private
D.static
47.
语句int(*p)();
的含义是(A)
A.p是一个指向函数的指针变量,该函数的返回值是一个整型数据
B.p是指针变量,指向一个整型数据
C.p是一个指向一维数据的指针变量
D.p是指针函数
48.在C++中实现封装是借助于(B)
A.枚举
B.类
C.数组
D.函数
49.设inta=3,b=4,c=5;
表达式(a+b)>
c&
b==c的值是(
)。
A.2
B.-1
C.0
D.1
50.设intx[]={1,2,3,4,5,6},*p=x;
则值为3的表达式是
( B )
A.p+=2,*++p
B.p+=2,*p++
C.p+=3,*p
D.p+=2,++*p
51.关于类概念的描述中,( D)是错误的。
A.类是抽象数据类型的实现;
B.类是具有共同行为的若干对象的统一描述体;
C.类是创建对象的样板;
D.类不是C++中的一种数据类型;
52.在32位机中,double型字宽为(D )字节。
A.2;
B.4;
C.6;
D.8
53.在inta[][3]={{1,0},{3,2},{4,5,6},{0}};
中a[2][2]的值是( C )。
A.0;
B.5;
C.6;
D.2
54.对于double(*p)[10];
的描述,(A)是正确的。
A.p是一个指向数组的指针,所指向的数组是10个double型元素;
B.p是一个指向某个数组中第10个元素的指针,该元素是double型变量;
C.p[5]表示某个数组的第10个元素的值;
D.p是一个具有10个元素的指针数组,每个元素是一个double型指针;
55.下述关于开关语句的描述中,(A)是正确的。
A.开关语句中default子句可以没有,也可以有一个;
B.开关语句中每个语句序列中必须有break语句;
C.开关语句中default子句只能放在最后;
D.开关语句中case子句后面的表达式可以是整形表达式。
56.下列( D )是引用调用;
A.形参是指针,实参是地址值;
B.形参和实参都是变量;
C.形参是数组名,实参是数组名;
D.形参是引用,实参是变量。
57.(A)是析构函数的特征。
A.一个类中只能定义一个析构函数;
B.析构函数与类名不同;
C.析构函数的定义只能在类体内;
D.析构函数可以有各个或多个参数。
;
58.关于new运算符的下列描述中,(D)是错的。
A.它可以用来动态创建对象和对象数组;
B.使用它创建的对象或对象数组可以使用运算符delete删除;
C.使用它创建对象时要调用构造函数;
D.使用它创建对象数组时必须指定初始值。
59.已知fun(int)是类Test的公有成员函数,p是指向成员函数fun()的指针,采用(D )是正确的:
A.p=fun;
B.p=Test:
:
fun();
C.p=fun();
D.p=Test:
fun;
60.关于对象概念的描述中,(A)是错误的。
A.对象就是C语言中的结构变量;
B.对象代表着正在创建的系统中的一个实体;
C.对象是一个状态和操作(或方法)的封装体;
D.对象之间的信息传递是通过消息进行的;
61.下列给字符数组进行初始化中,(A)是正确的。
A.chars1[]="
12345abcd"
B.chars2[3]="
xyz"
C.chars3[][3]={'
a'
'
x'
y'
D.chars4[2[3]={"
mnp"
62.对于int*pa[5];
的描述,(D)是正确的。
A.pa是一个指向数组的指针,所指向的数组是5个int型元素;
B.pa是一个指向某个数组中第5个元素的指针,该元素是int型变量;
C.pa[5]表示某个数组的第5个元素的值;
D.pa是一个具有5个元素的指针数组,每个元素是一个int型指针;
63.下述静态数据成员的特征中,(D)是错误的。
A.说明静态数据成员时前边要加修饰符static;
B.静态数据成员要在类体外进行初始化;
C.引用静态数据成员时,要在静态数据成员名前加<
类名>
和作用域运算符;
D.静态数据成员不是所有对象所共用的。
64、下列的各类函数中,(C)不是类的成员函数。
A.构造函数;
B.析构函数;
C.友元函数;
D.拷贝构造函数;
二、填空题
1、一个基本语句的最后一个字符是(
;
).
2、与intx=100;
while(x>
{cout<
’P’;
x--;
等效的for语句是(
for(x=100;
x>
0;
x--)
3、执行for(inti=1;
30;
i++)cout<
”*”;
将输出(
29
)个*号。
4、数学函数sqrt(49)的结果为( 7 ),pow(3,3)的结果为:
( 27 )。
5、C++程序主要有三种基本控制结构,分别是顺序结构、条件分支结构和
循环结构
6.在c++中,除具有循环、switch语句的函数不能说明为内联函数外,其它函数都可以说明为内联函数。
7.在c++中,封装可以由public、private和protect等关键字提供。
8.若example是已定义的类,在程序结束之前,共计存在2个对象。
#include”example”
main()
{exampleX(0);
X=5;
X.print();
X=example(10);
X.print();
}
9.在c++中,如果在多条继承路径有一个公共的基类,如果想使这个公共的基类只产生一个拷贝,则可以将这个基类说明为虚基类。
使用关键字virtual说明。
10.静态成员为该类的所有对象共享,它们被存储于一个中。
15在C语言中,编程的单位是__函数___;
在C++语言中,编程的单位是_对象____。
16类是对具有共同属性和行为的一类事物的抽象描述,共同属性被描述为类中的
__数据成员___,共同行为被描述为类中的___函数成员___。
17类的具体表现是通过定义_成员函数______来操作的。
18对类中的成员函数和属性的访问是通过__①public___、__②private____和__③protect___这3个关键字来控制的。
19一般情况下,按照面向对象的要求,把类中的数据成员(属性)定义为__private___权
限,而把成员函数(方法)定义为__public____权限。
20)在类定义中,数据和成员函数默认权限是___private______。
21类中构造函数有___一个或多__个,析构函数有____一__个。
22类中的构造函数是一个特殊的成员函数,它由类的对象___生成时__调用,它的作用
是___初始化___。
23在定义类的对象时,C++程序将自动调用该对象的_构造函数_函数初始化对象自身。
24在撤销类的对象时,C++程序将自动调用该对象的__析构____函数。
25___new__运算符对指定类型对象动态分配内存并返回____true或false___。
26____delete____运算符删除(25)题中的运算符所动态分配的内存空间。
27假定用户没有给一个名为MyClass的类定义构造函数,则系统为其定义的默认构造
函数形式为__MyClass(){};
____。
28假定用户没有给一个名为MyClass的类定义析构函数,则系统为其定义的默认析构
函数形式为_~MyClass(){};
_____。
29在类中定义和实现的函数称为__内联函数______。
30非成员函数应声明为类的_友元函数(friend)_______才能访问这个类的private成员。
31若要把类FriendClass定义为类MyClass的友元类,则应在类MyClass的定义中加入
语句__friendFriendClass;
______。
32若要把函数voidFriendFunction()定义为类MyClass的友元函数,则应在类MyClass
的定义中加入语句__friendFriendFunction();
_____。
33下面的类中定义了一个关于星期的枚举类型,请完成下面的程序。
classMyClass
{
public:
enumWeek{Sun,Mon,T
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 复习资料