C++综合练习2110章Word格式.docx
《C++综合练习2110章Word格式.docx》由会员分享,可在线阅读,更多相关《C++综合练习2110章Word格式.docx(150页珍藏版)》请在冰点文库上搜索。
![C++综合练习2110章Word格式.docx](https://file1.bingdoc.com/fileroot1/2023-5/1/98252e35-948c-4032-b0d7-316e76cfab45/98252e35-948c-4032-b0d7-316e76cfab451.gif)
109
已知字母A的ASCII码为65,则表示字符常量A错误的是__________。
A'
\101'
B'
\x41'
C65
D“A”
数组
29
已知数组arr的定义如下:
intarr[5]={1,2,3,4,5};
下列语句中输出结果不是2的是
Acout<
*arr+1<
endl;
Bcout<
*(arr+1)<
Ccout<
arr[1]<
Dcout<
*art<
559
复杂
以下选项中不能正确赋值的是()。
Achars1[10];
s1=”cbest”;
Bchars2[]={‘c’,’b’,’e’,’s’,’t’};
Cchars3[10]=”cbest”;
Dchar*s4=”cbest\n”;
A
自定义数据类型
433
已知枚举类型定义语句为:
enumToken
{NAME,NUMBER,PLUS=5,MINUS,PRINT=10};
则下列叙述中错误的是()。
A枚举常量NAME的值为1
B枚举常量NUMBER的值为1
C枚举常量MINUS的值为6
D枚举常量PRINT的值为10
模板
422
下面关于类模板叙述不正确的是________。
A可以使用派生
B可以有多个析构函数
C可以有多个构造函数
D可以有多个参数
重载
412
下列运算符中全都可以被友元函数重载的是()。
A=,+,-,\
B[],+,(),new
C->
,+,*,>
>
D<
,>
,+,*
类与对象
403
有如下类声明:
classTestClass
{
inti;
private:
intj;
protected:
intk;
public:
intm,n;
};
其中,私有成员的数量为()。
A0
B1
C2
D3
多态性与虚函数
388
在类中用来声明虚成员函数的关键字是________。
Avirtual
Bpublic
Cprotected
Dprivate
继承与派生
386
设有以下定义:
#include<
classA1
voidshow1(){cout<
classA1"
endl;
}
classA2:
publicA1
voidshow2(){cout<
classA2"
classA3:
protectedA2
voidshow3(){cout<
classA3"
voidmain()
A1obj1;
A2obj2;
A3obj3;
...
}
以下不合法的调用语句是()。
Aobj1.show1();
Bobj2.show1();
Cobj3.show1();
Dobj2.show2();
367
假定MyCIass为一个类,那么下列的函数说明中,()为该类的析构函数。
Avoid~MyClass();
B~MyClass(intn);
CMyClass();
D~MyClass();
361
下列描述中错误的是()。
A继承分为多重继承和单继承
B对象间通信靠传递消息实现
C在外面看不到对象的内部特征是基于对象的"
模块独立性好"
这个特征
D类是具有共同属性、共同方法的对象的集合
344
有关变量的正确说法是______。
A存储单元及内容
B自动变化的数
C地址
D人为设置的数
316
下列说法不正确的是____。
A函数必须有返回值
B函数的返回值是通过return语句返回到主调函数的。
Creturn语句后的括号可要可不要
D有函数值的函数,它返回的函数值的类型是确定的
输入输出流
261
使用setw()对数据进行格式输出时,应包含()文件。
Aiostream.h
Bfstream.h
Ciomanip.h
Dstdlib.h
252
关于read(char*buf,intsize)函数的下列描述中,()是对的。
A函数只能从键盘输入中获取字符串
B函数所获取的字符多少是不受限制的
C该函数只能用于文本文件的操作中
D该函数只能按规定读取所指定的字符数
241
C++源程序文件的扩展名为。
A.CPP
B.C
C.DLL
D.EXE
234
中等
某结构体变量定义如下,对此结构体变量的成员的引用形式正确的是()
structst{inta,b;
floatx,y;
}s1,*p;
s1;
As1->
a
Bp->
b
Cp.x
D*p.y
218
关于源程序中注释部分的说法,___________是正确的。
A
注释参加编译,出现在目标程序中
B
注释参加编译,但不出现在目标程序中
C
注释不参加编译,但出现在目标程序中
D
注释不参加编译,也不出现在目标程序中
217
下面哪一C++语言表达式不能正确表示数学关系a<x≤b。
选项为__________。
Aa<
x&
&
=b
Bx<
=b&
a<
x
C!
(a>
=x)&
!
(x>
b)
Da<
程序控制结构
195
有以下函数:
以下程序段中不能根据x值正确计算出y值的是()。
A
if(x>
0)y=1;
elseif(x==0)y=0;
elsey=-1;
By=0;
elseif(x<
0)y=-1;
C
y=0;
=0)
if(x>
D
elsey=0;
126
下列描述中哪个是正确的__________。
A私有派生的子类无法访问父类的成员
B类A的私有派生子类的派生类C无法初始化其祖先类A对象的属性,因为类A的成员对类C是不可访问的
C私有派生类不能作为基类派生子类
D私有派生类的所有子孙类将无法继续继承该类的成员
113
定义整型变量x,y,z并赋初始值6的正确语句是__________。
Aintx=y=z=6;
Bintx=6,y=6,z=6;
Cx=y=z=6;
Dintx,y,z=6;
92
若有以下定义和语句:
ints[4][5],(*p)[5];
p=s;
则指针对s数组中第三个元素的正确引用形式是()。
Ap[0][3]
Bp[1][2]
Cp[0][2]
Dp[1][3]
下列关于指针的运算中,()是非法的。
A两个指针在一定条件下,可以进行相等或不等的比较运算
B可以将一个空指针赋值给某个指针
C一个指针可以加上两个整数之差
D两个指针在一定条件下可以相加
683
以下程序段的结果是()。
intm=0,n=0;
if(++m&
++n)
cout<
m<
"
"
<
n<
A0,0
B1,1
C1,0
D0,1
636
有以下程序:
voidmain()
inta[]={1,2,3,4,5,6,7,8,9,10,11,12},*p=a+5,*q=NULL;
*q=*(p+5);
*p<
*q<
程序运行后的输出结果是()。
A运行后报错
B66
C611
D510
622
若有定义inta[3][5]={{2,2},{2,6},{2,6,2}};
则数组a共有()个元素。
A7
B9
C6
D15
580
若有一个MyClass类,则执行语句
MyClassa,b
(2),*p;
后,自动调用该类的构造函数()次。
A1
B2
C3
D4
558
有如下数组声明:
intvalues[30];
下标值引用错误的是()。
Avalues[30]
Bvalues[20]
Cvalues[10]
Dvalues[0]
540
能正确表示逻辑关系“a大于等于10或a不大于0”的C++语言表达式是()。
Aa>
=10ora=0
Ba>
=0ora<
=10
Ca>
=10&
=0
Da>
=10||a<
504
当要建立一个文件,并从其中读数据和向其中写数据时,应该建立下面哪种流类的对象()。
Aifstream
Bofstream
Cfstream
Dios
503
cin是I/O流库预定义的()。
A类
B对象
C包含文件
D常量
488
下列运算符可用于实型数的是()。
A%
B--
C<
D&
461
已知教师记录的描述为:
tructteacher
intid;
charname[20];
struct{inty;
intm;
intd;
}birth;
}t;
将变量t中的d成员赋值为12的语句为()。
Ad=12
Bbirth.d=12
Ct.d=12
Dt.birth.d=12
429
下列是重载乘法运算符的函数原型声明,其中错误的是()。
AMyClassoperator*(double,double);
BMyClassoperator*(double,MyClass);
CMyClassoperator*(MyClass,double);
DMyClassoperator*(MyClass,MyClass);
406
能被派生类继承的函数是()。
A静态成员函数
B构造函数
C析构函数
D复制的构造函数
387
关于动态联编的下列叙述中,错误的是________。
A动态联编是以虚函数为基础的
B动态联编运行时确定所调用函数代码
C动态联编调用函数操作是指向对象的指针或对象引用
D动态联编是在编译时确定操作函数
297
以下叙述中不正确的是_____。
A在不同的函数中可以使用相同名字的变量
B函数中的形式参数是局部变量
C在一个函数内定义的变量只在本函数范围内有效
D在一个函数内的复合语句中定义的变量在本函数范围内有效
212
若已有inte;
则while(e){…},中的循环控制条件等价于:
____________。
Ae==0
Be!
=0
Ce==1
De!
=1
145
下列虚基类的声明中,正确的是()。
AclassvirtualB:
publicA
BvirtualclassB:
CclassB:
publicAvirtual
DclassB:
virtualpublicA
138
在C++语言中.表示一条语句结束的标号是__________。
A“#”
B“;
”
C“}”
D“//”
122
下列有关类的说法,不正确的是__________。
A类是一种用户自定义的数据类型
B只有类中的成员函数或类的友元函数才能存取类中的私有数据
C在类中,如果不作特别说明,所有的数据成员均为私有数据成员
D在类中,如果不作特别说明,所有的成员均为公有成员
106
下列字符串常量中,错误的表示是()。
A"
\"
Yes\"
or\"
No\"
B"
abcd\n"
C′ABC′
D"
\tOK!
745
以下哪种情况应考虑把一个成员函数声明为虚函数()。
A成员函数所在的类不会作为基类
B成员函数所在的类可能会作为基类,且在其派生类中该函数的功能不需更改
C派生类更改了该成员函数的功能,且仅通过对象名调用该函数
D派生类更改了该成员函数的功能,且通过基类指针去访问该函数
534
下列描述正确的是()。
A不是每个C++程序都必须包含预处理命令#include<
。
BC++程序必须包含return语句。
CC++程序中的变量必须定义在主程序的内部。
DC++程序中的符号变量可以不进行定义。
479
下列选项中不属于C++的类型的是()。
Asignedshortint
Bunsignedlongint
Cunsignedint
Dlongshort
467
关于友元,下列说法正确的是()。
Aa类为b类的友元类,则a类中的所有函数就可以访问b类中的所有成员
B友元函数的定义在类体中
C友元只能是类
D友元只能是函数
432
要定义一个具有5个元素的一维数组vect,并使其各元素的初值依次是30,50,-88,0和0,则下列定义语句中错误的是()。
Aintvect[]={30,50,-88};
Bintvect[]={30,50,-88,0,0};
Cintvect[5]={30,50,-88};
Dintvect[5]={30,50,-88,0,0};
341
可放在声明区的语句是________。
Afor语句
Bwhile语句
C结构体定义语句
Dswitch语句
283
设有inta[10],*p=a;
则下面哪种表示与a[5]不等价()。
A*(a+5)
B*(p+5)
Cp[5]
Dp+5
250
语句ofstreamf(“SALARY.DAT”,ios:
:
app)的功能是建立流对象f,并试图打开文件SALARY.DAT与f关联,而且()。
A若文件存在,将其置为空文件;
若文件不存在,打开失败
B若文件存在,将文件指针定位于文件尾;
若文件不存在,建立一个新文件
C若文件存在,将文件指针定位于文件首;
D若文件存在,打开失败;
243
以下关于文件操作的叙述中,不正确的是()。
A打开文件的目的是使文件对象与磁盘文件建立联系
B文件读写过程中,程序将直接与磁盘文件进行数据交换
C关闭文件的目的之一是保证将输出的数据写入硬盘文件
D关闭文件的目的之一是释放内存中的文件对象
182
x、y为整数,x=15,y=-2。
表达式x>
10&
y<
2||x*y==10&
x的值为()。
A0
B15
C1
D2
150
若要用派生类的对象访问基类的保护成员,以下观点正确的是
A不可能实现
B可采用保护继承
C可采用私有继承
D可采用公有继承
148
关于虚函数的描述中,()是正确的。
A虚函数是一个静态成员函数
B虚函数是一个非成员函数
C虚函数既可以在函数说明时定义,也可以在函数实现时定义
D派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型
120
考题