C程序设计年月份历年真题-答案_第1页
C程序设计年月份历年真题-答案_第2页
C程序设计年月份历年真题-答案_第3页
C程序设计年月份历年真题-答案_第4页
C程序设计年月份历年真题-答案_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2017年4月高等教育自学考试全国统一命题考试C + +程序设计试卷(课程代码04737)本试卷共10页,满分100分,考试时间150分钟。*考生答题注意事项:L本卷所有试题必须在答题卡上作答。答在试卷上无效,试卷空白处和背面均可作草稿纸。 第一部分为选择题。必须对应试卷上前题号使用2B铅笔将“答题卡”的相应代码涂黑。 第二部分为非选择题。必须注明大、小题号,使用0.5 S米黑色字迹签字笔作答。 合理安排答题空间,超出答题区域无效。第一部分选择题 共20分)一、单项选择题(本大题共20小題,每小题1分,共20分)在毎小题列出的四个备选项中只有一个是符合题目要求曲,请将其选出并将答题 卡”的相应

2、代码涂黑。错涂、多涂或未涂均无分。以下说法中不正确的是A C+程序中必须有一个主函数mainO ,而且是从)的第一条语句开始执行B.非主函数都是在执行主函数时,通过函数调用或嵌套调用而得以执行的G主亟数可以在任何地方岀现D+主函数必须出现在固定位置 若有定义int *p =A.B.C.D.以下有关类与对象的叙述中,错误的是A.B.C.D.2+.4.I=newmt(O)则下列说法正确的是系统用指针变S P来表示所指整型变量 声明一个指针变量以指向名为new的存储单元 系统为指针变量P分配一个整型数据的存储空间 通过运算符tw叫分配一个整型数据的存储空间,并将其内存地址赋予指针变量对

3、象是类的一个实例一个类可以有多个对象任何一个对象都归属于一个具体的类只要是某个类的对象那么该对象就可以访问这个类的所有成员以下有关构造函数的叙述中,错误的是 扎B.C.D构造函数名必須和类名一致 构造函数在定义对象时自动执行 在一个类中构造函数有且仅有一个 构造函数可以在类体内声明在类体外实现C+程序设计试卷第17页共14页以下叙述中正确的是A.B,Ua类成员的定文必须放在类体内部在类中,不作特别说明的数据成员均为私有类型 在类中,不作特别说明的数据成员均为公有类型 类成员的定义必须是成员变量在前*底员函数在后7.9.10.IL12.友元函数的主要作用是 九提高程序的效率B.加强类的封装性G实

4、现数据的隐蔽性D.增加成员函数的种类在C+中*字符型数据在内存中的存敢形式为 A.原码BCD码下列变量命名中,非送的是 A. A* * IjOKG B. MyCar 关于对类的描述中,错误的是 扎类是创建对象的样板 C类就是C语言中的结构类型 不能作为函数重载的判断依据的是 扎constB.返回类型已知;*int fl = 5 ; char c = a A. 65aB, 9S5a下面程序的输出结果是 #tnclude using iLomespace std; int tnain() j int a = 1 ,b = 2,c=3; if( a b) if(bSetNurn(50)Q p * n

