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

开通VIP
 

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

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

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(面向对象程序设计网上教学活动文本.doc)为本站上传会员【天****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

面向对象程序设计网上教学活动文本.doc

1、面向对象程序设计网上教学活动文本( .10.20) 唐龙: 同学们现在开始答疑, 请大家提问。 问: 怎样学好这门课程? 唐龙: 最简单一句话说是: 在初步理解主要基本概念的基础上多上机实践。 问: 在C++进行程序开发时, 遇到大批量的数据需要处理时, 是用函数还是结构链, 是不是还有其它的办法? 唐龙: 这不能一概而论, 要看所处理的是什么数据, 有什么处理要求, 先要选择采用合理的数据结构和算法, 才可能开发出适用的程序。 问: 我们怎样才能考好这门课程? 它的考试题型有哪些? 徐孝凯: 1.认真听好老师的面授辅导课; 2.认真按照

2、实验教材的要求做好每个实验; 3.认真做好形成性作业; 4.到期末复习阶段, 按照实验教材的附录中所给的综合练习题重复做好练习。 5.参考以前考过的试卷, 题型基本不变。 问: 面向对象程序设计的重点内容? 唐龙: 本课程着重对C++语言的基本概念和语法规则理解, 掌握其使用方法, 进而初步学会运用于实际编程。最重要的基本概念, 例如, 类与对象, 继承, 重载等一定要清楚理解, 并学会在简单的编程应用。 徐孝凯: 往届试卷, 供同学们复习时参考 中央广播电视大学 计算机科学与技术专业面向对象程序设计试题( 3) 8月 题 号 一 二

3、 三 四 五 六 七 总 分 得 分 一、 单项选择( 每小题1分, 共12分) 1.设x和y均为bool量, 则x || y为假的条件是( )。 A. 它们均为真 B. 其中一个为真 C. 它们均为假 D. 其中一个为假 2. 假定一个二维数组的定义语句为”int a[3][4]={{3,4},{2,8,6}};”, 则元素a[1][2]的值为( ) 。 A. 2 B. 4 C. 6 D. 8

4、 3. 以下错误的描述是( ) 。 函数调用能够 A. 出现在一个表示式中 B. 出现在执行语句中 C. 作为一个函数的实参 D. 作为一个函数的形参 4. 关于局部变量, 下面说法正确的是( )。 A. 定义该变量的程序文件中的函数都能够访问 B. 定义该变量的函数中的定义处以下的任何语句都能够访问 C. 定义该变量的复合语句中的定义处以下的任何语句都能够访问 D. 定义该变量的函数中的定义处以

5、上的任何语句都能够访问 5. 假定p是具有int**类型的指针变量, 则给p赋值的正确语句为( ) 。 A. p=new int; B. p=new int*; C. p=new int**; D. p=new int[10]; 6. 软件产品在需求发生变化、 运行环境发生变化或发现软件产品本身的错误或不足时进行相应的软件更新的难易程度叫做软件的( ) 。 A. 可维护性 B. 可复用性 C. 兼容性 D. 正确性 7. 若需要把一个类外定义的成员函数指明为

6、内联函数, 则必须把关键字( ) 放在函数原型或函数头的前面。 A. in B. inline C. inLine D. InLiner 8. 在一个用数组实现的队列类中, 假定数组长度为MS, 队首元素位置为first, 队列长度为length, 则队尾的后一个位置为( )。 A. length+1 B. first+length C. (first+length-1)%MS D. (first+length)%MS 9.

7、假定一个类的构造函数为 ”A(int aa, int bb) {a=aa; b=aa*bb;}”, 则执行 ”A x(4,5);”语句后, x.a和x.b的值分别为( )。 A. 4和5 B. 5和4 C. 4和20 D. 20和5 10. 假定AB为一个类, 则执行”AB *p=new AB(1,2);”语句时共调用该类构造函数的次数为( )。 A. 0 B. 1 C. 2 D. 3 11. 一个类的成员函数也能够成为另一个类的友元函数, 这时的友元说明(

8、 ) 。 A. 需加上类域的限定 B. 不需加上类域的限定 C. 类域的限定可加可不加 D. 不需要任何限定 12. 关于插入运算符<<的重载, 下列说法不正确的是( ) 。 A. 运算符函数的返回值类型是ostream & 。 B. 重载的运算符必须定义为类的成员函数。 C. 运算符函数的第一个参数的类型是ostream & 。 D. 运算符函数有两个参数。 二、 填空( 每空1分, 共14分) 1. 当执行co

