C++语言程序设计3

上传人:M****1 文档编号:491373395 上传时间:2023-12-01 格式:DOCX 页数:10 大小:25.71KB
返回 下载 相关 举报
C++语言程序设计3_第1页
第1页 / 共10页
C++语言程序设计3_第2页
第2页 / 共10页
C++语言程序设计3_第3页
第3页 / 共10页
C++语言程序设计3_第4页
第4页 / 共10页
C++语言程序设计3_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《C++语言程序设计3》由会员分享,可在线阅读,更多相关《C++语言程序设计3(10页珍藏版)》请在金锄头文库上搜索。

1、0-0-00-0-0题 答 要 不 内得分评卷人座位号试卷代号:B353C11成都广播电视大学2011-2012学年度第一学期期末考试C+语言程序设计试题题号一二四五总分分数(1) 算法的基本特征是可行性、确定性、和拥有足够的情报。(2) 在长度为n的有序线性表中进行二分查找。在最坏的情况下,需要的比较次数为。(3) 在面向对象的程序设计中,类描述的是具有相似性质的一组。通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称 为 。(5) 数据库管理系统常见的数据模型有层次模型、网状模型和3种。(6) 在C+语言的结构化程序设计中,是程序的基本组成单元;在C+语言的面向对象设计框架中,是

2、程序的基本组成单元。假设int a=l,b=2侧表达式(+a/E) * b-的值为 。C+语言提供的基本控制结构可以分为3种类型:顺序结构、 和循环结构。C+语句const char * const p=hello,所定义的指针p和它所指的内容都不能 被。(10) C+语言的参数传递机制包括传值和传地址两种,如果调用函数时,需要改变实参或者返回多个值,应该采取方式。(11) 对于下面定义的类My Class,请在函数f()中添加对象成员把n的值修改为50。 class My Classpublic:My Class(int x)n=x;void Set Num(int nl)n=nl;priv

3、ate:int n;;void f()My Class*ptr=new My Class(45);(12) 继承的方式有公有继承、私有继承和3种。(13) 表达式 operator+(x,y)KT 以表示为 。(14) 类模板的使用实际士:是将类模板实例化成一个具体的得分评卷人二单项选择题1. 编写C+程序一般需经过的几个步骤依次是()A. 编辑、调试、编译、连接B. 编辑、编译、连接、运行C. 编译、调试、编辑、连接D. 编译、编辑、连接、运行2. 决定C+语言中函数的返回值类型的是()A. return语句中的表达式类型B. 调用该函数时系统随机产生的类型C. 调用该函数时的主调用函数类型

4、D. 在定义该函数时所指定的数据类型3. 下面叙述不正确的是()A. 派生类一般都用公有派生B. 对基类成员的访问必须是无二义性的C. 赋值兼容规则也适用于多重继承的组合D. 基类的公有成员在派生类中仍然是公有的4. 所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是()A. 类 B.对象 C.函数体 D.数据块5. 在公有派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的()A. 私有成员B.公有成员C.保护成员 D.保护成员或私有成员6. 对基类和派生类的关系描述中,错误的是()A. 派生类是基类的具体化B. 基类继承了派生类的属性

5、C. 派生类是基类定义的延续D. 派生类是基类的特殊化7. 关于this指针使用说法正确的是()A. 保证每个对象拥有自己的数据成员,但共享处理这些数据的代码B. 保证基类私有成员在子类中可以被访问。C. 保证基类保护成员在子类中可以被访问。D. 保证基类公有成员在子类中可以被访问。8. 所谓多态性是指()A. 不同的对象调用不同名称的函数B. 不同的对象调用相同名称的函数C. 一个对象调用不同名称的函数D. 一个对象调用不同名称的对象9. 一个函数功能不太复杂,但要求被频繁调用,则应把它定义为()A.内联函数 B.重载函数C.递归函数D.嵌套函数10. 下面函数模板定义中不正确的是()A.

