完整版C试题及答案.docx
- 文档编号:29155734
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:22
- 大小:32.93KB
完整版C试题及答案.docx
《完整版C试题及答案.docx》由会员分享,可在线阅读,更多相关《完整版C试题及答案.docx(22页珍藏版)》请在冰豆网上搜索。
完整版C试题及答案
C++考试试卷
得分
一、单项选择(每空1分,共20分)注意选项填写到下面表格中!
)(345678910
12
1C
23BD
4C
5B
6D
7A
8A
9C
10D
c11
db1312
c14
b15
16
17
18
19
20
11
1213
14
15
16
17
18
19
20
1.已知:
char*s=S456;则cout<
A)123456B)3C)3456D)2
2.已知:
char*s=abcde;则sizeof(s)、sizeof(*s)、strlen(s)的值依次为()。
A)615B)415C)654D)445
3.下列语句中正确的是()。
A)char*s;*s=abcdefg;
B)char*s;cin>>s;
C)char*s1=abcd,*s2=efghijk;strcpy(s1,s2);
D)char*s=abcdefg;cout<<*s;
4.C++中,关于构造函数和析构函数,正确的描述是()。
A)在定义类时,必须自定义构造函数和析构函数,在创建对象时自动调用构造函数,在释放对象时自动调用析构函数
B)构造函数和析构函数均可以重载
C)已知类Student以及Student*p;在使用p=newStudent;时自动调用无参构造函数创建动态对象,在deleltep;时自动调用析构函数释放动态对象
D)构造函数和析构函数都可以成为虚函数
)。
关于拷贝构造函数的描述正确的是(5.
A)通常的拷贝构造函数的参数是对象的指针类型
B)如果不自定义拷贝构造函数,系统提供默认的拷贝构造函数
C)如果有自定义的构造函数,系统就不再提供拷贝构造函数
D)如果需要用已有对象为新创建的对象初始化时,就必须自定义拷贝构造函数
6.有关静态成员的描述错误的是()。
A)某个类的静态数据成员由该类的所有对象所共享
B)类的公有静态数据成员既可以用类的对象访问,也可以直接用作用域运算符“:
:
”通过类名来访问
C)静态数据成员既可以是私有成员,也可以是公有成员
D)类中一旦定义了静态数据成员,就必须定义静态成员函数,以便对静态数据成员进行操作
7.一个类的友元函数或友元类能够通过成员访问运算符访问该类的()。
A)所有成员B)私有成员C)保护成员D)公有成员
8.下面关于继承方式的描述中错误的是()。
A)公有继承时,基类的公有成员和保护成员在派生类中都成为公有成员
B)私有继承时,基类的公有成员和保护成员在派生类中都成为私有成员
C)保护继承时,基类的公有成员和保护成员在派生类中都成为保护成员
D)无论哪种继承方式,基类中的私有成员在派生类中都无法直接访问
9.类型兼容是指在基类对象可以出现的地方,都可以使用公有派生类的对象,已知:
classBaseClass
{//…};
classDerivedClass:
publicBaseClass
{//…};
BaseClassb,*pb;
DerivedClassd,*pd;
下面不属于类型兼容的是()。
A)b=d;
B)BaseClass&bb=d;
C)pd=&b;
D)pb=&d;
10.在派生类中重新定义虚函数时,除了(),其他方面都必须与基类中相应的虚函数保持一致。
A)参数个数B)参数类型C)函数名称D)函数体
11.下列运算符中,必须使用成员函数进行重载的是()。
A)==B)=C)>>D)++
12.下列关于运算符重载的描述中,错误的是()。
A)运算符重载不可以改变优先级
B)运算符重载不可以改变结合性
C)运算符重载不可以改变运算符的操作数个数
D)加法运算符“+”和赋值运算符“=”都重载之后,意味着“+=”也被重载了
13.有关运算符重载的说法错误的是()。
A)在一个类中,可以对一个操作符进行多次重载
B)重载赋值运算符“=”时,为了保持原有特性,重载运算符函数中应该使用返回语句“return
*this;”
C)C++中所有的运算符都可以被重载
D)如果在某个类中使用成员函数对运算符重载,其左操作数必须是该类的对象
14.已知某个类的友元函数重载了+=和-,a,b,c是该类的对象,则“a+=b-c”被C++编译器解释为()。
A)operator+=(a,operator-(b,c))
B)a.operator+=(b.operator-(c))
C)operator+=(a,b.operator-(c))
D)a.operator+=(operator-(b,c))
15.下面4个选项中,专门用于读取单个字符的是()。
A)cin.read()B)cin.get()C)cin.put()D)cin.getline()
)。
函数的叙述中,错误的是(getline()下列关于16.
A)getline()函数仅用于从键盘而不能从文件读取字符串
B)getline()函数读取字符串长度是受限制的
C)getline()函数读取字符串时,遇到终止符就停止
D)getline()函数中所使用的终止符默认是换行符,也可指定其他终止符
17.打开文件的方式中,()以追加方式打开文件。
A)ios:
:
inB)ios:
:
outC)ios:
:
appD)ios:
:
trunc
18.当使用ofstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为()。
A)ios:
:
out|ios:
:
binary
B)ios:
:
in|ios:
:
binary
C)ios:
:
out
D)ios:
:
in
19.有关函数模板和模板函数说法错误的是()。
A)函数模板只是对函数的描述,编译器不为其产生任何执行代码,所以它不是一个实实在在的函数
B)模板函数是实实在在的函数,它由编译系统在遇到具体函数调用时所生成,并调用执行
C)函数模板需要实例化为模板函数后才能执行
D)当函数模板和一般函数同名时,系统先去匹配函数模板,将其实例化后进行调用
20.一个()允许用户为类定义一种模式,使得类中的某些数据成员及某些成员函数的返回值能取任意类型。
A)类模板B)模板类C)函数模板D)模板函数
得分二、判断题(每空1分,共20分)
注意:
请将判断题结果(正确为T,错误为F)
填写到下面表格中!
12345678910
20
19
18
17
16
15
14
13
12
11
。
类定义中的成员默认的访问权限是1.private一个类中的保护成员和公有成员类似,在程序的任何地方都可以被访问。
2.
系统提供的缺省构造函数没有参数,所以自定义构造函数必须带有参数。
3.
一旦自定义了构造函数,系统便不再提供缺省的构造函数。
4.
一个类只能有一个构造函数和一个析构函数。
5.
静态数据成员必须在类中进行定义和初始化。
6.
静态成员函数中不能访问非静态成员。
7.
必须采用成员重载。
重载插入运算符“<<”8.
B中的所有成员。
的友类,那么类是类BA中的所有成员函数都可以访问类9.如果类A10.释放派生类的对象时,首先调用基类的析构函数,然后调用派生类的析构函数。
11.拥有纯虚函数的类称为虚拟基类,它不能用来定义对象。
12.虚函数只有在有继承的情况时才会存在。
classBase1{//…};已知:
13.
classBase2{//…};
classDerived:
publicBase1,publicBase2
Derived():
Base2(),Base1(){}{
//…
};
的构造函数,最后的构造函数,然后调用Base1创建Derived类的对象时,先调用Base2
的构造函数。
调用Derived基类的指针或引用调用虚函数时采用后期绑定。
14.
15.由抽象基类继承得到的派生类肯定是具体类。
友元函数内能够访问任何对象的任何成员。
16.
对二元运算符采用成员函数重载时,只需要一个参数,而且该参数可以是内部类型。
17.
不能是参数为该类的对象,18.对一元运算符采用某个类的友元函数重载时需要一个参数,其他类型。
.
19.C++的输入/输出流库中,ios类是一个虚基类,istream类、ostream类以及streambuf类都是ios类的派生类。
20.设inf是一个ifstream类的流对象,则inf.seekg(10,ios:
:
beg);表示将文件指针从文件当前位置向后移动10个字节。
得分三、读程序写结果(每空2分,共32分)
(注意将结果写在下面相应横线上!
)
⑴⑵⑶⑷
⑸⑹⑺⑻
⑼⑽⑾_⑿
⒀⒁⒂⒃
1.写出下面程序的运行结果。
#include
classA
{public:
A()
{cout< : A()called.\n;} virtual~A() {cout< : ~A()called.\n;} }; classB: publicA {public: B(inti) {cout< : B()called.\n; buffer=newchar[i];} virtual~B() {delete[]buffer; cout< : ~B()called.\n;} private: char*buffer; }; voidfun(A*a) {deletea;} voidmain() {A*b=newB(10); fun(b); } 运行结果: ⑴ ⑵ ⑶ ⑷ 2.写出下面程序的运行结果。 #include classShape { public: voidDraw() {
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整版 试题 答案