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

加入VIP,省得不是一点点
 

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

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

下载须知

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

版权提示 | 免责声明

本文(C期末考试题及答案分析.doc)为本站会员(坚持)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

C期末考试题及答案分析.doc

1、清华大学计算机系 C+期末考试题及答案一、 填空题(25 小题,共 50 分)(以下每小题 1 分,共 10 分)1 在 C+中,函数的参数有两种传递方式,它们是值传递和 地址或指针或引用传递。2 当一个成员函数被调用时,该成员函数的 this 指针 指向调用它的对象。3在基类和派生类中,派生类可以定义其基类中不具备的数据和操作。对两个有相同名字的数据成员进行访问时,如果没有 作用域分隔符限定时 ,对此数据成员的访问将出现歧义。4 拷贝构造函数使用 引用 作为参数初始化创建中的对象。5 在公有继承的情况下,基类数据成员在派生类中的访问权限 保持不变 。6 描述命题“A 小于 B 或小于 C“的

2、表达式为 Acfloat x;x=(b-a)/(F-A);printf(“%dn“,(int)(3.14*x);22 下面程序的运行结果是 2 5 8 11 14。#include “iostream.h“void main( )int i=1;while (iclass Apublic:A()coutint a =1,3,5,7,9;int *p =a,a+1,a+2,a+3,a+4;void main( )printf(“%dt%dt%dn“,a4,*(a+2),*p1);printf(“%dt%dt%dn“,*(p+1)+a2,*(p+4)-*(p+0),*(a+3)%a4);9 5 3

3、8 4 7二、 问答题(每小题 5 分,共 20 分)1若程序员没有定义拷贝构造函数,则编译器自动生成一个缺省的拷贝构造函数,它可能会产生什么问题?解答要点:当对象含有指针数据成员,并用它初始化同类型的另一个对象时,缺省的拷贝构造函数只能将该对象的数据成员复制给另一个对象,而不能将该对象中指针所指向的内存单元也复制过去。这样,就可能出现同一内存单元释放两次,导致程序运行出错。2 简述成员函数、全局函数和友元函数的差别。解答要点:以下几点必须说清楚:成员函数是在类内部定义的,作用域在类的内部,成员函数可以访问类的数据成员(公有、保护和私有数据成员),可以调用该类的其它成员函数(公有、保护和私有成

4、员函数),可以调用全局函数。如果友元函数是另一个类的公有成员函数,则该类的成员函数也只能通过那个类的对象调用,不能调用那个类的保护和私有成员函数。非本类成员函数(其它类成员函数或全局函数)可以通过该类的对象访问该类的公有数据成员和调用该类的的公有成员函数。不是在类中定义的成员函数都是全局函数。如果某一个函数(全局函数或类的成员函数)定义为另一个类的友元函数,需要在那个类中用 friend 关键字声明,友元函数并不是类的成员,它的定义自然是在那个类的外面。3 简述结构化的程序设计、面向对象的程序设计的基本思想。解答要点:结构化的程序设计将数据和对数据的操作分离,程序是由一个个的函数组成的,面向对

5、象的程序设计将数据和操作封装在一起,程序是由一个个对象组成的,对象之间通过接口进行通信,它能够较好地支持程序代码的复用。4 结构 struct 和类 class 有什么异同?解答要点:struct 和 class 都可以定义类,但是缺省访问权限说明时,struct 的成员是公有的,而 class 的成员是私有的。在 C+中,struct 可被 class 代替。三、找出下面程序(或程序段)中的语法错误,并予以纠正(每小题 4 分,共 8 分)(1)程序功能是倒序输出各给定的字符串。#include void main()char str5 =“First“,“Second“,“Third“,“

6、Forth“,“Fifth“;char *cp =str4,str3,str2,str1,str0;int i;while(ivoid main()int max,a,i;scanf(“%d%d“,max,a);double xmax;for (i=0;i“ “scanf(“%d%d“,max,a);“应为“scanf(“%d%d“,“ “double xmax;“改为:“double *x=new doublemax;“delete x;“四、(8 分)下列 shape 类是一个表示形状的抽象类,area( )为求图形面积的函数,total( )则是一个通用的用以求不同形状的图形面积总和的函

7、数。请从 shape 类派生三角形类(triangle)、矩形类(rectangle),并给出具体的求面积函数class shapepublic:virtual float area( )=0;float total(shape *s ,int n)float sum=0.0;for(int i=0;iarea( );return sum;class Triangle:public Shapepublic:Triangle(double h,double w)H=h;W=w;double Area() constreturn H*W*0.5;private:double H,W;class R

8、ectangle:public Shapepublic:Rectangle(double h,double w)H=h;W=w;double Area()constreturn H*W;private:double H,W;五、(6 分)完成顺序查找函数 f_seq( )。其过程是:从表头开始,根据给定的模式,逐项与表中元素比较。如果找到所需元素,则查找成功,并打印出它在表中的顺序号。如果查找整个表仍未找到所需对象,则查找失败#include void f_seq(char *list,char *object,int len)/list 指针数组,指向字符串/object 模式串/len 表

9、的长度char *p;int strcmp(char *s,char *t);p=list;while (_) /pnext=NULLp=head-next;head-next=NULL;while(_) /p!=NULL 或 ptemp1=head;_; /head=p;temp2=p;p=p-next;_; /temp2-next=temp1;或 head-next=temp1;/Match while statenmentreturn head; /返回逆置后的链表的头结点一、 选择填空题(共 20 小题,每小题 2 分,共 40 分) 。1. 关于 C+与 C 语言关系的描述中, (

10、4)是错误的。a.C 语言是 C+语言的一个子集 b.C 语言与 C+语言是兼容的c.C+语言对 C 语言进行了一些改进 d.C+语言和 C 语言都是面向对象的2按照标识符的要求, (1 )符号不能组成标识符。a.连接符b.下划线c.大小写字母d.数字字符3. 为了避免嵌套的 if-else 语句的二义性,C 语言规定 else 总是与( 3)组成配对关系。a.缩排位置相同的 ifb.在其之前未配对的 ifc.在其之前未配对的最近的 ifd.同一行上的 if4. 在“int a 3=1,3,2,4,5,6,0;“中,a22的值是( 3) 。a.1b.0c.6d.25. 设“char *s ;“

11、 ,以下正确的表达式是(2) 。a.s=“computer“;b.*s=“computer“;c.*s=“computer“;d.*s=c;6. 对于“int *pa5;“ 的描述中, (4 )是正确的。a.pa 是一个指向数组的指针,所指向的数组是 5 个 int 型元素b.pa 是一个指向某数组中第 5 个元素的指针,该元素是 int 型变量c.pa 5表示某个元素的第 5 个元素的值d.pa 是一个具有 5 个元素的指针数组,每个元素是一个 int 型指针7. 在下列表示引用的方法中, (1 )是正确的。已知:int m=10;a.int b.int c.int d.float 8. 下

12、列 for 循环的次数为( 2) 。for(i=0, x=0; !x i+)a.5b.6c.1d.无限9. 对于 C/C+语言的函数,下列叙述中正确的是(1) 。a.函数的定义不能嵌套,但函数调用可以嵌套b.函数的定义可以嵌套,但函数调用不能嵌套c.函数的定义和调用都不能嵌套d.函数的定义和调用都可以嵌套10. 在一个被调用函数中,关于 return 语句使用的描述, ( 4)是错误的。a.被调用函数中可以不用 return 语句b.被调用函数中可以使用多个 return 语句c.被调用函数中,如果有返回值,就一定要有 return 语句d.被调用函数中,一个 return 语句可以返回多个值

13、给调用函数11. 在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用( 1) 。a.内联函数b.重载函数c.递归调用d.嵌套调用12. 使用 fseek 函数可以实现的操作是( 1) 。a.改变文件指针的当前位置b.文件的顺序读写c.文件的随机读写d.以上都不对13. 下列存储标识符中, ( 3)的可见性与存在性不一致。a.外部类b.自动类c.内部静态类d.寄存器类14. 在如下结构定义中,不正确的是( 2) 。a.struct student int no; char name10;float score;b.struct stud20int no;char name10;float score;c.struct student int no; char name10;float score; stud20;

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。