C++程序设计语言第一次作业题及答案doc.docx
《C++程序设计语言第一次作业题及答案doc.docx》由会员分享,可在线阅读,更多相关《C++程序设计语言第一次作业题及答案doc.docx(11页珍藏版)》请在冰豆网上搜索。
C++程序设计语言第一次作业题及答案doc
第1次作业
一、单项选择题(本大题共60分,共20小题,每小题3分)
1.C++程序屮,数据的两种表现形式是()。
A.
常最和变最
B.
常量和矢量
C.
变量和矢量
D.
矢量和标量
2.C++程序屮,定义引用变量时,()。
A.
使用的运算符是*
B.
使用的运算符是()
C.
使用的运算符是&
D.
使用的运算符是[]
3.下列关于函数的说法中,不正确的是()。
A.在不同函数屮可以使用相同的名字命名变量
B.形式参数是局部变量
C.在函数内部定义变量的作用域在本函数中
D.在一个函数内的复合语句屮定义变量的作用域也是整个函数
4.C++程序的函数调用中,使用数值参数传递时,()。
A.
H总够在被调函数中通过形参修改实参
B.
实参和对应的形参数据类型可以不一致
C.
形参不能够从实参获取数值
D.
不能在被调函数屮通过形参修改实参
5.C++语言中,定义一个文件流对象的正确语句形式是()。
A.
void*sp;
B.
fstreamsp;
C.
FILE&sp;
D.
filestream*sp;
6.对于字符常量与其对应的转义字符书写形式是()。
A.
,\ior
B.
'\x42,
C.
'\x41'
D.
'\A,
7.下列()项不属于静态联编。
A.
非成员函数调用
B.
非虚函数调用
C.
虚函数调用
D.
函数重载调用
8・下列不是异常错谋的种类的是()。
A.
编译错谋
B.
逻辑错谋
C.
运行时错误
D.
服务器连接错误
9.下面()项能够止确地定义类A以保护方式从B类继承。
A.
protectedclassA:
B{・・・}
B.
classprotectedA:
B{---}
C.
classA:
privateB{...}
D.
classA:
protectedB{•••}
10.C++语言中,表达式18/4*sqrt(4.0)/8的数据类型是()。
A.
int
B.
float
C.
double
D.
不确定的
11・线性表的存储结构主要包括顺序存储结构和()。
A.
反序存储结构
B.
链式存储结构
C.
散列存储结构
D.
二叉树存储结构
12.STL有大量用來处理容器的算法,STL算法由()实现。
A.
模板类
B.
类
C.
成员两数
D.
模板函数
13.类A从类B派生而來,下面()可以在类A的构造函数中调用基类B的构造函数
A.
classA:
publicB{public:
A(inti){B(i)};}
B.
classA:
publicB{public:
A(inti):
B(i){};}
C.
classA:
publicB{public:
A(inti):
B(inti){};}
D.
classA:
publicB{public:
A(inti){B(inti)};}
14.C++的函数有函数头和函数体两部分组成,下而所列的函数头书写格式小不止确的是()。
A.main(inta,intb)
B.main(inta,intb=l)
C.main(inta=0,intb)
D.main(inta二2,intb二3)
15.下列存取控制符中,()能够限定类外代码不能访问被它修饰的成员。
A.
private
B.
public
c.
protected
D.
private和protected都可以
16.有如下代码定义一个对象和对象引用,以下()能够正确地使用对彖引用来调用成员函数。
Aa,&b=a;
A.
b->show();
B.
(*b)・show();
C.
b.show();
D.
(*(*b)).show();
17.下列程序代码运行后的输出是()。
^includeusingnamespacestd;classA{private:
intx;constinty;public:
A(intx,int
y):
y(y){this->x二x;}voidshow(){cout<endl;}};voidmain(){Aa(l,2);a.show();}
A.
B.
2>1
c.
1,2
D.
1,(随机数)
18.下列()项的代码,能够正确地将类A的函数show申明为纯虚函数。
A.
virtualclassA{voidshow()=0;}
B.
classA{voidshow()=0;}
C.
classA{virtualvoidshow();}
D.
classA{virtualvoidshow()=();)
19.下列的代码运行吋不会发牛拷贝构造函数调用的是()。
A.
Pointpl(1,2);Pointp2(pl)
B.
Pointpl(1,2);Pointp2;p2=pl;
C.
voidprintPoint(Pointp){}
D.
PointcreatePoint(){Pointp;returnp;J
20.类A是类B的基类,下面()项表示的代码执行完成后,不能够正确调用B类的析构函数。
A.
B*p=newB();deletep;
B.
A*p=newB();deletep;
C.
Aa;Bb;a=b;
D.
A*a;Bb;a=&b;
二、多项选择题(本大题共20分,共5小题,每小题4分)
1.
在定义类模板时需要主要一下问题()。
A.
如杲在全局域中声明了与模板参数同名的变量,则该变量被隐藏掉。
B.
模板参数名不能被当作类模板定义屮类成员的名字。
C.
同一个模板参数名在模板参数表屮只能出现一次。
D.
在类模板的前向声明和定义中,模板参数的名字口J以不同。
2.
异常错误大概分为三类,分别是()。
A.
编译错误。
B.
运行吋错误。
C.
逻辑错误。
D.
硕件错误。
3.
C++支持的多态特征包括()。
A.
重载多态
B.
强制多态
c.
包含多态
D.
参数多态
4.
类与类之间的关系包括()。
A.
继承
B.
引用
C.
赋值
D.
组合
5.
STL的三个基本组成部分是()o
A.
容器
B.
模板
C.
算法
D.
迭代器
三、判断题(本大题共20分,共10小题,每小题2分)
1.C++语言屮,文件是指具名存放在外部存储设备上的一组信息,它们以二进制代码形式存在。
2.C++语言中,定义多维数组时,每一维的长度都必须用单独的一个方括号(数组运算符)括起來。
3.C++程序屮,文件的随机读写方式冇利于数据文件的修改操作,从而捉高这类文件处理的效率。
4.C++语言中,函数模板本质上和函数的重载是相同的,可以相互替代。
5.C++程序中,可以通过输出文件流对象和插入操作符(«)配合将数据写入到数据文件中。
6.运行时错误是在编译调试时是无法发现的,只有在运行时才岀现,并且运行时会一定出现。
7.模板参数名不能被当作类模板定义小类成员的名字。
&为了确定线性链表第一个结点的存放位置,必须使用一个指针变量指向链表的表头。
9.类的友元关系是单向的,类A是类B的友元类,反过来类B不一定是类A的友元类。
但是友元关系是可以传递的,如果类A是类E的友元类,类C乂是类A的友元类,那么类C肯定也是类B的友元类。
10.组合表示的是“有一个”(hasa)的关系,是一般和特殊的关系;而继承表示的是“是一个”(isa)的关系,是部分与整体的关系。
答案:
一、单项选择题(60分,共20题,每小题3分)
1.A2.C3.D4.D5.B6.B7.C8.D9.D10.C11.B12.D13.B
14.C15.D16.C17.C18.D19.B20.B
二、多项选择题(20分,共5题,每小题4分)
1.ABCD2.ABC3.ABCD4.AD5.ACD
三、判断题(20分,共10题,每小题2分)
1.V2.V3.V4.X5.V6.X7.丁8.丁9.X10.X