


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一、选择题 (每题 1 分,共 25 分 )1. 编写C+程序一般需经过的几个步骤依次是()。A. 编译、编辑、连接、调试B. 编辑、编译、连接、调试C. 编译、调试、编辑、连接 D. 编辑、调试、编辑、连接2. 可用作C+语言用户标识符的一组标识符是()。A. void define +WORD B. a3_b3 _123 YN C. for -abc Case D. 2a do sizeof3. 设”int a=12; ”,则执行完语句”a+=a*a; ”后,a的值是()。A. 12 B. 144C. 156 D. 2884. x>0 | y=5 的相反表达式为( )。A. x<
2、;=0 && y!=5 B. x<=0 | y!=5C. x>0 | y!=5 D. x>0 && y=55. 在下面循环语句中循环体执行的次数为( )。 for(int i=0; i<n; i+)if(i>n/2) break;A. n/2B. n/2+1 C. n/2-1 D. n-16. switch 语句能够改写为( )语句。A. forB. if C. do D. while7. 假定一个二维数组的定义语句为“ int a34=3,4,2,8,6;”,则元素 a21的值为( )。A. 0 B. 4 C. 8 D. 68.
3、函数重载是指( )。A. 两个或两个以上的函数取相同的函数名,但形参的个数或类型不 同B. 两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同C. 两个以上的函数名字不同,但形参的个数或类型相同D. 两个以上的函数取相同的函数名,并且函数的返回类型相同9. 若用数组名作为函数调用的实参,传递给形参的是()。A . 数组的首地址 B. 数组中第一个元素的值 C. 数组全部元素的值 D. 数组元素的个数10. 将两个字符串连接起来组成一个字符串时,选用()函数。A. strlen() B. strcap()C. strcat() D. strcmp()11. C+语言的编译系统对
4、宏命令的处理是()。A. 在程序运行时进行B. 在程序连接时进行C. 和C+4程序的其它语句同时进行编译D. 在对源程序中其它成分正式编译之前进行12. 在下面存储类中,( )的对象不是局部变量。A. 函数形参 B. 自动类 C. 外部静态类 D. 寄存器类13. 定义 p 并使 p 指向动态空间中的包含 30 个整数的数组所使用的定义语句为( )。A. int *p=new int30;B. int *p=new int(30);C. int *p=new 30; D. *p=new int30;14. 关于封装,下列说法中不正确的是( )。A. 通过封装,对象的全部属性和操作结合在一起,形
5、成一个整体B. 通过封装,一个对象的实现细节被尽可能地隐藏起来(不可见)C. 通过封装,每个对象都成为相对独立的实体D. 通过封装,对象的属性都是不可见的15假定AA为一个类,a为该类公有的数据成员,x为该类的一个对象,则访问x对象中数 据成员 a 的格式为( )。A. x(a) B. xa C. x->aD. x.a16假定AA是一个类,abc是该类的一个成员函数,则参数表中隐含的第一个参数为()。A. abc B. *thisC. this D. this&17. 结构中定义的成员默认为( )访问属性。A. public B. private C. protected D.
6、friend18假定AB为一个类,则执行 AB r仁r2; ”语句时将自动调用该类的()。A. 无参构造函数 B. 带参构造函数C. 赋值重载函数D. 复制构造函数19. 一个类的静态数据成员所表示属性 ( )。A. 是类的或对象的属性 B. 只是对象的属性C. 只是类的属性D.类和友元的属性20. 当将一个类A或函数f()说明为另一个类B的友元后,类A或函数f()能够直接访问类 B 的( )。A. 只能是公有成员B.只能是保护成员C. 只能是除私有成员之外的任何成员D. 具有任何权限的成员21. 如果表达式a+b中的“+”是作为成员函数重载的运算符,若采用运算符函数调用格式, 则可表示为(
7、)。A. a.operator+(b) B. b.operator+(a)C. operator+(a,b) D. operator(a+b)22. 从一个基类派生出的各个类的对象之间 ( )。A. 共享所有数据成员,每个对象还包含基类的所有属性B. 共享部分数据成员,每个对象还包含基类的所有属性C . 不共享任何数据成员,但每个对象还包含基类的所有属性D. 共享部分数据成员和函数成员23. 对于公有继承,基类的公有和保护成员在派生类中将 ( ) 成员。A. 全部变成公有B.全部变成保护C. 全部变成私有D. 仍然相应保持为公有和保护24. C+ 中的虚基类机制可以保证:()。A. 限定基类只
8、通过一条路径派生出派生类B. 当一个类多次间接从基类派生以后,其基类只被一次继承C. 当一个类多次间接从基类派生以后,派生类对象能保留多份间接基类的成员D. 允许基类通过多条路径派生出派生类,派生类也就能多次继承该基类25. 派生类的对象对其基类中( )可直接访问。A. 公有继承的私有成员B. 公有继承的公有成员C. 公有继承的保护成员 D. 私有继承的公有成员二、填空题 (25%)1. 用于从键盘上为变量输入值的标准输入流对象是 。2程序文件的编译错误分为 和两类。3. 十进制常数245对应的八进制的C+表示为_0。4. 字符串” s a book.'n ”的长度为。15. 数学算式
9、ax +by的C+表达式为。6. 若while循环的“头”为“ while(i+<=10) ”,并且i的初值为0,同时在循环体中不会修改i的值,则循环体将被重复执行后正常结束。7. strlen(” apple ”)的值为,strcmp( ” a”, ” A”)的值为。8. 在C+语言中,一个函数由函数头和 成。9. 全局变量和静态局部变量具有静态生存期,存放在内存的 中。10. 假定p所指对象的值为25, p+1所指对象的值为42,则*p+的值为。11. 执行int *p=new int操作得到的一个动态分配的整型对象为 _*p。12. 以面向对象方法构造的系统,其基本单位是 。13.
10、 C+支持两种多态性: 寸的多态性和寸的多态性。14. 为了使类中的成员不能被类外的函数通过成员操作符访问,则应把该成员的访问权限定义为。15. 若采用x.abc(y)表达式调用一个成员函数,在成员函数中使用的 _*this 就代表了类外的x对象。16假定AB为一个类,则类定义体中的“ AB(AB& x); ”语句为该类勺原型语句。17.在重载一个单目运算符时,参数表中没有参数,说明该运算符函数只能是类的18. 派生类的成员函数可以直接访问基类的成员,不能直接访问基类的成员。19. 弓I进虚基类的根本目的是为了消除 。20. 设有如下定义:#i nclude<iostream.h
11、>class A1 int a1;protected:int b1;public:void show1() cout« ” class A1 ” <<endl; ;class A2: public A1 int a2;protected:int b2;public:void show2() cout<< ” class A2 ” <<endl; ;void mai n() A1 objl;A2 obj2;派生类A2的成员函数show2()中可以访问的成员包括al、b2、1. 阅读下面的程序,写出输出结果#in clude<iostrea
12、m.h>int a8=6,11,13,4,12,7,16,15;void mai n() int s0,s1,s2;s0=s 仁 s2=0;for(i nt i=0; i<8; i+) switch(ai%3) case 0: s0+=ai;break;case 1: s1+=ai;break;case 2: s2+=ai;break; coutvvs0vv't'v<s1vv't'vvs2vve ndl;2. 阅读下面的程序,写出输出结果#i ncludevioma nip.h>void fun(int *&a, int &
13、;m) a=new in tm;int * p=a;for(int i=0;i<m;i+)*p+=i*i+1;void main() int *b,n=5;fun( b, n);for(i nt i=0;i <n ;i+) cout<<bi<< ''cout«e ndl;deleteb;3. 阅读下面的程序,写出输出结果#include <iostream.h>int fun (i nt n ) int a=1;static int b=1;a=a+1;b=b* n;return a*b;void main( ) int
14、 i;for(i=1;i<5;i+) cout<<fun(i)<<endl;4. 阅读下面的程序,写出输出结果#include<iostream.h>class AA int n;public:AA(int i) n=i; cout<<"调用类 AA 构造函数 n: "<<n<<endl;AA() cout<<" 删除类 AA "<<endl;class BB int n;public:BB(int j) n=j; cout<<"
15、调用类 BB 构造函数 n: "<<j<<endl;BB() cout<<" 删除类 BB "<<endl;class CC:public BB,public AApublic:CC(int a,int b,int c):AA(a),BB(b),n(c) cout«"调用类 CC勾造函数 n: "<<n<<endl; CC() cout<<" 删除类 CC "<<endl;private:/派生类的私有对象成员int n
16、;void main( ) CC obj(10,20,30); 四改正错误 (每题有几处错误,在错误处画线,并写出正确语句。 )(每题 3 分,共 9分)1. 下列程序是输出设 1-100 之间素数,并且每行只输出 5 个数。 #include<iostream.h>#include<math.h>void main()int i,j,t,k=0;int a101;for(i=1;i<=100;i+)ai=1;a1=0;i=2;while(i<=100) for(j=i*i;j<= 100 ;j=j+i)aj=0;i+;cout<<&quo
17、t;n"for(i=2;i<=100;i+)if(ai=1)cout<<i<<'t'k+;if(k %5=0) cout<<endl;cout<<endl;2定义计数器类 Counter 。要求具有以下成员:计数器值;可进行增值和减值记数;可提供 记数值。#include<iostream.h>class Counter int n;public:Counter(int i =0)n=i;void init_Counter(int m) n=m;void in_Counter() n+;void de_
18、Counter() n-;int get_Counter() return n;friend void show(Counter t) cout<<t.n<<endl;void main() Counter a (0) ;a.in_Counter();a.init_Counter(10);a.show();/ show(a)a.de_Counter();cout<<a.get_Counter()<<endl;3. 用函数重载运算符,使对整形的运算符 +、- 适用于整数运算。#include<iostream.h>class Franc
19、tion int nume; /定义分子int deno; /定义分母public:Franction(int a=1,int b=1) nume=a;deno=b;friend Franction operator +(const Franction &x1,const Franction &x2) int c,d;c=x1.nume*x2.deno+x2.nume*x1.deno;d=x1.deno*x2.deno;return Franction(c,d);friend Franction operator -(const Franction &x1,const
20、Franction &x2) int c,d;c=x1. nu me*x2.de no -x2. nu me*x1.de no;d=x1.de no *x2.de no;retur n Franction( c,d);void FranO utput() cout< <nu me<<7'<<de no <<e ndl;void mai n()Fran ction c1(1,3),c2(1,4),c3,c4;cout<<"c1="c1.Fra nOutput();cout<<"c
21、2="c2.Fra nOutput();c3=c1+c2;cout<<"c1+c2="c3.Fra nO utput();c4=c1-c2;cout<<"c1-c2="c4.Fra nOutput();五.程序填空(每空1.5分,共12分)1 .求组合数 cn 值,如 c10 =12U。 n!/(n-m)!*m!#in clude<iostream.h>_int fun (i nt n) ;void mai n() int c,n ,m;cin>>n>>m;if(m>n) cou
22、t<<"输入数据错误。n"else c=_ fun(n )/(fu n(n-m)*fu n(m) );cout<<"c("<<m<<","< <n< <")="<<c<<e ndl; int fun (i nt n)i ntp=1;int i;for(i=2;i<=n ;i+)p*=i;return_p;10个数中的最2 .从建立的数据文件f1.dat中读入10个整数放在数组中,找出并输出 大者和它在数组中的序号。#in clude <fstream>#in clude<iostream>using n amespace std;int main() int a10,max,i,order;fstream in file("f1.dat",_ios:in );if(in file)cer
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年4月四川成都师范学院考核招聘(第二批)考前自测高频考点模拟试题附答案详解(完整版)
- 2025中煤华中能源有限公司校园招聘48人笔试题库历年考点版附带答案详解
- 2025中国融通集团春季校园招聘笔试题库历年考点版附带答案详解
- 2025中国电信国际公司全球岗位招聘笔试题库历年考点版附带答案详解
- 2025房屋买卖合同撤销协议书
- 乡镇直销协议书
- 协议书车牌流程
- 2025汽车抗磨剂采购协议
- 协议书协议书
- 2025企业合伙人股权转让协议范本
- 部编版教材一年级上册语文拼音《jqx》课件
- 清华大学实验室安全教育考试题库(全)
- 项目经理(总监)解锁申请表
- 物业管理存在的问题与对策
- 前列腺等离子电切术护理查房
- 儿童神经心理行为发育
- GB/T 4074.8-2009绕组线试验方法第8部分:测定漆包绕组线温度指数的试验方法快速法
- GB/T 19812.3-2017塑料节水灌溉器材第3部分:内镶式滴灌管及滴灌带
- GB/T 1682-1994硫化橡胶低温脆性的测定单试样法
- 企业消防安全基础知识培训讲义课件
- 商务英语翻译实务完整版教学ppt课件全套教程
评论
0/150
提交评论