6、A B.B C. C D. D11. 假设ClassY:publicX,即类Y是类X的派生类,则说明一个Y类的对象时和删除Y类对 象时,调用构造函数和析构函数的次序分别为()得分评卷人密 封 线 内 不 要 答 题A. X,Y; Y,X B. X,Y; X,Y C. YX; X,Y D. YX; Y,X12. 适宜采用inline定义函数情况是()A.函数体含有循环语句B.函数体含有递归语句C.函数代码少、频繁调用 D.函数代码多、不常调用13. 假定一个类的构造函数为A(int aa,int bb) a=aa-;b=a*bb;,贝I执行A x(4,5);语句后,x.a和x.b的值分别为()A

7、. 3 和 15B.5 和4 C. 4 和 20 D. 20 和 514. 在类中说明的成员可以使用关键字的是()A. publicB. extern C. cpuD. register15. 下列不能作为类的成员的是()A.自身类对象的指针B.自身类对象C.自身类对象的引用D.另一个类的对象16. 使用地址作为实参传给形参,下列说法正确的是()A.实参是形参的备份B.实参与形参无联系C.形参是实参的备份D.实参与形参是同一对象17. 下列程序的输出结果是()#include void main()intn 3 =10,20,30,40,50,60;int(*p) 3;p=n;coutp 0

8、0 , ”vv*(p 0 +1), ”vv(*p) 2 endl;A. 10, 30, 50B. 10, 20, 30C. 20, 40, 60D.10, 30, 6018. 在C+中,使用流进行输入输出,其中用于屏幕输入()A. cinB. cerr C. cout D. clog19. 假定AA为一个类,a()为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数成员3()的格式为()A. x.a B. x.a()C. x-a D. (*x) .a()20. 关于对象概念的描述中,说法错误的是()A. 对象就是C语言中的结构变量B. 对象代表着正在创建的系统中的一个实体C. 对象是类

9、的一个变量D. 对象之间的信息传递是通过消息进行的三、改错题()下面的类定义中有一处错误,请 用下横线标出错误所在行并给出修改意见。1. #include class Testprivate:int x,y=20;public:Test(int i,int j) x=i,y=j; int getx()return x; int gety()return y; ;void main() Test mt( 10,20); coutmt.getx()endl; coutmt.gety()endl;2. #include 题 答 要 不 内 线class Test int x,y;public:fun

10、(int i,int j)x=i;y=j;show() coutx=x;if(y) cout,y=yendl; coutendl;;void main()Test a;a.fun(l);a.show();a.fun(2,4);a.showQ;3. #include class A封int i;public: virtual void fun()=0;密 A(int a)i=a; ; class B:public A intj; public: void fun() coutB:fun()n; B(int m,int n=0):A(m),j(n);void main() A *pa;B b(7)

11、; pa=&b;4. #include class Xpublic:int x;public:X(int x)coutthis-x=xendl;X(X&t)x=t.x;coutt.xendl;void fun(X);;void fun(X t)coutt.xendl;void main()fun(X(10); double d 6 =11.1,10.1,9.1,8.1,7.1; f(a,5);f(d,6);得分评卷人四、完成程序题1. 在下面程序横线处填上适当字句,以使该程序执行结果为:50 4 34 21 100 7.1 8.1 9.1 10.1 11.1#include template

12、void f ();for (int i=0;ivn/2;i+)t=a i , a i =a n-l-i , a n-l-i =t; void main ()int a 5 =10,21,34,4,50;for (int i=0;iv5;i+)cout a i cout endl;for (i=0;iv6;i+)cout d icout endl;2. 在下面程序的底画线处填上适当的字句,使该程序执行结果为40。#include class Test public:Test (int i=0) x=i+x; int Getnum() return Test:x+7;void main()Tes

13、t test;couttest.Getnum()endl;3. 在下列程序的空格处填上适当的字句,使输出为:0, 2, 10o#include #include class Magicdouble x;public:Magic(double d=0.00):x(fabs(d)Magic operator+()return Magic(sqrt(x*x+c.x*c.x);operator(ostream & stream,Magic & c) streamc.x;return stream;;void main()Magic ma;coutma, Magic(2), ma+Magic(-6)+ Magic(-8)endl;4. 下面是一个输入半径,输出其面积和周长的C+程序,在下划线处填上正确的语句。#include void main()double rad;coutrad=;cinrad;double l=2.0*pi*rad;double s=pi*rad*rad;内不要答题cout n The long is: lendl; coutThe area is: sendl;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号