C++试题(一)附答案(最新整理)_第1页
C++试题(一)附答案(最新整理)_第2页
C++试题(一)附答案(最新整理)_第3页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、单项选择题(共 20 题,每题 1 分,共 20 分)1、下列关于 c+标识符的命名不合法的是a. pad b. name_1 c. a#bc d. _a12 2、若有以下类型标识符定义: ( )int x=2; char w=a; float y=23.45f; double z=45.6712; 则表达式 w*x+y-z 的结果类型是a. float b. char c. int d. double3、若有 int x=10,y=20,z=30; 则执行下面语句后,x 的值是if(xy) z=x; x=y; y=z;a. 10 b. 20 c. 30 d. 04、循环语句 whlie(

2、int i=0 )i-;的循环次数是a. 0 b. 1 c. 5 d. 无限5、一个函数无返回值时,应选择的说明符是a. static b. extern c. void d. 无说明符6、对重载函数形参的描述中,错误的是a. 参数的个数可能不同b. 参数的类型可能不同c. 参数的顺序可能不同d. 参数的个数、类型、顺序都相同,只是函数的返回值类型不同7、以下能正确定义数组并正确赋初值的语句是a. int n=5,bnn;b. int a2=1,3,4,5;c. int c2=1,2,3,4;d. int d32=1,2,3,4;8、下列给字符数组进行的初始化中,不正确的是a. char s1

3、=abcd;b. char s23=x,y,0;c. char s3=a,x,y,0;d. char s46=xyz,mnp; 9、通常的拷贝构造函数的参数是a 某个对象名 b某个对象成员名c 某个对象的引用 d某个对象的指针名10、关于构造函数特点的描述中,错误的是a. 定义构造函数必须指出类型b. 构造函数的名字与该类的类名相同c. 一个类中可定义 0 至多个构造函数d. 构造函数是一种成员函数11、下面程序的运行结果为#include int add(int a,int b); void main()extern int x,y; coutadd(x,y)a 表示从键盘上读入一个到数组

4、a 中。3、若希望用一个已有对象来构造另一个同类型的对象,可以使用来实现。4、静态成员属于,而不属于,它被同一个类的所有对象共享。5、类的继承方式有继承、继承和继承。6、重载运算符的含义必须清楚,不能有。7、按照联编进行阶段的不同,联编方法可分为两种:和。8、当基类中的某个成员函数被声明为虚函数后,此虚函数就可以在一个或多个派生类中被重新定义,在派生类中重新定义时,其函数原型,包括返回类型、 、 、参数类型以及参数的顺序都必须与基类中的原型完全相同。9、c+的 i/o 是以 的形式实现的,每个 c+编译系统都带有一个面向对象的输入/输出软件包,这就是 。三、判断题(共 10 题,每题 1 分,

5、共 10 分)1、c+语言支持封装性和继承性,不支持多态性。2、关系运算符可以用来比较两个字符的大小,也可用来比较两个字符串的大小。)3、字符串sdfgh的长度是 5。4、引用和指针都可作函数参数。5、友元函数说明在类体内,它是一种成员函数。6、友元类必须被说明为公有成员。7、纯虚函数是在基类中说明的虚函数,它在该基类中没有定义具体的操作内容。8、析构函数不能被继承。9、运算符重载以后,其优先级和结合性都不能改变。10、在 c+中,函数名实际上是一个指针,它指向函数的入口。四、分析程序,回答所提出的问题(16 分)1、 #include class b;class apublic:a(int

6、i) a=i; friend int f(a &f1,b &f2); private:int a;class bpublic:b(int i) b=i; friend int f(a &f1,b &f2); private:int b;int f(a &f1,b &f2)return (f1.a+f2.b)* (f1.a-f2.b);void main()a n1(10);b n2(8);coutf(n1,n2)endl; 写出程序的运行结果。 该程序中共有几个对象,分别属于哪个类? 为什么在程序的开头处通过语句 class b; 对类 b 进行声明? 程序中的哪两条语句会分别调用 a、b 的

