面向对象试卷2

上传人:d**** 文档编号:173615342 上传时间:2022-12-12 格式:DOCX 页数:11 大小:25.99KB
收藏 版权申诉 举报 下载
面向对象试卷2_第1页
第1页 / 共11页
面向对象试卷2_第2页
第2页 / 共11页
面向对象试卷2_第3页
第3页 / 共11页
资源描述:

《面向对象试卷2》由会员分享,可在线阅读,更多相关《面向对象试卷2(11页珍藏版)》请在装配图网上搜索。

1、面向对象 0407 试卷2004 年 7 月 一、单项选择(每小题 1分。共12 分)1设 x 和 y 均为 bool 量,则 x | y 为假的条件是( )。A. 它们均为真B.其中一个为真C.它们均为假D.其中一个为假2. 假定一个二维数组的定义语句为“ int a 34=3,4),2,8,6);”,则元素 a12的值为()。A. 2 B. 4C. 6 D. 83. 以下错误的描述是( )。函数调用可以A. 出现在一个表达式中B.出现在执行语句中C.作为一个函数的实参D.作为一个函数的形参4. 关于局部变量,下面说法正确的是( )。A. 定义该变量的程序文件中的函数都可以访问B. 定义该变

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

3、型或函数头的前面。A. in B. inlineCinline DInLiner8. 在一个用数组实现的队列类中,假定数组长度为MS,队酋元素位置为first,队列长度 为Length,则队尾的后一个位置为()。A. 1ength+1 B. first + lengthC. (first :十 length1) % MS D. (first, + length) % MS9. 假定一个类的构造函数为“A(int aa, int bb)a = aa. b=aa*bb;)”,则执行“A x(4, 5);”语句后, x. a 和 x. b 的值分别为( )。A. 4 和 5 B. 5 和 4C, 4

4、 和 20 D. 20 和 510. 假定AB为一个类,则执行“AB*p=new AB(1, 2); ”语句时共调用该类构造函数的 次数为( )。A. 0 B. 1C. 2 D. 311. 一个类的成员函数也可以成为另一个类的友元函数,这时的友元说明( )。A.籍加上类域的限定B.不需加上类域的限定C.类域的限定可加可不加D.不需要任何限定12. 关于插入运算符的重载,下列说法不正确的是( )。A. 运算符函数的返回值类型是ostream&。B. 重载的运算符必须定义为类的成员函数。C. 运算符函数的第一个参数的类型是ostream&。D. 运算符函数有两个参数。二、填空(每空 1 分,共14

5、 分)1. 当执行cout语句输出endl数据项时,将使C+显示输出屏幕上的光标从当前位置移动到 的开始位置。2. 假定x和y为整型,其值分别为16和5,则x / y和double(x) / y的值分别为和3. 执行 switch 语句时,在进行作为条件的表达式求值后,将从某个匹配的标号位置起向下 执行,当碰到下一个标号位置时 执行。4. strlen(apple)的值为,strcmp(a, “A”)的值为。5. C+程序运行时的内存空间可以分成全局数据区,堆区,栈区和 区。6. 假定a是一个一维指针数组,则a+i所指对象的地址比a大 字节。7. 已知语句“coutp; ”的输出是“Hello

6、!”,则语句“cout*p; ”输出的是。8如果一个派生类只有一个唯一的基类,则这样的继承关系称为 。9. 假定AA是一个类,“AA*abc()consl; ”是该类中一个成员函数的原型,在该函数体中 向*this或其成员赋值。10. 假定用户没有给一个名为AB的类定义构造函数,则系统为其定义的构造函数为11.假 定用户为类AB定义了一个构造函数“AB(intaa)aaa; )”,该构造函数实现对数 据成员的初始化。12.作为类的成员函数重载一个运算符时,参数表中只有一个参数,说明该运算符有 个操 作数。三、程序填充,对程序、函数或类中划有横线的位置,根据题意按标号 把合适的内容填写到程序下面

7、相应标号的后面(每小题 6分.共24 分)。1. 下面程序计算出”署的值。# includevoid main( )double x, pl=1, p2=l, sO;int i, j=1 ;cout x;for (i=l; i=10; i+)pl*= (1) ;p2*= (2) ;s 十一 j*plp2;j 的值为(一 1) j= (3) ;2. 假定有定义为“struct NODE(int data; NODE*next;); ”,下面算法是依次显示输以L为 表头指针的链表中各结点的值。void if(NODE*L)for( (1) ; p!=NULL;(2) )tout (3) ;cout