5、 = 50 下面关于对象概念的描述中错误的是 扎任何对象都必须有继承性 G对象间的通信靠消息传递B- SctNum50)D.* p - SetNum(50)B.D.考虑函数原型 void pass( int xjnt y = 5, char z = 法调用的是 A* pass (5)对象是属堆和方法的封装体 操作是对象的动态属性,下面的函数调用中,属于不合B. pass (5,8)D. pass (0,0* *下列关于虔函数的描述中*正确的是 扎B.C.D.使用虚函数就一定产生多态性虚函数只能是类中的一个战员歯数,但不能是静态成员 一个类中仅可以声明一个纯虚函数在构造函数和析构函数中调用虚函数

6、采用动态联编有以下程序段,其输岀结果是#include using namespace std; void ttiAinC ) j char b = HcHoyou; bJ cout b cndl;扎 Hello, youB* HelloG Hello! youD!第二部分非选择题(共80分)二、填空 (本大共20小臥每小S 1分共2D分) 请按试题序和空格顺序将售案填写在“答题卡”上,错填、不填均无分.21- 一般C*语言源程序文件的后缀是.怦P;经过編译咸生成文件的后缀是.obh经过8,29.3L33,34+9.40.连接后,生成文

7、件的后at是.Ch语言中提供了3种循环语句:语句口在“ini a = 10, * p二&且:”语句中tP的値是执行 3 条语句 Ft a,b, *c - &a;int *p-c;p = &b;后 2 指向若有以下定乂double禅9侧W数组元素下标的下限是0*上限是设ini x3 4;则X数组中含有个ini类型的数组元素.J丄1?将数学表达式ab +筈讣写成C+语言表达式为模板函数的真正代码是在源程序中 时产生。源程序文档化要求程序应加注释,注释一般分为序言性注释和重载函数必须有不同的O在类中定义和实现的函数可以成为它能够加快程序执行速度口在C+中输人输出是通过流来完展的,输出S作是将一个对象

8、的状态转换成一个 序列“C+语言中,派生类继承了基类的全部数据成员和除构造函数及,全部函数.定义以下变量并假设已赋确定的值Char wjmty;dobb站”,则表达式*w * x-广的数据类型是Q若有一个Myclass类,则执行语句MyClass objl,obj22, * p;”厉.自动调用该类的 构造函数次.this指针证每令对象拥有自己的数据成员,又共享处理这些数据底员的.若有整型变量a = l,b= -2,c=3;则表达式a-bb? c;a + b的值为。所谓“引用片就是将一个新标识符和一块已经存在的 数的馥数表中或者作为函数的返回值.Ch为结构动态分配内存的一般格式是“指针名-_这个

9、空何时必须用“血1怖指针名广释放空间.C+程序中使用亦ng类定文存储字符串的对象时,必须在程序中包含这个类的头文 件,即使用语句.循环语旬Jor循环语句和dowhile循环之外的相关联,通常用于函汀当不再使用三、程序改错H (本天B共5小题,毎小题4分,共20分)以下程序中各有一处错谋,请在“善题卡円上抄写有错误的语句并给出修改意见。 4L议下是对类血pie的定文 #inctude using nameapoce atd; class Samplepublic:Sample(int val);-Sample (); p rivate:float a = 2.5 ;Sample ();4Z #i

10、iiclude using namespace atd j void 3wap( int &其nt &); void maiii() 1 int a =5,b = 10; 5wap(a,b);cout *a = * a ,b = b endljvoid swap (int x, int y) I int temp ;temp 二X;3t=yjy = temp;43.此程序改正后的运行结果为125 11 21 #include using namespace atd;int f( int) iint man()int if for(i=O;i0;i)k + =i i; return k;44*

11、#incude using namespace std ; int iiL9in() I int I = 15 ; while ( 10 X SO ) k+;if(3c/3) I X + ;break; |cout I endl ;return 0;45.此程序调用findmaxO函数,返回数组中的最大值#include using namespace std;int fin(iinai( int * a,int n)int * p,时or(p = as = a;p -a n;p -H-) if *p * s) * 3 = *p; return ( * s);Void nain()iot x5

12、 = 112,2,8,47; cmt findmax (冥 * 5 ) endl ; 四、程序填空题(本大B共5小题*每小題4分共20分) 请按试SM序和空格顺序将答案填写在普题卡上,错填、不填均无分。46.程序在主函数中创建派生类Derived的对象 曲,调用f()函数后输出DBC #include using namespace std; class BoseI public ;virtual void f( ) | cout B ; |public:Derived( ) i cout *D* ;virtual void f( ) j Base: ;f( ) ;cout C ; |int

13、nmin() S Base * ptr; Derived obj; ptr = &0坊;return 0; 47.程序的运行结果为J2 #include using namespace std; class Base I public: int a;Base(int i) | a = i;class Derived:public Baseint a;public:Derived( int x) :Ba3e( x) void 9how);输出基类数据成员a的值void main()L shQw();#uclude using namespace std; class F public:doubl

14、e op erator()(double x,double y) con st;ckiuble F: ;operator( ) (double i,double y)constreturn(1+5) * yJFf;cout f( 1. 5,2. 2) endl;49.程序运行结果为3 include using namespace atd; int mainf )1 int fl 16,b = 21 ,ni =0;switch语句,找到第一个满足的 case之后,如果没有break,会 继续执行后面的case语句.case 0;m + ;break; case 1 : m 卄;3wi(ch(b

15、%3)case 1 ;m -H- ;break jcout m endl ; return 0;50.定义平面上一个点的类poi毗,有双精匿型ft有数据成员橫坐标X和纵坐标厂公有成 员函数有写人函数inpatC )、求原点距离函数distance ( 和显示函数sKow() 请完成 pointO的类图,pointprivate * public ;void input( ) | | void ahjow( ) |五庞行结果题f本大题共2小题,毎小題3分共10分) 阅读程序后備奁答题卡”填上程序的正确运行结為 5L #mcLtide UBing namespace abd;d 3Dit(int

16、L .int n)intflag=:n - 1;whle(ftag 0)j k = flag -1 ;flag = O;for(j =0;j Lj + l)(temp = Lj ;Lj =LEj + 1;Lj + 1 =temp;flag=j;lvoid niaw()int HiiHy4 = |7,2,3,4| ;5OTt( array ,4 );cout * TTie sorted numbeis :打; for(int i =0;i 4;i + )cout array i;52” #include using namespace std; class X I protected:tut a

17、; public: x( ) a = 1 f!class xl ; virtual public xpublic;xl() fa+a/class 2:Tirtual public xI public ;i2()ifl + =2;ct*i2: fl/class y: public xl, public x2I puhlk:y ( ) I cout * y ; a n(il ;void inam( |y obji!為“编写程序S(本大题共1小题共10分)53.定义一个生日类,数据成员有年、月、日d定义一个人员类数据成员有姓名、性刖、生日.人员类中的生日是生日类的对象,两个类都有构造函数和显示函数&

18、在主函数 中声明一个人员类对象,屏幕显示其数据,纯密*庭用前201?年4月高等教育自学考试全国统一命題考试C+程序设计试题答案及评分参考(课程代码04737)顷倉择題(本丈趙共20小翹T毎小題1分,共如分)hD2.1)3. 丄 C5”B6, A7. C8. A9. C10, ftIL Et12. CGB14. C15. DJ6. A17. AIS. C193茲 C二、填空題本大題共甜小题.毎小题】分罢2。分)2L心亡21 white21 Jffii的地址24. a,21 a26, 口27. tf*b + (a*a + St b)/(2 * a * h)2也调用画敷西-功能性注释M.帘参列衣阳.

19、内联函数32. 字符33. 析构亟数34. (hutiJi;辽33&代码力门期.存猜区域39. MW结构名4fl, Hind卵rk =、程/?複错題(本天麵共3小牆毎妝痛4分,共M分)d41. 4unpk(jnl 讪)J改为Simpk(flM( va) 42. void swap( lhl xint y)iSt为 vfjtd 询呻(cin 也、in暹y)43. int t =;改为 stQlic ini k = I 444. rtiiJeClO f k f 刊)违为 whik( x f 50)45- tf( * p * &) * s s * p;cW Denied j (HkhBc Ba注,p

20、tr- A();沁徑縫岀込(鲜答对址下划线的内容说岗I分) dnuhh opr-.raiir( (riouhUy) con乌耳 void nuin)CM737 3 理序说计试融答案及评分拿垮 蕭1更(共m贞)四、程挣填空題(本大題宾S小题I每小 4分.共勿分)46,47.4&49. &wiich(达式值为 1 即可)ase 0 河 + ;50. double x,y,vqid distaJiceC ) |五、适斤结乘題(半大题共2小題.每小題5分共10分)51 TTift ftortdd F)umbc;234752*)!ia.x2:4d*(格式和数值各乞分) .编写程序题(本大屈共I小题共10

21、分】53. #!ticiluc(c ushg namespace 9bdjclttfis Eiiiih private JinL year”moxUh.day;pLibbc;blithe mt X丽 y,irjt i) Jyear - x j mnnih = y jdsy = i ;void stiDvrC ) |coui 生id 遷 year 年 moiiJi 月 d吁 H end;ebss person tp rivDtc ;cKfir + fmrnc;di 苛 *S(!K;birth birt!y ;puhEjc ;peiLWi(char p.rhai * t, Jul x , iui jni z);Fmd ?h(w( ) JcMit 性容为hadc别为” Mb匕和lundy. );pcrAon :p tmn char * pchar * qjnt ijnf y, uir t) :E)irdy( X*y ,b) nnrrr = pwti = q;iuiJ main)橄誠H賈sj戟三男* DOO.4凸门 priL iww( ) i04丁3?程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论