7、构造函数?写出这两个构造函数。 函数 f 是什么函数?它的作用是什么?五、阅读程序,写出运行结果(共 2 题,第 1 题 6 分,第 2 题 8 分,共 14 分)1、 #include int func(int a)int b=0;static int c=4; b+; c-;return(a+b+c);void main( )int a=2;for(int j=0;j2;j+) coutfunc(a+j) ;输出结果为:2、 #include class xpublic:x(int i) x=i; cout”int: ”i,”calledn”; x(double i) x=(int)i*2

8、; cout” double: ”i,”calledn”; x() cout” x(): ”x,”calledn”; private:int x;void main()int a=8; double b=11.0;x x1(55), x2(a*5);x x3=x(2*a);x x4=x(b);输出结果为:六、编写程序(共 2 题,第 1 题 10 分,第 2 题 14 分,共 24 分)1、输入一组数据以-1 作为结束标志,要求删除其它数据只保留能被 2 整除的数据并输出结果。2、定义一个日期类 date,包含年、月、日三个数据成员,以及一个求第二天日期的成员函数和输出日期的成员函数。模拟试卷

9、(一)答案一、单项选择题1、c 2、d 3、b 4、a 5、c 6、d 7、d 8、d 9、c 10、a11、c 12、b 13、b 14、c 15、d 16、d 17、d 18、a 19、c 20、c二、填空题1、形参的类型 形参的个数2、字符串3、拷贝构造函数4、类 任何一个对象5、public(或公有) private(或私有) protected(或保护) 6、二义性7、动态联编 静态联编8、函数名 参数个数9、字节流 i/o 流类库三、判断题1、 2、 3、 4、 5、 6、 7、 8、 9、 10四、分析程序,回答所提出的问题(平分标准:每问 4 分,共 16 分) 36 n1 和

10、 n2 两个对象,n1 属于 a 类,n2 属于 b 类。因为 b 类的定义在 a 类后,而 a 类中要引用 b 类。 语句 a n1(10); 和语 b n2(8);a 类的构造函数:a(int i) a=i; b 类的构造函数:b(int i) b=i; 函数 f 是友元函数。它的作用是:提供了不同类或对象的成员函数之间、类的成员函数与一般函数之间共享数据的机制。(关键答出共享数据、或答出通过友元可以访问到封装与类 a、b 中的数据)五、阅读程序,写出运行结果1、输出结果为:6 62、输出结果为:int:55,called int:40,calledint:16,called double

11、:11,calledx:22,calledx:16,calledx:40,calledx:50,called六、编写程序1、输入一组数据以-1 作为结束标志,要求删除其它数据只保留能被 2 整除的数据,并输出结果。# include void main()int b50,x,n=0; cinx; while(x!=-1)b+n=x; cinx;for(int i=1,j=0;i=n;i+) if(bi%2=0) b+j=bi; for(i=1;i=j;i+) coutbi t; coutendl;2、定义一个日期类 date,包含年、月、日三个数据成员,以及一个求第二天日期的成员函数和输出日期

12、的成员函数。#include class dateprivate:int year,month,day; public:date(int y, int m, int d)year=y; month=m; day=d;void nextday(); void display()coutyear/month/daytotaldaysleapmonth-1)day=1; month+; if(month12)month=1;year+;void main()int d,m,y;coutymd;date d1(y,m,d); cout今天是:; d1.display();d1.nextday(); c

13、out明天是:; d1.display();“”“”at the end, xiao bian gives you a passage. minand once said, people who learn to learn are very happy people. in every wonderful life, learning is an eternal theme. as a professional clerical and teaching position, i understand the importance of continuous learning, life is diligent, nothing can be gained, only continuous learning can achieve better self. only by constantly learning and mastering the latest relevant knowledge, can employees from all walks of life keep up with the pa

温馨提示

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

评论

0/150

提交评论