8、endl;(1) (2) (3)3. 假定有定义为“struct NODE(int data; NODE*next; ; ”。下面算法是把以L为表头 指针的链表中各结点依次按相反次序链接并返回新链表的表头指针。NODE* f8 (NODE*L)if(L = = NULL)return NULL;NODE”p=NULL, p=L, *t;while(q!= NULL)t = q ;q= (1) ;t 一next= (2);P=t。)(3) ;4. 已知一个利用数组实现栈的类定义如下:const int ARRAYSIZE=10;class Stack public:void Init()(top

9、= -l; ) 初始化栈为空void Push(int newElem);向栈中压入一个元素int Pop(); 从栈顶弹出一个元素bool Empty() 判栈空if(top = = -1)return true; else return false; )int Depth()(return top+I ; ) 返回栈的深度void Print ();按照后进先出原则依次输出栈中每个元素,直到栈空为止private;int elemARRAY_SIZE;用于保存堆栈元素的数组int top; 指明栈顶元素位置的指针;该类的 Pop 和 Print 函数的实现分别如下(1)if(top = =

10、 -1)coutvv栈空v Vendl; exit(1); 中止运行 return(2);void Stack :Print() while(!Empty()COUtvv (3) ;coutendl; (1) (2) (3)四、写出程序运行结果(每小题 8 分,共 16 分) 1#inctudeint a83=36,25,20,43,12,70,66,35) void main()int sO ,sl,s2 ; sO=sl=s2=O: for(int i=O; i8; i+) switch(a-i3)( case 0:sO+=ai; break case 1:sl+=a1; break; ca

11、se 2:s2+=ai; break coutvvsOvv”vvS1vv”vvs2vvendl; 2#include #include class CD( char*a: int b; public:void Init(char*aa ,int bb)a=new charl-strlen(aa)十 1;strcpy(a,aa):b=bb:char*GetaO(return a; )iht Getb()return b; )void Output()couta”bendl ; );void main()CD dx,dy;char a20 ;dxInit(“abcdef”,30) ;strcpy(

12、a,dxGeta(); strcat(a,“xyz”);dyInit(a,dxGetb()+20) ; dxOutput() ; dyOutput():五、指出程序或函数的功能(每小题 6 分,共12分)1 #include#include #include void main()int i=10,a; while(iO)a=randO90+10int j, k=int(sqrt(a)+le 5);/ sqrt(x)为求 x 的平方根函数for(j=2; jk)coutvn; while(nO);if(n= =0)f=NULL; return; )f=new IntNode;IntNode*p

13、=f;cout“从键盘输入”nnextnew IntNode;cinp-data;p-next=NULL;p=f; f=f-next ; delete p;假定 IntNode 的类型定义为:struct IntNodeint data; 结点值域IntNode*next;/结点指针域;六、程序改错。请根据程序段或函数模块的功能改写个别地方的错误(6 分)。假定要求下面程序的输出结果为“1115”,其主函数中存在着三行语句错误,请指出错误 语句行的行号并改正错误行。#includeclass Franction( / 定义分数类int nume; 定义分子 int deno; 定义分母publ

14、ic:/把*this化简为最简分数,具体定义在另外文件中实现void FranSimpO;/返回两个分数*this和x之和,具体定义在另外文件中实现Franction FranAdd(const Franction&x);置分数的分子和分母分别0和1void InitFranction()nume=Odeno-1;置分数的分子和分母分别 n 和 dvoid InitFranction(int n, int d)nume=n;deno=d;输出一个分数void FranOutputOcoutnumevv / vvdenoendl;);void main() 1 行( 11z 行Franction

15、 fl, b, c,3 行f1InitFranction(6, 15);4 行b1nitFranction(1);115 行c InitFranction();16 行c=FranAdd(a,b) ;/ 7 行eoutvvc. flUmevv / 存入临时对象并返回int LenthOreturn n; ) /返回数组长度void Print()( /输出数组for(int i=0; in; i+)coutai2 ;COIJtnext 2 分(3) p-data 2 分3(1)q-next 2 分(2)p 2 分(3)return P z 分4(a) int Stack:Pop() 12 分(

16、b) elemtop- 2 分(c) PopO 2 分四、写出程序运行结果(每小题 8分,共16 分)1114 138 55 每个数据占3 分,全对给8 分2abedef 30 114 分,每个数据 2 分abedefxyz 50 114 分,每个数据 2 分五、指出程序或函数的功能(每小题 6 分,共12分)1. 随机产生出1O个i0至ioo(99)之间的素数并显示出来。2. 首先从键盘上输入一个整数给n然后依次输入n个整数建立以表头指针为f的链表。评分标准:根据叙述情况酌情给分。六、程序改错,请根据程序段或函数模块的功能改写个别地方的错误(6 分】。 错误行的行号为 5 7 8分别改正为

17、b. InitFranction(l, 3); c=a. FranAdd(b); cFranOu。pu() 评分标准:共6个数据,每个数据1分。七、编程(每小题8分,共16 分)评分标准:根据编程情况酌情给分。1#includevoid main()int i;/用i作为循环变量int p=1;/用P作为累乘变量int s=l;/用 S 作为累加循环变量for(i=l; iv=10; i 十+)(P*=3 ; s+=P ; coutsendl;)2.Array Array:Uion(Arrayaa)int k=n+aa, n;int*w=new intk:int i;for(i=Oimi-t-+)wi ; aI;for(i=O; ivaa. n; i+)wi+n皇 aa. ai;Array r(w, k); return r;

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!