ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:20.56KB ,
资源ID:3262977      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3262977.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(全国高等教育自学考试 C++程序设计试题及答案.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

全国高等教育自学考试 C++程序设计试题及答案.docx

1、全国高等教育自学考试 C+程序设计试题及答案全国2010年1月高等教育自学考试 C+程序设计试题一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。1.在C+中,头文件扩展名为( )A.cpp B.hC.1ib D.obj2.下列符号中,不属于分隔符的是( )A., B.C.; D.3.可替换#definePI3.1415926的语句是( )A.float PI 3.1415926; B.const float PI=3.1415926;C.const PI(3.1415926); D

2、.const 3.1415926;4.布尔类型标识符是( )A.void B.shortC.long D.bool5.下列不是C+语言的基本数据类型的是( )A.字符类型 B.整数类型C.逻辑类型 D.枚举类型6.C+允许在结构中定义函数,这些函数称为( )A.静态函数 B.构造函数C.析构函数 D.成员函数7.设函数void inc(int)将形参加1,如有整型变量int i=10;则执行inc(i);后,i的值为( )A.9 B.10C.11 D.未知8.下列哪种默认参数的声明是不正确的( )A. int max(int a,int b,int c,int d=0);B. int max(

3、int a,int b,int c=0,int d=0);C. int max(int a=0,int b,int c=0,int d=0);D. int max(int a,int b=0,int c=0,int d=0); 9.设int &max(int ,int &)返回两参数中较大者,如有两整型变量int a=10;int b=15;在执行max(a,b)+后,a,b值分别为( )A.10,15 B.11,15C.10,16 D.1l,1610.包含哪种语句的函数不能声明为内联函数( )A.循环 B.变量自增自减C.if.else D.变量声明11.定义函数模板中使用的参数类型标识符需

4、使用下列哪组符号括起来( )A. B.“”C.() D.12.一个类拥有多个构造函数,则这些构造函数间为( )A.重载关系 B.重复关系C.拷贝关系 D.无关系13.对于拷贝构造函数point:point(point& p),下列说明正确的是( )A.该函数只能访问P的私有成员 B.该函数不能访问P的公有成员C.该函数可以访问P的私有和公有成员 D.该函数不能访问P的成员14.使用delete删除对象数组时,描述正确的是( )A.数组中各元素都调用析构函数 B.数组中各元素都调用构造函数C.不调用析构函数 D.只有首元素调用析构函数15.下列哪个指令属于条件编译指令( )A. #elif B.

5、 #errorC. #pragma D. #include16.设类Test中存在成员static int x,则下列哪种初始化方式是正确的( )A.Test:int x=25; B.int x=25;C.int Test:x=25; D.int Test x=25;17.下列关于友元的描述错误的是( )A.成员函数不可作友元 B.类可以作友元C.普通函数可以作友元 D.静态函数可以作友元18.在继承中,派生类拥有的基类个数为( )A.0个 B.1个C.多个 D.至少1个19.基类中的protected成员,通过public派生,其在派生类中的可见性为( )A.不可访问 B.privateC.

6、protected D.public20.下列哪个不是面向对象的关键要素( )A.抽象性 B.结构性C.封装性 D.多态性二、填空题(本大题共20小题,每小题1分,共20分) 请在每小题的空格中填上正确答案。错填、不填均无分。21.在STL库中用于实现数组内容反转的函数是_。22.若要使用C+标准类库,需要指定相应的命名空间,所用的语句是_。23.C+语言中的整数常量有4种描述类型:十进制常量、长整型常量、八进制常量和_。24.声明一个名为a的整型引用变量所使用的语句是_。25.重载的运算符仍保留原有的优先级、_和语法结构。26.执行代码 int b=100; couthexb: 程序的输出结

7、果是_。27.带有纯虚函数的类称为抽象类,它只能作为_来使用。 28.使用_作为函数参数,实参对象和形参对象代表同一对象,改变形参对象的值就是改变实参对象的值。29.UML中对象之间的静态关系是通过对象属性之间的连接反映的,称之为_。 30.如果一个模板声明列出多个参数,则多个参数之间必须使用逗号隔开,每个参数都必须重复使用关键字_。31.C+类的构造函数名与_名称一样,且没有返回值。 32.C+规定,当一个成员函数被调用时,系统自动向它传递一个隐含的参数,该参数是一个指向调用该函数的对象的指针,该指针被称为_指针。 33.声明一个常成员函数Fun,其返回类型为char,第一个参数类型为int

8、,第二个参数类型为double,函数Fun的声明原型是_。 34.C+语言中的“聚合”隐含了两种实现方式,一种是_,另一种是用一个类的对象作为一种广义的数据类型来定义整体对象的一个属性。35.简单成员函数是指声明中不含const、_和static关键字的函数。 36.在派生类中继承的基类成员的初始化,需要由派生类的构造函数调用基类的_来完成。 37.在C+中,利用向量类模板定义一个具有20个int的向量,其所有元素被置为1,实现此操作的语句是_。38.vector类中用于获取无需再次分配内存就能容纳的对象个数的方法是_。39.动态联编是程序运行到需要的语句处才动态确定的,这称为_多态性。40.

9、C+重载“=”运算符的函数名是_。三、改错题(本大题共5小题,每小题4分,共20分)下面的每题中有一处错误,请用下横线标出错误所在行并给出修改意见41.#include #define PI 3.14; void main() double i; int r; coutr; i=2 * PI * r; cout圆形周长=iendl; i=PI * r * r; cout圆形面积=iendl; 42.#include class A private: int x,y; public: A(int a=0,b=1); void Show(); ; A:A(int a,int b) x=a; y=b

10、; void A:Show() coutx=xendl; couty=yendl; 43.#include class A unsigned char var; public: A(unsigned char x) var=x: void print() coutvar=var; ; void main() A a(x) ; a. print (); 44. #include class Class public: void print(int a,int b) cout int: a endl; cout int: b endl; void print(char * a,char * b)

11、cout string: a endl; cout string: b endl; void print(char * a,unsigned int b) cout string: a endl; cout int: b endl; ; void main() Class cls; cls. print(10,20); cls. print(c,1); cls. print(x,y); cls. print(Hello!,0); 45. #include class Class private: int val; public: void func( int a) val = a; ; voi

12、d main() Class * cls ; cls - func(10) ; 四、完成程序题(本大题共5小题,每题4分,共20分)46.将下面程序补充完整,使程序计算100以内所有可被7整除的自然数之和。 #include void main() int x=1; int sum=0; while(true) if(x100) _; if(_) sum=sum+x; x+; coutsumendl; 47.将下面程序补充完整,使程序执行结果为9。 #include class Class public: _ x=a; _ return x * x; private: int x; ; voi

13、d main() Class a(3); couta.get()endl; 48.将下面程序补充完整,使程序正确的初始化私有变量var及释放资源。 class Class private: int * var; public: Class(int num); Class(); ; Class:Class(int num) _; Class:Class() _; 49.将下面程序补充完整,使程序的输出结果为: ClassA:Print ClassB:Print 程序如下: #include class Base public: virtual void Print() const coutBas

14、e:Printendl; ; class ClassA:public Base public: void Print()constcoutClassA:Printendl; ; class ClassB:public Base public: void Print()constcoutClassB:Printendl; ; void Print(_) _; void main() ClassA a; ClassB b; Print(a); Print(b); 50.下列程序的运行结果如下: x=22,y=22 根据结果将程序补充完整。 #include template void f(_) i

15、f(sizeof(T1)sizeof(T2) x=(T1)y; else y=(T2)x; void main() double x=134.2; int y=22; f(x,y); coutx=x,y=y; 五、程序分析题(本大题共2小题,每小题5分,共10分)请给出下面程序的输出结果51. #include class Class public: static int var; Class() var+ +; ; int Class:var = 0; void main() cout Class:var = Class: : var endl; Class cl ; cout cl. va

16、r= cl. var endl; Class c2, c3 ; cout c2. var = c2. var endl; 52. #include class A public: A(); void Show() ; A(); private: static int c; ; int A:c =0; A:A() cout constructor. endl; c+ =10; void A: :Show() cout c= c endl; A:A() cout destructor. endl; void main() A a,b; a. Show(); b. Show(); 六、程序设计题(本

17、大题共l小题,共10分) 53.利用LOCATION类,使用继承定义圆类CIRCLE,圆由圆心和半径构成。提供得到圆心坐标和半径的成员函数、以及计算圆的周长和面积的成员函数。在主程序中创建两个圆A和B,圆心坐标分别为(0,3)、(3,7),按如下格式输出两个圆的圆心坐标、周长和面积,并计算和输出两个圆的圆心之间的距离。 A:(xl,y1,r1),Girth=g1,Area=a1 B:(x2,y2,r2),Girth=g2,Area=a2 A(xl,y1),B(x2,y2),Distance=d 定义LOCATION类,该类没有“继承”等现象。注意二维坐标点之间的距离公式。 class LOCA

18、TION double x,y; public: virtual double getx()constreturn x; virtual double gety()constreturn y; virtual double dist(LOCATION &s)const; LOCATION(double x,double y):x(x),y(y); double LOCATION:dist(LOCATION s)const double xd=s.x x,yd=s.y y; return sqrt(xd*xd+yd*yd);2010.1答案一、选择题1 2 3 4 5 6 7 8 9 10B D

19、 B D D D B C C A11 12 13 14 15 16 17 18 19 20A A C A A C A D C B二、填空题21 reverse 22 using namespace std; 23 十六进制常量 24 int x; int &a=x; 25 运算数26 64 27 基类 28 对象的引用 29 实例连接 30 class 31 类 32 this 33 char Fun(int, double); 34 独立定义 35 volatile 36 构造函数 37 vector v( 20, 1); 38 capacity() 39 运行时 40 operator=三

20、、改错题41 #define PI 3.14; 错误原因:宏定义中PI原样代替3.14;使i=2*PI*r;语句错误 修改意见:将该命令修改为:#define PI 3.14 A(int a=0, b=1) 错误原因:第二个参数b定义未给出参数类型 修改意见:A(int a=0, int b=1)43 A a(“x”); 错误原因:a对象定义,需调用A类构造函数, 而该函数形参为char类型,实参是字符串,类型不一致 修改意见:将 A a(x);44 本题可以正确编译、执行,估计欲考察内容cls.print(c,1);与cls.print(x,y); 此时print函数调用对应的定义为void

21、 print(int a, int b).45 Class *cls; cls-func(10); 错误原因:cls是指针变量,未指向任何对象,不能调用func函数 修改意见:定义一个Class对象,用cls指向该对象,如:Class c;Class *cls=&c;四、完成程序46 break x%7= =0 47 Class (int a) int get() 48 var=new int (num) ; delete var ; 49 Base &t t.print(); 50 class T1, class T2 T1 x, T2 y 五、程序分析题51 Class:var=0 c1.var=1 c2.var=252 constructor constructor c=20 c=20 destructor destructor六、程序设计题53 本题答案略

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1