04737C++程序设计试题和答案解析Word文件下载.docx
- 文档编号:7628368
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:17
- 大小:20.36KB
04737C++程序设计试题和答案解析Word文件下载.docx
《04737C++程序设计试题和答案解析Word文件下载.docx》由会员分享,可在线阅读,更多相关《04737C++程序设计试题和答案解析Word文件下载.docx(17页珍藏版)》请在冰点文库上搜索。
返回数组a中下标为i的元素,如存在整型数组intArray[]={1,2,3},在执行
Array,2>
++后,Array中各元素值为
A.{0,1,2}B.{l,1,2}
C.{1,2,4}D.{0,2,3}
6.类构造函数定义的位置是
A.类体内或体外B.只是在类体内
C.只在类体外D.在类的成员函数中
7.设存在数组a,其长度为Len,则下列哪项泛型算法用于在a中寻找值Value的位置
A.reverse<
a,a+Len,Value>
;
B.sort<
C.find<
D.copy<
8.关于对象的性质,下列描述错误的是:
A.同一类对象间可相互赋值B.可以使用对象数组
C.对象不可以用作函数参数D.一个对象可以用作另一个类的成员
9.声明一个没有初始化参数的对象,需调用
A.指定参数构造函数B.拷贝构造函数
C.初始化函数D.默认构造函数
10.下列运算符不能重载的是
A.!
B.sizeof
C.newD.delete
11.如P是一指针类型表达式,则下列表达式中不是左值表达式的是
A.PB.*P
C.&
PD.P+1
12.使用下列流格式控制符能输出一个换行符的是
A.decB.oct
C.hexD.endl
13.下列表达式,能将P声明为常量指针的是
A.constint*P;
B.int*constP;
C.constint*constPD.int*P
14.C++程序文件扩展名为
A..cppB..h
C..libD..obj
15.对C++中主函数描述正确的是
A.名称为main,可为多个B.名称不限,可为多个
C.名称为main,必须有且只能有一个D.名称不限,必须有且只能有一个
16.假定有char*P="
Hello"
要输出这个字符串的地址值的正确写法是
A.cout<
<
*PB.cout<
P
C.cout<
&
PD.cout<
void*>
17.下列描述错误的是
A.在没创建对象前,静态成员不存在
B.静态成员是类的成员,不是对象成员
C.静态成员不能是虚函数
D.静态成员函数不能直接访问非静态成员
18.对于友元描述正确的是
A.友元是本类的成员函数B.友元不是本类的成员函数
C.友元不是函数D.以上皆不正确
19.一个函数功能不太复杂,但要求频繁使用,则该函数适合作为
A.内联函数B.重载函数
C.递归函数D.嵌套函数
20.下列默认参数的声明不正确的是
A.intmax<
inta,intb,intc,intd=0>
B.intmax<
inta,intb,intc=0,intd=0>
C.intmax<
inta=0,intb,intc=0,intd=0>
D.intmax<
inta,intb=0,intc=0,intd=0>
非选择题部分
注意事项:
用黑色字迹的签字笔或钢笔将答案写在答题纸上,不能答在试题卷上。
二、填空题<
21.C++程序的编译是以___文件___为单位进行的。
22.默认参数是在__函数原型____中说明的,默认参数可以多于一个。
23.通过C++语言中的___派生___机制,可以从现存类中构建其子类。
24.拷贝构造函数使用___引用对象___作为参数初始化创建中的对象。
25.基类的公有成员在通过公有派生得到的子类中访问权限是___公有类型___。
26.要关闭一个输出流对象myFile,所用的C++语句是___myFile.close<
>
___。
27.执行下列代码:
doublepi=3.1415926;
cout<
setprecision<
5>
pi;
程序的输出结果是___3.1416___。
28.对象作为函数参数,就是将实参对象的___值___传递给形参对象,这种传递是单向的。
29.建立一个对象时,对象的状态是不确定的。
为了使对象的状态确定,必须对其进行正确的__初始化____。
30.C++类中的___析构___函数在对象的生存期结束时被自动调用。
31.C++语言中的整数常量有四种:
十进制常量、长整型常量、八进制常量和___十六进制常量___。
32.UML中对象之间的静态关系是通过对象属性之间的连接反映的,称之为___实例连接___。
33.声明一个常成员函数Fun,返回类型为char,第一个参数类型为int,第二个参数类型为double,则该函数的声明原型是___charFun<
int,double>
const;
34.在C++语言中,利用向量类模板定义一个具有20个int类型且初值为1的向量C,实现此操作的语句是___vector<
int>
C<
20,1>
35.执行下列代码:
inta=123,b=321;
setw<
3>
a<
b<
endl;
程序输出结果是:
__123321____。
36.将指向对象的指针作为函数参数,形参是对象指针,实参是对象的___地址值___。
37.vector类中用于返回向量中第一个对象的方法是___front<
38.C++语言中动态分配内存的关键字是__new____。
39.C++类成员的访问权限有___私有___、公有和保护三种。
40.写出声明一个复数对象num的语句,并使对象被初始化为单精度2.2+1.3i,此声明语句是__complex<
float>
num<
2.2,1.3>
____。
三、改错题<
本大题共5小题,每小题4分,共20分>
下面的每题中有一处错误,请在答题纸上写出错误所在行并给出修改意见
41.#include<
iostream.h>
main<
>
{
intx=5,y=6;
constint*p=&x;
*p=y;
指向常量的指针P不能进行左值操作
cout<
*p<
}
42.#include<
classf{
private:
Tx,y;
模板没有声明
public:
f1<
Ta,Tb>
{x=a;
y=b;
}
Tmax<
{return<
x>
y>
?
x:
y;
};
main<
{
fa;
a.f1<
1.5,3.8>
a.max<
43.#include<
classpoint{
private:
floatx,y;
public:
point<
floata,floatb>
f<
{x=0;
y=0;
voidgetx<
{cout<
x<
voidgety<
y<
pointa<
3.5>
没有定义一个参数的构造函数
a.getx<
44.#include<
classf{
private:
floatget<
{returnx+y;
1,3.8>
a.get<
get<
函数为私有类型
45.#include<
classtestl{
Intx;
testl<
{x=2;
voidset<
inta>
voidget<
classtest2{
intx;
test2<
{x=3;
classtest:
publictestl,publictest2.{
voidset<
voidgettest<
testa;
存在二义性,使用时需要指出使用哪个基类的函数。
例如:
a.test1:
:
四、完成程序题<
46.完成下面类中的成员函数的定义。
classpoint
intm,n;
point<
int,int>
point&>
point:
inta,intb>
m=a;
___n__=b;
___point&
t___>
m=t.m;
n=t.n;
47.#include<
iostream>
usingnamespacestd;
classbase
base<
intget<
{returnx;
voidshowbase<
{cout<
"
x="
classDerived:
publicbase
{private:
inty;
Derived<
a>
{y=b;
voidshowderived<
y="
voidmain<
baseb<
Derivedd<
6,7>
b.showbase<
d.showderived<
________b=d__________;
_______base&
b1=b___________;
b1.showbase<
base*pb=&b1;
’
pb->
showbase<
输出结果如下:
x=3
x=6,y=7
x=6
x=6
48.#include<
#include<
fstream>
classcomplex
intreal:
intimag;
complex<
intr=0,inti=0>
real=r;
imag=i;
complexoperator+<
____complex&
a______,complex&b>
intr=a.real+b.real:
inti=a.imag+b.imag;
return____complex<
r,i>
______:
complexx<
1,2>
y<
3,4>
z;
z=x+y;
z.real<
+"
z.imag<
i"
49.下面程序的运行结果如下:
Thisisline1
Thisisline2
Thisisline3
将下列程序补充完整,答案写在答题纸上。
源程序如下:
#include<
#include___<
___
fstreamfin,fout;
fout.open<
my.txt"
ios:
out>
if<
!
fout.is_open<
return;
for<
inti=0;
i<
3;
i=i+1>
fout<
Thisisline"
i+1<
fout.close<
fin.open<
in>
fin.is_open<
charstr[100];
while<
_!
fin.eof_____>
fin.getline<
str,100>
str<
fin.close<
50.求两个浮点数之差的cha函数的原型声明、调用方法。
floata,b;
___floatcha<
float,float>
___;
∥函数cha的原型声明
a=12.5;
b=6.5;
floatc=____cha<
a,b>
______;
∥调用函数cha
c<
floatcha<
floatx,floaty>
floatw;
w=x-y;
returnw;
五、程序分析题<
本大题共2小题,每小题5分,共1O分>
51.#lnclude<
voidfunc<
inti=0;
6;
i++>
func<
intx=0;
x++;
staticinty=0;
y++;
y="
答:
x=1;
y=1
y=2
y=3
y=4
y=5
y=6
52.#include<
lostream.h>
classA
A<
voidShow<
~A<
staticintc;
intA:
c=O;
A:
A<
constructor."
c+=10;
voidA:
Show<
c="
destrucator."
endl:
Aa,b;
a.Show<
b.Show<
constructor.
c=20
destrucator.
六、程序设计题<
本大题共1小题,共10分>
53.在三角形类tri实现两个函数,功能是输入三个顶点坐标判断是否构成等边三角形
math.h>
classpoint{point
f<
Voidset<
floatgetx<
noatgety<
{returny;
classtri{
pointx,y,z;
floats1,s2,s3;
public....settri<
....>
∥用于输入三个顶点坐标
....test<
∥用于判断是否构成等边三角形
请写出两个函数的过程<
如果需要形式参数,请给出形参类型和数量,以及返回值类型>
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 04737 C+ 程序设计 试题 答案 解析
![提示](https://static.bingdoc.com/images/bang_tan.gif)