9、ut语句输出endl数据项时, 将使C++显示输出屏幕上的光标从当前位置移动到________的开始位置。 2. 假定x和y为整型, 其值分别为16和5, 则x/y和double(x)/y的值分别为__________和__________。 3. 执行switch语句时, 在进行作为条件的表示式求值后, 将从某个匹配的标号位置起向下执行, 当碰到下一个标号位置时________执行。 4. strlen(”apple”)的值为________, strcmp(”a”,”A”)的值为________。 5. C++程序运行时的内存空间能够

10、分成全局数据区, 堆区, 栈区和__________区。 6.假定a是一个一维指针数组, 则a+i所指对象的地址比a大________字节。 7. 已知语句”cout<

11、B的类定义构造函数, 则系统为其定义的构造函数为__________。 11.假定用户为类AB定义了一个构造函数"AB(int aa) {a=aa;}", 该构造函数实现对数据成员_________的初始化。 12. 作为类的成员函数重载一个运算符时, 参数表中只有一个参数, 说明该运算符有________个操作数。 三、 程序填充, 对程序、 函数或类中划有横线的位置, 根据题意按标号把合适的内容填写到程序下面相应标号的后面( 每小题6分, 共24分) 1. 下面程序计算出的值。 #include

12、 void main() { double x,p1=1,p2=1,s=0; int i,j=1; cout<<"输入x的值:"; cin>>x; for(i=1;i<=10;i++) { p1*=___(1)_____; p2*=____(2)____; s+=j*p1/p2; //j的值为(-1)i+1 j=____(3)____; }

13、 cout<

14、 (2) (3) 3. 假定有定义为”struct NODE{int data; NODE* next;};”, 下面算法是把以L为表头指针的链表中各结点依次按相反次序链接并返回新链表的表头指针。 NODE* f8(NODE* L) { if(L==NULL) return NULL; NODE *p=NULL, *q=L, *t; while(q!=NULL) { t=q; q=___(1)___; t->next=___(2)_

15、 p=t; } ___(3)___; } (1) (2) (3) 4. 已知一个利用数组实现栈的类定义如下: const int ARRAY_SIZE=10; class Stack { public: void Init() {top=-1;} //初始化栈为空 void Push(int newElem); //向栈中压入一个元素 int Pop(); //从栈顶弹出一个元素 b

16、ool Empty() { //判栈空 if(top==-1) return true;else return false;} int Depth() {return top+1;} //返回栈的深度 void Print(); //按照后进先出原则依次输出栈中每个元素, 直到栈空为止 private: int elem[ARRAY_SIZE]; //用于保存堆栈元素的数组 int top; //指明栈顶元素位置的指针 }; 该类的Pop和Print函数的实现分别如下: ___(1)

17、 { if(top==-1) { cout<<"栈空!"<

18、 int a[8]={36,25,20,43,12,70,66,35}; void main() { int s0,s1,s2; s0=s1=s2=0; for(int i=0; i<8; i++) { switch(a[i]%3) { case 0: s0+=a[i];break; case 1: s1+=a[i];break; case 2: s2+=a[i];break; }

19、 } cout< #include class CD { char* a; int b; public: void Init(char* aa, int bb) { a=new char[strlen(aa)+1];

20、 strcpy(a,aa); b=bb; } char* Geta() {return a;} int Getb() {return b;} void Output() {cout<

21、yz"); dy.Init(a,dx.Getb()+20); dx.Output(); dy.Output(); } 五、 指出程序或函数的功能( 每小题6分, 共12分) 1. #include #include #include void main() { int i=10,a; while(i>0) { a=rand()

22、90+10; int j, k=int(sqrt(a)+1e-5); //sqrt(x)为求x的平方根函数 for(j=2; j<=k; j++) if(a%j==0) break; if(j>k) {cout<

23、 do cin>>n; while(n<0); if(n==0) {f=NULL; return;} f=new IntNode; IntNode* p=f; cout<<”从键盘输入”<next=new IntNode; cin>>p->data; } p->next =NULL;

24、 p=f; f=f->next; delete p; } 假定IntNode的类型定义为: struct IntNode { int data; //结点值域 IntNode* next; //结点指针域 }; 六、 程序改错, 请根据程序段或函数模块的功能改写个别地方的错误( 6分) 。 假定要求下面程序的输出结果为”11/15”,其主函数中存在着三行语句错误, 请指出错误语句行的行号并改正错误行。

25、 #include class Franction { //定义分数类 int nume; //定义分子 int deno; //定义分母 public: //把*this化简为最简分数, 具体定义在另外文件中实现 void FranSimp(); //返回两个分数*this和x之和, 具体定义在另外文件中实现 Franction FranAdd(const Franction& x); //置分数的

26、分子和分母分别0和1 void InitFranction() {nume=0; deno=1;} //置分数的分子和分母分别n和d void InitFranction(int n, int d) {nume=n; deno=d;} //输出一个分数 void FranOutput() {cout<

27、 //2行 Franction a,b,c; //3行 a.InitFranction(6,15); //4行 b.InitFranction(1); //5行 c.InitFranction(); //6行 c=FranAdd(a,b); /

28、/7行 cout<

29、量的标识符。 2. 根据下面类中Uion 函数的原型和注释写出它的类外定义。 class Array { int *a; //指向动态分配的整型数组空间 int n; //记录数组长度 public: Array(int aa[], int nn); //构造函数, 利用aa数组长度nn初始化n, //利用aa数组初始化a所指向的数组空间 Array(Array& aa); //拷贝构造函数 Array& Give(Array& aa);

30、 //实现aa赋值给*this的功能并返回*this Array Uion(Array& aa); //实现*this和aa中的数组合并的功能, 把合并 //结果(其长度为两数组长度之和)存入临时对象并返回 int Lenth() {return n;} //返回数组长度 void Print() { //输出数组 for(int i=0; i

31、试题 答案及评分标准 ( 供参考) 一、 单项选择( 每小题1分, 共12分) 1. C 2. C 3. D 4. C 5. B 6. A 7. B 8. D 9. C 10. B 11. A 12. B 二、 填空( 每空1分, 共14分) 1. 下一行 2. 3 3.2 3. 不停止 4. 5 1 5. 代码 6.4*i 7.H 8. 单继承 9.

32、不能够 10. AB() {} 11. a 12. 2 三、 程序填充, 对程序、 函数或类中划有横线的位置, 根据题意按标号把合适的内容填写到程序下面相应标号的后面( 每小题6分, 共24分) 1. (1) x //2分 (2) i //2分 (3) –j //2分 2. (1) NODE* p=L //2分 (2) p=p->next //2分 (3) p->data //2分 3. (1) q->next //2分 (2) p //2分 (3) retur

33、n p //2分 4. (a) int Stack::Pop() //2分 (b) elem[top--] //2分 (c) Pop() //2分 四、 写出程序运行结果( 每小题8分, 共16分) 1. 114 138 55 //每个数据占3分, 全对给8分 2. abcdef 30 //4分, 每个数据2分 abcdefxyz 50 //4分, 每个数据2分 五、 指出程序或函数的功能( 每小题6分, 共12分) 1.随机产生出10个10至10

34、0( 或99) 之间的素数并显示出来。 2.首先从键盘上输入一个整数给n, 然后依次输入n个整数建立以表头指针为f的链表。 评分标准: 根据叙述情况酌情给分。 六、 程序改错, 请根据程序段或函数模块的功能改写个别地方的错误( 6分) 。 错误行的行号为5 7 8 分别改正为b.InitFranction(1,3); c=a.FranAdd(b); c.FranOutput() 评分标准: 共6个数据, 每个数据1分。 七、 编程( 每小题8分, 共16分) 评分标准: 根据编程情况酌情给分。 1. #incl

35、ude void main() { int i; //用i作为循环变量 int p=1; //用p作为累乘变量 int s=1; //用s作为累加循环变量 for(i=1;i<=10;i++) {p*=3; s+=p;} cout<

36、 int i; for(i=0; i

37、 A. 6 B. 7 C. 8 D. 9 2. 假定一个二维数组的定义语句为”int a[3][4]={{3,4},{2,8,6}};”, 则元素a[2][1]的值为( ) 。 A. 0 B. 4 C. 8 D. 6 3. 以下正确的描述是( ) 。 A. 函数的定义能够嵌套, 函数的调用不能够嵌套 B. 函数的定义不能够嵌套, 函数的调用能够嵌套 C. 函数的定义和函数的调用均能够嵌套 D

38、 函数的定义和函数的调用均不能够嵌套 4. 设有定义”double array[10];”, 则表示式sizeof(array)/sizeof(array[0])的结果为( )。 A. array数组首地址 B. array数组中元素个数 C. array数组中每个元素所占的字节数 D. array数组占的总字节数 5. 要使p指向动态空间中的包含30个整数单元的数组使用的定义语句为( ) 。 A. int *p=new int[30];

39、 B. int *p=new int(30); C. int *p=new [30]; D. *p=new int[30]; 6. 软件产品与其它软件产品组合成一个整体的难易程度叫做软件的( ) 。 A. 可维护性 B. 可复用性 C. 兼容性 D. 正确性 7. 在多文件结构的程序中, 一般把类的定义单独存放于( ) 中。 A. 主文件 B. 实现文件 C. 库文件 D. 头文件 8. 在一个用数组实现的

40、队列类中, 假定数组长度为MS, 队首元素位置为first, 队列长度为length, 则队首的后一个位置为( )。 A. first+1 B. (first+1)%MS C. (first-1)%MS D. (first+length)%MS 9. 假定一个类的构造函数为”A(int aa=1, int bb=0) {a=aa; b=bb;}”, 则执行”A x(4);”语句后, x.a和x.b的值分别为( )。 A. 1和0 B. 1和4 C. 4和1

41、 D. 4和0 10. 假定AB为一个类, 则执行”AB a(2), b[3], *p[4];”语句时共调用该类构造函数的次数为( )。 A. 3 B. 4 C. 5 D. 9 11. 在成员函数中进行双目运算符重载时, 其参数表中应带有( ) 个参数。 A. 0 B. 1 C. 2 D. 3 12. 在重载一运算符时, 若运算符函数的形参表中没有参数, 则不可能的情况是( ) 。 A. 该运算符是一个单目运算符。

42、 B. 该运算符函数有一个隐含的参数this。 C. 该运算符函数是类的成员函数。 D. 该运算符函数是类的友元函数。 13. 派生类的对象对其基类中( ) 可直接访问。 A. 公有继承的公有成员 B. 公有继承的私有成员 C. 公有继承的保护成员 D. 私有继承的公有成员 二、 填空( 每空1分, 共17分) 1. 多行注释的开始标记符和结束标记符分别为__________和__________。 2. 假定x

43、5, y=6, 则表示式x++*++y的值为__________。 3. 假定x是一个逻辑量, 则x && true的值为__________。 4. 含随机函数的表示式rand()%20的值在_____至______区间内。 5. 若需要把一个字符串”aaa”赋值到字符数组a中, 则需要执行________字符串函数的调用来实现。 6. 程序的编译是以__________为单位进行的。 7. 一个数组的数组名实际上是指向该数组的________元素的指针, 而且在任何时候都不允许________它。 8.

44、指针变量pv和pc定义为”void *pv =”Hello, word!”; char *pc;”, 要将pv值赋给pc, 则正确的赋值语句是_______________。 9. C++支持两种多态性: _________时的多态性和__________时的多态性。 10.在一个用数组实现的队列类中, 除了保存队列元素的叔祖成员外, 还包含有两个数据成员, 一个指明队首元素位置, 另一个指明队列____________。 11.一个类的__________函数一般见于实现释放该类对象中指针成员所指向的动态存储空间的任务。 12. 假定用

45、户为类AB定义了一个构造函数”AB(int aa, char *bb=NULL):a(aa),b(bb){}”, 则该类中至少包含有__________个数据成员。 13. 重载插入运算符<<时, 其运算符函数的返回值类型应当是____________。 三、 程序填充, 对程序、 函数或类中划有横线的位置, 根据题意按标号把合适的内容填写到程序下面相应标号的后面( 每小题6分, 共18分) 1. 打印出2至99之间的所有素数(即不能被任何数整除的数)。 #include #include

46、> void main() { int i,n; for(n=2; ___(1)___; n++) { int temp=int(sqrt(n)); //求出n的平方根并取整 for(i=2; ___(2)___; i++) if(n%i==0) ___(3)___; if(i>temp) cout<

47、 (2) (3) 2. 下面是对按从小到大排列的有序数组a[n]中进行二分查找x的算法, 若查找成功返回该元素下标, 否则返回-1。 int BinarySearch(int a[],int n,int x) { int low=0, high=n-1; //定义并初始化区间下界和上界变量 int mid; //定义保存中点元素下标的变量 while(low<=high) { mid=_

48、1)___; if(x==a[mid]) ___(2)___; else if(x

49、 {} //分别用aa和bb对应初始化a和b }; main() { ___(2)___ ; //定义类A的对象x并用5初始化, 同时定义y并用x初始化 ___(3)___ ; //定义p指针, 使之指向对象x } (1) (2) (3) 四、 写出程序运行结果( 每小题6分, 共18分) 1. #include const int N=5; void main()

50、 { int i,p=1,s=0; for(i=1;i void main() { char s[3][5]={"123

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服