04737C++程序设计10.docx
《04737C++程序设计10.docx》由会员分享,可在线阅读,更多相关《04737C++程序设计10.docx(14页珍藏版)》请在冰豆网上搜索。
04737C++程序设计10
全国2019年10月高等教育自学考试
C++程序设计试题
课程代码:
(M737
谄考生按规定用的菩秦涂、頁在答Jtt纸上。
选择题部分
注意專项:
1.咨理前•电尘务必将n己的彩就<*段名称儷名”
2.倔小魁1创谱案丿二用2B卅笔把存割詆上対应軀II的容案标寸涂饥如需改动•用橡皮擦于冷苗・M选涂其他停案标号”不低并亦试购於上。
一・单项选揮Uh*大晚共20小1ft.旬小121分.共20分•衣甸小Ifi列出的备选顷中
只有一项是最符合U日要求的.谓梅其述出•
I.頤处理金令任程序中开头的符号川
A.•B・*
C・&D.@
2・按凤标IR符的宴求.不能爼成标讲符的符号是
A.址桂袴B.下划4
C.大小耳字毋D.数字字符
3.结构化程庁讹计所熾疋的三种站弘炫制给构足
A.愉入.处理、输出B.榊形.网形、环形
c.*«字、堆择、循环d.主程斤、子w/r,殆数
4.在一个被调用的故中,关于return讷旬使用的描述.侑谋的足
A・被调用请数中可以不用returniA句
B.被调用函数中可以使用事个returniB<>J
C・被调用函数中,如眾令返何侑・就-定噪有relumifl句
【》•帔调用函敬中.个return返回冀个血给调用旳故
5.以下4个选项中,不能希作一条in句的足
A・if{l>=«O)m=lu>«2;B・aK).b-0tc-C;
C.if(a>0);D.{;}
6.以下中与谒旬k・a>b?
1:
0:
功能等价的是
A.if(a>b)k«l;elwk-C;B・IRQbjkB;
C.iRab)k>l:
7.以下程序的输出结果尼
"include
voidmain()
{churIO]・{5bc叮aabdfkTdcdbc^abbdTccT};
cout«p[3]«endl;}
A.dcdbcB.abbd
C.abcD・abb
8•下而的哪个保留字不能作为函故的返冋类別
A.voidB.int
CtnewD.long
9•片派生类从一个基类保护继承时.坯类屮的一些成员在谦生类屮成为保护成员,这些成员在墓类中廉何的访问属性是
A・任何B.公有版保护
C・保护或私有D.私育
10.任公仃诚生悄况八"关派生娄刈*和甚类对*的关系・F列叙述不止确的足
A・派生类的对缺可以賦给星类的对*
B・派生类的対象町以初始化棊类的引用
C・漩生类的对線町以11接访何基类中的成员
D.派生类的对狄的地址町以赋给指向展类的術什
11・友员的作用之一足
A.提高棵序的运行效帑B.加强类的封装
C.实现数据的隐蔽性D.堆加成罚函数的种类
12.若箜对Dam类中帀.朝的加法运灯符成员函妆进行卅明,F列选项中正确的足
A.Data+(Data);B.DataopcratoH-(Data);
C.Data+opcratD.operator^(Data,Data):
13.下列关于函数楼板的描述中,正确的足
A・负数模板忌一个实例函数
B・便用顒数模板定义的负数没台返冋类弋
C・由数檯板的类熨參数与宙数的參数相同
D.通过使用不同的类型參数,町以从函数模板御到不同的实例旳数
14.fl(int)是类A的公有成员函数,pO向成员函散仃()的描H.正确的语旬足
A・p=H;B.p=A:
:
f1;
C・p=A:
:
fl();D.p=f!
Q;
04737#设计试題第2JJ((共10Oi)
15.卜而对胖态数抵成员的描述中・止确的业
A.类的不同对不同的静态数!
K成员仿
B.灾的稈个对象邯有fl己的胖态故掘成员
C.諦衣他《成册匿类的所有对《尖亨的敷血
D・静态故拥成员不絶通过类的时駅调用
16・关于対装,下列说法中不正确的是
A・ilfiilBM・对乂的全M属性和懂作給介化•越,形成-卜整体
B・通过対装・一个对*的实现细节被尽可能地隐贰包来
C.通过対來・縛卜对咸为相对独立的丈体
D・通过対食・对*的风性榔处不町见的
17.关Fncw运IT符的下列播述中.倦淇的是
A・它可以用来动态创述刘欽和对象效tfl
B.便用它俚建的对象或対您数蛆町以便用远伶符deletem
C・便用它创建对钦时雯调用构造函敷
D・使用它创处对级玫组时必绩指定初始值
18.&公冇繼承的悄况下.幕类成员在嚴生类中的访甸权PU
A・受阪制B.保持不叟
C・受促护D.不受保沪
19・定义析构诙数时,应谀注慰
A・爪名与类名滋全相同
B・返回类別足void类眾
C.无形參,也不町“
D.函数体中必须购delete仍句
20.所谓参态性足册
A・不何的対隸调用不同名称的!
*救
B・不同的对猱调用相网名称的断散
C・一个对钦调用不同名称的曲数
D.一个对*调用不列绕称的时仪
非选择题部分
注竄幕项:
用削色7迹的签字电戒钢电将鸽案"化掘肚紙I:
•不能界工试嚨醴E
二、填空廉:
水大15共20空,毎空I分.共20分.
21・Ci谄林文持的卿种&态性分别址繼冰时的衣态性和的齐态性・
22.当不肅厲曲数返回任何VI时,则应把该廉数类堆定义为・
23.左副ft体由穆定义的变虽称为.函数休外用总义的皎故称为厂
24.new用来励态开瞬空间.常用來产生动杰数组尺・
25・捋什使用成员冇两种方法,“•>"指向运題符和・
26.假如-个类的名称为MyClass,便用这个类的一个对象助始化该类的另一个对象时.
可以训用构造函裁来完成此功能.
27.一个类忧気多个构造函数,则这吨构造函数Z何为关系・
28.在囱向对象的程序设计中,将一殂对彖的共同转性抽象出*形成・
29.对賦值运尊符进行直載时,应声明为函啟。
30.String类的方法返何杳找到的字符串在主串的位賈"
31.取子字符皿“substr(5,3);”第丨个参数仪示・
32.派牛类从幕类保护继承时,幕类的公有成员在派生类中改变为成员・
33.复制构造曲数的參数有些转别,是的对欽・
34.在矣City的N义中加入语句“friendvoidStrect:
:
l^)t”,兄把类成员谯數R)
声明为了类City的友元函数"
35.类模板用来表込具有的模板类対欽集・
36.this隐藏的指针,它折向・
37.假定一个结构类勿定义为:
"structD(inta;union(intbjdoublec;};D•d[2];}则
该类型的大小为字节.
38.若用数组名作为函数调用时的实参,则尖际匕传递给刑参的是・
39.内联函数在编谦时是将该负数的曾换其调用表达式.
40.利用CH編程谄言可以建立一个通用旳敎.其函数类巾和形參类型不具体折定,用
一个成拟的类减来代表.这个通用函数就称为.
三、改错顾:
本大频共5小滋.每小题4分,共20分.以下程序中各有一处错误.it抄写有错误的语句并说明馆误原因.
41.#incli»de
usingnamespacesid;
classStudent{
intNum=0.Scorc=0;
public:
Studcnt(inta,intb){Num=a;Score=b;}
voidgct()(cout«Num«*:
'*«Score«cndl;}
};
voidmain(){
Studentstudcnt(1,96);
04737#C++程序设计域範第4页(共10页)
student.gct();
}
42.Winclude
usingnamespacestd;
intm[3)[31-{{1}•⑵•⑴};"卩]⑶-{1,2.3}:
intmain()
(cout«m[l|【0]+n[0H0]«\n・return1;
}
43.Ainclude^iostrcam^
usingnamespacestd;
classA
{private:
intm;
public:
voidA(inti=0){
m=i;cout«wconstructorcnllcd.YvmWW;)
voidSct(inti)
voidPrint()const{cout«m<、A(){cout«・dcsQru<:
lorcallid.yvmyUrV1;}
voidfun(constA&c){c.Print();}
voidmain()
{fun(5);}
44.Minclu
usingnamespacestd;
classCount{staticintcount;
public:
Count()(cout«count-M-:
}
staticintGctc(){returncount;}
-Count(){count-;}
};
intCount:
:
counts5voljj:
intmain()
{cout«obj.Getc()«endl:
return0;
45・#indudeusingnamespacestd;voidf(ints[]){staticintj;
intmain()
{泊心《4]={1.2」45};for(f(a),k=0;k<5;k卄)wwt«a|kl;oout«endl;
fbr(Ra),k=O;k<5;k++)cout«a(k];cout«endl;
return0;
四、完成程序题;本大题共5小瘪每小题4分.共20分.谓按试题颠序和空格颇序填写笞案•错填.不填均无分.
46.完成程序.便其输岀数组各兀素N和"includeusingnamespacestd;
voidfun(int・pajntn);
voidSumArry(int#pa,intn)
{for(inti=0;ivn・];i卄)
十・弋pa十D;
}
voidmain()
{intArry(IO]={l.23,4.5AU,9}:
intn^lO;
cout«Arry(9]«€ndl;
}
47.程序运行结果为:
PersonAddress
PersonPhoneNumber
WineludeclassPerson{public:
virtualvoiddisp()(cout«wPcrM)nH
|public:
voiddbpO{I:
classPhoncNumber:
publicPerson
{public:
voiddisp()(cout«"PhoncNumbcr4,«€ndI;});
voidmain()
{
Person・p;
Addressa;
PhoneNumberpn;
p=&a;
p->Pcrson;;disp();
p->disp();
p^&pn;
p->disp();
}
48.完成程序,使真运行结果如下:
欢i也使用测试程序!
共生成过3个对钦"
下次再见!
"include
□singnamespacestd;
intlimc=0・cnd=0;
classTest
Ipublic:
Test()
{ioutw欢迎使用测试程序!
"《endl;
timc=tim€+l;}
-TestO
{end^endtl;
04737#C卄秤序设计试剧第7页(共10页)
if^end=timeX:
out«R下次再见!
•,«endl;}voidprint()生成过”«cndl;)
};
voidmain()
{Testobjl.obj2.obj3:
objl.printQ;>
49刺include
classtoy
(private:
intnum.price;
public:
toy(intq,intp)
{num3^;
price=p;}
intgetnum(){returnnum;}
};
intmain(>
{toyop[2][2F{〔oy(l0・20).loy(30.48)・loy(50・68)Joy(70・80)};inti;
for(i=0;i<2;i++)
cout«op[ij[jJ.getnum()«*1H;
coul«op[i][j]gctjrkeOvvW:
}
rcium0;
}
50.用序充成后的运行结果为:
Welcome!
Mincludc
"include
usingnamespacestd:
classChangeStr{privaiczchar•s;
public:
void5€t(charestr)<
str=newchar[strlen(s>4-l];
5trcpy(sg5);}
ChangcStrA{
deletestr;
sreturnfthis;}
voidshow(){cout«str«€nChangcStitchar•a){set(a):
}
YhangcSnO{dclclcstr;}
};
intmain()
{ChangeStrs1CWelconw!
").s2CHcllo!
-);
t
-•
s2.show();
returnI;
}
五、程序分析颗:
本大UM2小题.哥小懸5分.共10分•阅读程序后,填写煜序的正确运行结果.
51.#include
usingnamespacesld;
classA{
int比b:
public:
A0(a=b=0;)
A(intaajntbb):
a(aa>,b(bb){
cout«wa-M«a«lf\n"«Hb=w«b«endl;
J
^A()|cout«HDestructor!
H«cndl;}
);
voidmain()
{
Ax,y(2,3);
}
52."include
usingnamespacesld;
classA
{public:
A(ifiti)(x«i:
}
voiddispu(){cout«wA:
*«x«cndl;}private:
intx;
};
classB:
publicA
{public:
B(inti):
A(KIO){x-i;|
voiddispbOfdispa()xout«HB:
*,«x«cndl;)private:
intx;
};
intmainO
(
Bb(IO);
b.diipb();
return0;
)
六、程序设计题,共10分.
53.卜面地-个类的测试丹序,请设计出能使川如F测试和T的类.intmain()
{
Testa;
a.init(2OI9JOO);
aprintO;
return0;
}
其执tn/m为:
测试结果:
2019-100-1949
04737#C+♦程用设计试删第10贝(共10贞)