欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    c++期末考试真题.docx

    • 资源ID:94998752       资源大小:48.85KB        全文页数:20页
    • 资源格式: DOCX        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    c++期末考试真题.docx

    一、填空题1. 类是一组具有共同的_属性特征和行为特征的对象的抽象。2. 在面对对象程序设计中,一个对象向另一个对象发出的恳求被称为_消息_ 。3. 用 class 作关键字进展类声明,默认的访问属性是 private(私有的)_4. 函数名重载是指同一作用域内的多个函数使用一样的函数名,这些同名函数要从参数类型和参数个数进展区分。5. 构造函数的作用是在创立对象时对对象进展初始化。6. 多重继承指一个派生类可以有多个基类。7. 保护继承下,基类中全部公有成员在派生类中的访问属性是保护的。8. 假定要访问一个对象指针 p 所指对象中的 b 成员,则表示方法p.b。9. 假设需要把一个函数“void F(定);义”为一个类 AB 的友元函数,则应在类 AB 的定义中参与一条语句:friend void F(AB &)_。10. Static 成员函数与一般成员函数的区分是_静态成员函数没有 this 指针。11. 假设要在程序文件中进展标准输入输出操作,则必需在开头的#include 命令中使用 iostream头文件。12.1. 关键字C说明对象或变量初始化后不会被修改。a. staticb. publicc. constd. inline2. 假设调用带有默认参数的函数时缺少一个参数,则B参数就作为这一参数。a. 第一个b. 最终一个c.中间一个d. 以上都不是3. 成员函数可声明为静态的,条件是它不访问C类成员。a. 静态b. 常数c.非静态d. 公共4. 内联函数执行起来比标准函数B。a. 更慢b. 更快c.次数更多d. 以上都不是5. 默认参数的值由C供给。a. 该函数b. 调用程序c. 上述二者d. 以上都不是6. 在 C+ 中,混合类型表达式A。a. 允许存在b.为一错误c.从 int 到 floatd. 从 float 到 int7. 表达式 long(intVar) 也可表示为C。a. intvar = long;b.intVar(long)c.(long)intVard. 以上都不是8. 静态数据成员的生存期A。a. 与整个程序一样b.不长于类的生存期c.取决于创立的对象数d. 以上都不是9. 要让一个类中的全部对象具有共同的数据,请使用C。a. 常数成员变量b. 私有数据成员c. 静态数据成员d. 以上都是1、C+是 C。A. 面对对象的程序设计语言B. 面对过程的程序设计语言C. 既支持面对对象的程序设计又支持面对过程的程序设计的混合型语言D. 非构造化的程序设计语言2、面对对象程序设计思想的主要特征中不包括D。A. 封装性B. 多态性C. 继承性D. 功能分解,逐步求精3、假设定义:string str;当语句cin>>str; 执行时,从键盘输入:Microsoft Visual Studio 6.0!所得的结果是str= B。A. Microsoft Visual Studio 6.0!B. MicrosoftC. Microsoft VisualD. Microsoft Visual Studio 6.04、考虑下面的函数原型声明:void testDefaulParam(int a,int b=7,char z=”*”);下面函数调用中,不合法的是C。A. testDefaulParam(5);B. testDefaulParam(5,8);C. testDefaulParam(5,”#”);D. testDefaulParam(0,0,”*”);5、以下语句中,将函数int sum(int x, int y)正确重载的是 C。A. float sum(int x, int y);B. int sum(int a, int b);C. float sum(float x, float y);D. double sum(int y, int x);6、以下表示引用的方法中, A是正确的。:int a=1000;A. int &x=a;B. char &y;C. int &z=1000;D. float &t=&a;7、在一个函数中,要求通过函数来实现一种不太简洁的功能,并且要求加快执行速度,选用A。A. 内联函数B. 重载函数C. 递归调用D. 嵌套调用8、以下有关C+类的说法中,不正确的选项是 D。A. 类是一种用户自定义的数据类型B. 只有类中的成员函数或类的友元函数才能存取类中的私有成员C. 在类中,假设不做特别说明,全部成员的访问权限均为私有的D. 在类中,假设不做特别说明,全部成员的访问权限均为公用的9、X类,则当程序执行到语句:X array3;时,调用了 D次构造函数。A. 0B. 1C. 2D. 310、下面说法中,正确的选项是BA. 一个类只能定义一个构造函数,但可以定义多个析构函数B. 一个类只能定义一个析构函数,但可以定义多个构造函数C. 构造函数与析构函数同名,只要名字前加了一个求反符号D. 构造函数可以指定返回类型,而析构函数不能指定任何返回类型,即使是void 类型也不行以12、下面描述中,表达错误的选项是BA. 公用继承时基类中的 public 成员在派生类中仍是 public 的B. 公用继承时基类中的 private 成员在派生类中仍是 private 的C. 公用继承时基类中的 protected 成员在派生类中仍是 protected 的D. 私有继承时基类中的public成员在派生类中是private的14、下面B 的表达不符合赋值兼容规章。A. 派生类的对象可以赋值给基类的对象B. 基类的对象可以赋值给派生类的对象C. 派生类的对象可以初始化基类的对象D. 派生类的对象的地址可以赋值给指向基类的指针16、下面关于友元的描述中,错误的选项是 D。A. 友元函数可以访问该类的私有数据成员B. 一个类的友元类中的成员函数都是这个类的友元函数C. 友元可以提高程序的运行效率D. 类与类之间的友元关系可以继承17、以下关于静态数据成员的说法,不正确的选项是 C。A. 类中定义的公用静态数据成员,可以通过类的对象来访问B. 类中定义的全部静态数据成员,都必需在类外初始化C. 静态数据成员不是全部对象所共用的D. 一般的成员函数可以直接访问类中的静态数据成员18、假设表达式+i*k中的“+”和“*”都是重载的友元运算符,假设承受运算符函数调用格式,则表达式还可以表示为B。A. operator*(i.operator+,k)B. operator*(operator+(i),k)C. i.operator+.operator*(k)D. k.operator*(operator+(i)19、下面对模板的声明,正确的选项是C。A. template<T>B. template<class T1, T2>C. template<class T1, class T2>D. template<class T1; class T2> 20、以下的各类函数中,C不是类的成员函数A. 构造函数B. 析构函数C. 友元函数D. 复制构造函数二、填空题前14个空,每空1分,后3个空,每空2分,共20分1、类和对象的关系可表述为:类是对象的抽象,而对象则是类的 实例。2、静态成员函数没有隐含的this指针,所以,在C+程序中,静态成员函数主要用来访问静态数据成员,而不访问非静态成员。3、在图1中,A,B,C,D,E,F均是类,其中属于单继承的派生类有E, 属于多继承的派生类有D、F,类F的基类有A、B、C、D、E,类A的派生类有D、F。ABC DEF图 1 类的继承层次图7、假设要把void fun定义为类A的友元函数,则应在类A的定义中参与语句 friend void fun(A&a)。8、列出C+中的两种代码复用方式:继承和组合或模板。9、析构函数的作用是在对象被系统释放之前做一些内存清理工作。10、假定A是一个类名,则该类的拷贝构造函数的原型说明语句为:A(const A&)。11、后置自增运算符“+”重载为类的成员函数设类名为A的形式为:A operator+(int)。一、单项选择题每题2分,共40分1、关于C+与C语言关系的描述中,D是错误的。AC语言是C+语言的一个子集BC语言与C+语言是兼容的CC+语言对C语言进展了一些改进DC+语言和C语言都是面对对象的4、系统在调用重载函数时往往依据一些条件确定哪个重载函数被调用,在以下选项中,不能作为依据的是 A。A函数的返回值类型B参数的类型C函数名称D参数个数5、以下有关C+类的说法中,不正确的选项是D。A类是一种用户自定义的数据类型 B只有类中的成员函数或类的友元函数才能存取类中的私有成员C在类中,假设不做特别说明,全部成员的访问权限均为私有的D在类中,假设不做特别说明,全部成员的访问权限均为公用的7、有关析构函数的说法,不正确的选项是 B。 A析构函数有且仅有一个B析构函数和构造函数一样可以有形参C析构函数的功能是在系统释放对象之前作一些内存清理工作 D析构函数无任何函数类型8、类定义的内容允许被其对象无限制地存取的是C。Aprivate 局部B protected 局部Cpublic 局部D以上都不对10、运用运算符delete删除一个动态对象时C。A系统首先为该动态对象调用构造函数,再释放其占用的内存B系统首先释放该动态对象占用的内存,再为其调用构造函数C系统首先为该动态对象调用析构函数,再释放其占用的内存D系统首先释放动态对象占用的内存,再为其调用析构函数11、可以在类外用p.a的形式访问派生类对象p的基类成员a,其中a是D。A私有继承的公用成员B公用继承的私有成员 C公用继承的保护成员D公用继承的公用成员12、在公用继承方式下,有关派生类对象和基类对象的关系,不正确的表达是C 。A派生类的对象可以赋给基类的对象 B派生类的对象可以初始化基类的引用 C派生类的对象可以直接访问基类中的成员D派生类的对象的地址可以赋给指向基类的指针18、以下运算符中, C运算符在C+中不能被重载。A&&BC:Dnew 19、模板的使用实际上是将类模板实例化成一个 C。A函数B对象C类D抽象类20、假定MyClass为一个类,则该类的拷贝构造函数的声明语句为C。AMyClass(MyClass x)BMyClass&(MyClass x) CMyClass(MyClass &x)DMyClass(MyClass *x)二、填空题前16个空,每空1分,后2个空,每空2分,共20分1、类和对象的关系可表述为:类是对象的抽象,而对象则是类的实例。2、在C+中,三种继承方式的说明符号为public、private和protected, 假设不加说明,则默认的继承方式为private _ 。5、类的静态成员分为 静态数据成员和静态成员函数。6 、运算符重载要求保持其原来的操作数个数、结合性、优先级_ 和语法构造。7、通过关键字template可以声明模板,通过关键字class(或typename)指定函数模板的类型参数,有几个类型参数就有几个类型关键字。8、列出C+中两种用户自定义的数据类型:类、构造体。单项选择题共 20 题,每题 1 分,共 20 分1、以下关于 C+标识符的命名不合法的是 C 与C#一样A. PadB. name_1C. A#bcD. _a122、假设有以下类型标识符定义:int x=2;char w=”a”;float y=23.45f;double z=45.6712; 则表达式 w*x+y-z 的结果类型是DA. floatB. charC. intD. double 6、对重载函数形参的描述中,错误的选项是DA. 参数的个数可能不同B. 参数的类型可能不同C. 参数的挨次可能不同D. 参数的个数、类型、挨次都一样,只是函数的返回值类型不同7、以下能正确定义数组并正确赋初值的语句是DA. 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、以下给字符数组进展的初始化中,不正确的选项是DA. char s1=“abcd“;B. char s23=”x”,”y”,”0”;C. char s3=”a”,”x”,”y”,”0”;D. char s46=“xyz“,“mnp“;9、通常的拷贝构造函数的参数是CA. 某个对象名B. 某个对象成员名C. 某个对象的引用D. 某个对象的指针名10、关于构造函数特点的描述中,错误的选项是AA. 定义构造函数必需指出类型 构造函数特点是无返回类型B. 构造函数的名字与该类的类名一样C. 一个类中可定义 0 至多个构造函数D. 构造函数是一种成员函数11、下面程序的运行结果为C #include <iostream>int add(int a,int b); void mainextern int x,y; cout<<add(x,y)<<endl;int x=20,y=5;int add(int a,int b)int s=a+b; return s;A20B5息13、关于友元函数的描述中,错误的选项是A. 友元函数不是成员函数C25D编译会提示出错信BB. 友元函数只能访问类中私有成员C. 友元函数破坏隐蔽性,尽量少用D. 友元函数说明在类体内,使用关键字 friend14、假设有 int x,*p; float y,*q;则下面操作正确的选项是CAp=xBp=qCp=&xDp=&y16、假设数组名作实参而指针变量作形参,函数调用时实参传给形参的是DA. 数组的长度B. 数组第一个元素的值C. 数组全部元素的值D. 数组第一个元素的地址17、对于动态安排内存空间描述正确的选项是D A使用 new 运算符安排的内存空间的长度必需是常量B. delete 运算符可以释放动态的存储空间和静态的存储空间C. 由 new 安排的内存空间是不连续的D. delete 运算符只能释放由 new 安排的动态存储空间18、能够释放对象所占资源的是 AA析构函数B数据成员C构造函数D静态成员函数20、在 C+中串流类是在头文件strstrea.h 中定义的,以下不属于串流类的是 CAstrstreamBostrstreamCofstreamDistrstream二、填空题共 9 题 16 空,每空 1 分,共 16 分1、函数重载时,编译系统会依据形参的类型或形参的个数来区分。与返回值类型无关2、假设有 char a80;则 cin>>a 表示从键盘上读入一个字符串到数组a 中。3、假设期望用一个已有对象来构造另一个同类型的对象,可以使用拷贝构造函数_来实现。4、静态成员static属于类 的全部对象共享。,而不属于任何一个对象,它被同一个类6、重载运算符的含义必需清楚,不能有二义性_ 。9、C+的 I/O 是以 字节流 的形式实现的,每个 C+编译系统都带有一个面对对象的输入/输出软件包,这就是I/O 流类库。C+面对对象程序设计语言期末考试试卷一. 选择题(每题 1 分,共 10 分)1. 在 C+中,常量C和”C”两者A。A完全不同B存储长度一样C类型一样D存储值一样2. 有 二 维 字 符 数 组chars46=“zhang”,”gao”,”tang”,”wang”, 执 行 程 序cout<<*s2,屏幕上显示D。AgaoBtangCgDt3. 假设 w=1,x=2,y=3,z=4,则条件表达式w>x?w:z>y?z:x 的结果为A。A4B 3C 2D14. 设 a 和 b 为整型变量,执行语句b=(a=2+3,a*4),a+5;后 a 和 b 的值为_D。A5,10B20,25C5,25D5,205. 假设整型变量 a,b,c 的值分别为 5,4,3,则语句 if(a>=b>=c) c+;执行后 c 的值是_C。A5B4C 3D2 int i=10;执行以下语句后,i 的值是D。case 9: i+=1;case 10: i+=1;case 11: i+=1;case 12: i+=1;A10B11C12D136. 执行以下程序: #include<iostream> void main(void)char c=0;cout<<c<<n;输出的结果是D。A) 0B)语法错C)0D) 一个空行7. 设有类型说明:enum colorred,yellow=3,white,black;则执行语句cout<<white<<n;后输出的结果是D。A) 4B) 3C) 2D) 18. 对于下面的几个函数:void f(int x)/1int f(int y)/2int f(int i,int j)/3float k(int x) /4 (A)是重载函数。A) 4 个全部B1 和 4C2 和 3D3 和 4二填空题每空 2 分,共 10 分1. 浮点型变量 f 当前存储的值是 17.8,经 (int) f 类型强制转换后 f 存储的值是 17.8_。2. 假设:typedef char * STRING; STRINGp,s10;则:p 和 s 的数据类型分别是字符型指针_、字符型指针数组。3. 求 a,b,c 中的最大值,请将表达式补充完整( t=a>=b?a:b)<c?c:t。4. 字母a 的 ASCII 码为十进制数97,且ch 为字符型变量,则表达式ch=a+9-3的值为g。三阅读程序题每空 2 分,共 14 分1. 以下程序的输出结果是15_。#define MUL(x,y)x*y #include<iostream>void main(void)int x=4,y=6; cout<<MUL(x+1,y-3)<<”n”;2. 下面函数的功能是比较字符串的大小。sss(char* s,char* t)while(*s)&&(*t)&&(*t+=*s+); return;3. 对于下述程序段: int c(int x,int y)if(x<1) return(y+2);else if(x%2=1) return(y*c(x-1,y+1); else return(c(x/2,y)*3);当主程序中有打印语句 cout<<c(6,2)<<”n”;时,程序的输出是324_。4程序#include<iostream.h> int c=-1;void f(int* a,int b)static int c=2; (*a)+;c-;cout<<*a<<”t”<<b<<”t”<<c<<endl;void main(void)int i; for(i=0;i<=1;i+)f(&i,c); cout<<“c=“<<c<<endl;程序执行后输出的其次行是_c= 1_;输出的最终一行是c= 1_。5程序下面程序的输出结果是17。#include<iostream.h> int funa(int a,int b)return(a + b);int funb(int a,int b)return(a - b);int sub(int(*f)(int ,int),int x,int y)return (*f)(x,y);void main(void)int x,(*p)(int,int);p=funb; x=sub(funa,8,3);x+=sub(p,9,3); cout<<“x=“<<x<<”n”;6程序下面程序的输出结果是3_。#include<iostream.h>int aa33=2,4,6;void main(void)int i,*p=&aa00; for(i=0;i<2;i+) if(i= =0)aaii+1=*p+1;else+p;cout<<*p<<endl;四完善程序题每空 2 分,共 26 分1. 下面函数的功能是从数组 arr有 n 个元素中找出最小元素,并返回其引用。 (1) int & findmin(int arr,int n)int pos=0;for(int i=1;i<=n-1;+i)if(2)arri<arrpos_) pos=i; return(3)arrpos_;2. 下面函数的功能是求 N 个数之和的递归函数即 1+2+3+.+n int sum(int n)if(1) n= =1_) return 1; else return _ (2)_ n+sum(n-1)3. 本程序中的函数 find 是推断数组 a 中的整数是升序、降序还是无序的,假设是升序返回 1,降序返回 2,无序返回 3。函数find 中的形参 n 为数组 a 中有效整数的数量,a 中从 a0到 an-1包含待推断的整数。int find(int a,int n)int s,i;if(a0<a1)s=1;else s=2; if(s= =1)i=1;while (i<n-1)if(1) ai >ai+1)s=3;break; (2)_ i+;if(s=2)for(i=1;i<n-1;i+) if(ai<ai+1)(4) s=3 break;return s;(5) #include <iostream>using namespace std; void fun;int mainfor(int i=1;i<5;i+)fun; return 0;void funstatic int a; int b=2;cout<<(a+=3,a+b)<<endl;留意:静态成员函数没有初始化时,自动初始化为0;cout<<(a+=3,a+b)<<endl; 为逗号表达式,输出后者。

    注意事项

    本文(c++期末考试真题.docx)为本站会员(碎****木)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开