自考C++程序的设计04737试题和答案解析.docx
- 文档编号:5500676
- 上传时间:2022-12-17
- 格式:DOCX
- 页数:15
- 大小:65.61KB
自考C++程序的设计04737试题和答案解析.docx
《自考C++程序的设计04737试题和答案解析.docx》由会员分享,可在线阅读,更多相关《自考C++程序的设计04737试题和答案解析.docx(15页珍藏版)》请在冰豆网上搜索。
自考C++程序的设计04737试题和答案解析
2015年10月高等教育自学考试全国统一命题考试
C++程序设计试卷
(课程代码04737)
本试卷共10页,满分100分,考试时间150分钟。
考生答题注意事项:
1.本卷所有试题必须在答题卡上作答。
答在试卷上无效,试卷空白处和背面均可作草稿纸。
2.第一部分为选择题。
必须对应试卷上的题号使用2B铅笔将“答题卡”的相应代码涂黑。
3.第二部分为非选择题。
必须注明大、小题号,使用0.5毫米黑色字迹签字笔作答。
4.合理安排答题空间,超出答题区域无效。
第一部分选择题
一、单项选择题(本大题共20小题,每小题1分。
共20分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题卡”的相应代码涂黑。
未涂、错涂或多涂均无分。
1.在C++语言中用于注释的标识符是
A・&B・//C・嵐D・/
2.编写C卄程序一般需经过的几个步骤依次是
A.编辑、调试、编译、连接B.编译、调试、编辑、连接
C.编译、编借.连接、运行D・编辑、编译、连接.运行
3.要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用
A.
D.函数模板
D.8
D・x
联函数B.重载函数C.部函数
4.设x=8,执行语句Y=x++,则y等于
A.6B.7C・9
5.下列运算符中,优先级最髙的是
A.*B.—>C.&&
6.关于new运算符的下列描述中,错误的是
A.它可以用来动态创建对象和对象数组
B.使用它创建的对彖和对象数组可以使用运算符delete删除
C.使用它创建对象时要调用构造函数
D.
使用它创建对彖数组时必须指龙初始值
10・假左a为一个整型数组名,则元素乱4]的字节地址为
□・类中能访问静态成员的函数是
C•构造函数D•析构函数
A.虚函数B.静态成员函数
22・下列说明语句中正确的是
A.inta,&ra=a,&&ref=raB・int&refa[10]
C・inta,&ra二a,&*refp=&raD・int*pi>*&pref=pi
13.关于对象概念的描述中,说法错误的是
A.对象就是C语言中的结构体
B.对象代表着正在创建的系统中的一个实体
C.对象是类的一个变量
D.对象之间的信息传递是通过消息进行的
14.有关多态性说法不正确的是
A.C++语言的多态性分为编译时的多态性和运行时的多态性
B.编译时的多态性可通过函数重载实现
C.运行时的多态性可通过模板和虚函数实现
D.实现运行时多态性的机制称为动态多态性
15.关于友元函数的描述中,错误的是
A.友元函数不是成员函数
B.友元函数只能访问类中私有成员
C.友元函数破坏隐藏性,尽量少用
D.友元函数说明在类体,使用关键字friend
16.
类中定义的成员默认访问属性为
A.publicB・private
17.拷贝构造函数的参数是
A.某个对象名
C.某个对象的引用划
18.关于类模板的说确的是
A.类模板的主要作用是生成抽象类
B.类模板实例化时,编译器将根拯给岀的模板实参生成一个类
C.在类模板中的数据成员具有同样类型
D.类模板中的成员函数没有返回值
19・下列有关重载函数的说法中正确的是
A.重载函数必须具有不同的返回值类型B.重载函数参数个数必须相同
C.重载函数必须有不同的形参列表D.重载函数需可以不同
20・当一个类的某个函数被说明为virtual时,在该类的所有派生类中的同原型函数A.都是虚函数
B.只有被重新说明时才是虚函数
C.都不是虚函数
D.只有被重新说明为virtual时才是虚函数
第二部分非选择题
二填空题(本大题共20小题,每小题1分,共20分)请在答题卡上作答。
21・C语言中scanf命令在C++中改用:
cin
22.假泄类AB中有一个公用属性的静态数据成员staticintbb:
在类外不通过对象爼给该成员bb赋值为10的写法:
intAB;bb=10;
23.在类部定义的公有(public)数据可以在类外进行存取,但保护protected数据和私有(private)数据不能在类外直接存取。
24.在C++中,虚函数帮助实现了类的多态性。
25.如果要把类B的成员函数voidfun()说明为类A的友元函数,则应在类A中加入语句
26.执行卜-列程序doublea=3.1415926,b=3.14:
cout«setprecisionQ«a<<"«
setprecisionQ«b«endl:
程序的输出结果是。
27.在C++中,访问一个指针所指向的对象的成员所用的指向运算符是。
28.基类的公有成员在派生类中的访问权限由决定。
29.由const修饰的对彖称为。
30.如果通过同一个基类派生一系列的类,则将这些类总称为»
31.为了实现运行时的多态性,派生类需重新泄义基类中的。
32.在C++中有两种参数传递方式:
传值和传c
33.C++中ostream的直接基类。
34.已知int*p=NULL,使用new为指针P申请一个存储大小为10的存放int型的空间,代
码为«
35.在编译指令中,宏定义使用指令。
36.每个对象都是所属类的一个。
37.函数重载时,编译系统会根据或形参的个数来区分。
38.静态成员函数、友元函数、构造函数和析构函数中,不属于成员函数的是。
40.局部对象和全局对象中,在同一程序中生存期最长。
三、改错题(本大题共5小题,每小题4分,共20分)请在答题卡上作答。
下面的程序段中有一处错误,请在答题卡上抄写错误所在行并指出错误原因。
4-1.^include
usingnamespacestd;
base(inta){p=
I
intget(){relump;
I
I;
intmain()
{
baseb{3);cout«b.get();
42.#include
I
voidsetValue(intb){a=b;
I
intgeta(){returna;
I
I;
intmain()
{..
baseb;
b.setValue(7);return0;
43.#include
intx;
inty;puhlic;
A(inta^intb){
y$b;
血get()Ireturnx4-y;
I
I;
X=5.
intmain()
I
COUt«弘get()«cndl;return0;
44.^include
usingnamespacestd;classA|intx;
public:
A(inta){
x=a;
I
voidseL(inta){
x=a;
I
voidget()(
cout«x«cndl;;
1
I;
intmain()
{
constAa(4);
a.set(6);
乩get();
a.set(10);
»•卯();return0;
I
45.#include
usingnamespacestd;classbase|
inta,b;
public:
voidsetzero()|
x=0;y=0;
I
voidshow()(
cout«x«nw«y«endl;
I
1;
intmain()\
baseb;
b.setzero(0,0);
return0;
I
四、完成程序题(本大题共5小题,每小题4分,共20分)请在答题卡上作答。
46・用简单选择法对10个数排序,使英从小到大排列。
#includewstdafx^h"
^include
I
inti;
intnum[10]ftJ;fbr()
cin»num[i]:
for(i=0;i<9;i-H-)
for(j=i+1;j<10;j++)if(num[i]>num[j]){
t=num[i];num[i]=niun[j];
for(i=0;i<10;i++)eout«nu.m[i]«1111;
I
47・打印以下图案:
#includenatdafx.hM解include { intj■巧 for()//i控制行号 I fbr(j=1;jvi;j—)//j控制空格cout«1$ for()//n控制星号 cout«H.'・;cout«endl• 48.任意输入10个同学的成绩,汁算苴平均成绩。 要求用函数averageOHM平均成绩,主函数输入数据并输出结果。 #includewstdafi.h” #includc usingnamespacestd; voidmain(void) I floataverage(floataf]); flcAtSftre[10]; for() I cin»score[i]; I cout«,waverage: H«average(score)«endl; I floataverage(floata[]) I floatsum=0; for(inti=0;i<10;i++)| I‘ return(sum/10}; I 49.编一个函数to_lower(),实现将字符串中的大写字母转换成相应小写字母。 主函数输入数据并输出结果。 #include”stdafe.h" #include ■ voidmain(void) I voidtoJower(chara[]); char9tr[10]; ciu»str; to—lower(str); cout«str«endl; 1 voidto_lower(chara[]) I- fbr(inti=0;i<订! 二';i卄) if() a[i]+=32; I 50・下而程序用来求直角三角形斜边长度。 #include classPoint Iprivate: doublex,y; public: Point(doublei=0,doublej=0)|x=i;y=j;) Point(Point&p) classLine |private; Pointpl9p2; II publics UnA(Point&xplfPoint&xp2); doubleGetLength.(); h doubleLine: ;Getlxjngdi() 1doubledx=p2.x-pl.x; doubledy=p2・y一p1・y;returndx*dx+dy*dy);}. voidmain() jPointpl_p2(6,8); LineLI(plfp2); cout«LI■G^tLength(》«endl; 5.程序分析题(本大题共2小题,每小题5分,共10分)请在答题卡上作答。 5i・给如下而程序输岀结果。 ^include classBase |private: intY; public: Base(inty=0)|Y=y;cout«11Base(H«y«w)\nM;| ~Base()[couit«"~Ba&e()\nM;| voidprint()|cout«Y«nw;| I; classDerived: publicBase |private; intZ; public: Derived(intyfintz) |Z=z; cout«"Derived(w«y«M»w«z.«w)Xn"; I ~Derived(){cout«w-Derived()\nn;) voidprint() IBase: : print(); I I; voidmain() |Derivedd(10F20); d.print(); ) 52.给岀下面程序输出结果。 #indude”iostream,h理 voidmain() I intx,yTz; x=3; y=x卄: z=++x; cout«frx=f,«k«u;y=1t«y«n;z="«z«endl; } 六、程序设计题(本大题共I小题,共I0分) 请在答题卡上作答。 53.写一个程序,定义一个抽象类Shape,由它派生3个类: Square(lE方形)、Trapezoid(梯形)和Triangle(三角形卜用虚函数分别计算几种图形而积、并求它们的和。 要求用基 类指针数组,使它每一个元素指向一个派生类对象。 #include classShape jpublic: virtualdoublearea()const=0; h 绝密*启用前 2015年10見高等教育自学考试全国统一侖题考试 C+亠程序设计试题答案及评分参考 (课程代码04737) 一、单•项选择執本大超共20小題,毎小趣I分涉”9) 1.B2.D3.A4.D5.B6门7.D Il.B12D13.A34.C15.B817.C 二填空做本大题共20小题,毎小題1分•共20分) 21.cin 24.多态性 27.—> 30.类族 33.ios 36.实例 39.friendvoidB: : fifht)j, 三、改错fiK本大邇其5小题■毎小题4分,共20分) 41.答案mump;锚。 加()函数的返回值应该是讪授变般師代码中£期)返回的是im痰指针&自彩单科包过qql65816E2修孜;将r*EEP)修改为gxm♦p; 42’答轧b・^Valuc(7)熄私有曲数,不能宜接诟孔無改朋3皿1叔血)函数声明为公有函数g 43;答案注=6钳宀为静至数据成乩该赋值形式错课。 修改”mAj: x=5j 44•答案心财A・(4);钳。 ■雄常时象•不能械更新。 修改: 将几定义为非常对煞a 45.答案;b•畑错离因为类中不存在带有两个形参的zcr(>函数。 條改;将B.seteero(0t0);修改为b.setzero()i 四、完成程庠题(本大屢共5小題,每小题4分,共20分) 5.B 8.C9.BJO.C 18.B19.C20.X 22.intAB--bhx|0; 25.friendvoidB: : fun(); 2$.访问控制方式或维承方式 31・龜苗数 34p.=newint^lOl4 3? .形参的类型 23,保护(pwuxtcd)数据 26.3.1416,3•也 沙.常对隸 31引用 35.#dcGne 38・友元函数 40.全局对隸 46. 答案: inti=0;i<105j^- num[j]=1 47. 答案dnti n=9;n>=2ti-1•11— 48. 答案: i"ie0;i<|e): i44- fl-um4<=a[订 49. 答案! usinxnamespace馳d a[i]k'A'&&a[i] 50. 答jfopndUne; plOp】)“2(叔) [解析]友元类的使用,定义line是Roint类的友元类•成刼対叙勺初姑化采用列表的形式。 五JS序分析画聿大题共2小甌毎小題5分.共10分, 51.答案: Baw(LO) D«rived(10,20) 1020 “Derived() ~Baac() 52.答^: x=5;y=3;x=5 04737C卄輕序设计试題答窠及评分参考笫1页(共2贰 六、養序设计題(本大题共10分) 51答案: classSquare: ;publicShcfie Ipublic* Squarc(double|\ doublearea()const|relumside*bide;|private: doubleBide; L classTrapezoid;publicShape Ipublic: Trapezoid(doublei,doublej,doublek): a(i;,b(j),b(k) II doublearca()con»t|relum((a+b)*h/2);[private: doubleabh; Ii classTriangle: publicShape {public: Triangle(doobEei,doublej)«w(i)fh(j) II dauihlenrea()const|return(w*h/2)$|privaic: doubleWjh; I3 voidmain() i Shape*p[5]; Squaresft(5); Trapcwjidtd(2,5.4” Trianglele(5t8); p[0]二&SC; p[i]=&t4i p[Z]=&(€】 douMada=0; for(jntis0;i<3;i++) [da+=p[i]->nrca();| cwt«n总面积是;r,«d$«ciidl; 04737C++程序设计试题答案及评分参考第2页(共2页)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自考 C+ 程序 设计 04737 试题 答案 解析