c++考试复习题_第1页
c++考试复习题_第2页
c++考试复习题_第3页
c++考试复习题_第4页
c++考试复习题_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

一选择题1、 在C+语言里,一条语句以_字符作为结束符。 A、, B、; C、. D、无符号 答案B2.在int a=10,*p=&a;语句中,p的值是_。 A、10 B、变量p的地址值 C、变量a的地址值 D、无意义 答案C3.有如下数组声明:int values30;,下标值引用错误的是_。 A、values30 B、values20 C、values10 D、values0 答案A4.下面语句彼此等价的是_。 A、!(a0)_ !(a0) B、!(a= =b)_ (ab)&(ab)_ a10)|(a0)_ (a=0) 答案D5.下列对变量的引用中错误的是_。 A、int a; int &p=a; B、char a; char&p=a; C、int a; int &p; p=a; D、float a; float &p=a; 答案C6.对下列语句描述错误的是_。Char name10=Mary; char *pName=name; int I=5; A、name和pName有相同的值 B、&name0和pName有相同的值 C、name+I和pName+I有相同的值 D、(*pName+I)和*(name+I)有相同的值 答案D7.在函数声明中,_是不必要的。 A、函数参数的类型和参数名 B、函数名 C、函数的返回值类型 D、函数体 答案D8.不能实现函数之间数据传递的是_。 A、全局变量 B、局部变量 C、函数参数 D、函数返回值 答案B9.在函数声明中,_是不必要的。 A、函数参数的类型和参数名 B、函数名 C、函数的返回值类型 D、函数体 答案D10.函数定义为Fun(int &I),变量定义 n=100,则下面调用正确的是_。 A、Fun(20) B、Fun(20+n) C、Fun(n) D、Fun(&n) 答案C11.在C+语言中函数返回值的类型是由_决定的。 A、调用该函数时系统临时 B、return语句中的表达式类型 C、定义该函数时所指定的函数类型 D、调用该函数时的主调函数类型 答案C12.在C+中,数据封装要解决的问题是_。 A、数据的规范化 B、便于数据转换 C、避免数据丢失 D、防止不同模块之间数据的非法访问 答案D13.对于结构中定义的成员,其默认的访问权限为_。 A、public B、protected C、private D、static 答案A14.对类的构造函数和析构函数描述正确的是_。 A、构造函数可以重载,析构函数不能重载 B、构造函数不能重载,析构函数可以重载 C、构造函数可以重载,析构函数也可以重载 D、构造函数不能重载,析构函数也不能重载 答案A15.下面对于友元函数描述正确的是_。 A、友元函数的实现必须在类的内部定义 B、友元函数是类的成员函数 C、友元函数破坏了类的封装性和隐藏性 D、友元函数不能访问类的私有成员 答案C16.一个类的友元函数或友元类能够通过成员操作符访问该类的_。 A、私有成员 B、保护成员 C、公用成员 D、所有成员 答案D17.假定MyClass为一个类,则该类的拷贝初始化构造函数的声明语句为_。 A、MyClass &(MyClass x); B、MyClass (MyClass x); C、MyClass (MyClass &x); D、MyClass (MyClass *x) 答案C18.假定MyClass为一个类,则执行MyClass a b(2),*p;语句时,自动调用该类构造函数_次。 A、2 B、3 C、4 D、5 答案A19.下面对静态数据成员的描述中,正确的是_。 A、静态数据成员可以在类体内进行初始化 B、静态数据成员不可以被类的对象调用 C、静态数据成员不受private访问控制符的限定 D、静态数据成员可以直接用类名调用 答案D20.下面对静态数据成员的描述中,正确的是_。 A、静态数据成员是类的所有对象共享的数据 B、类的每个对象都有自己的静态数据成员 C、类的不同对象有不同的静态数据成员值 D、静态数据成员不能通过类的对象调用 答案A21.假定MyClass为一个类,则执行MyCMsa3,*p2;语句时,自动调用该类构造函数_次。 A、2 B、3 C、4 D、5 答案B22.对于常数据成员,下面描述正确的是_。 A、常数据成员可以不初始化,并且不能更新 B、常数据成员必须被初始化,并且不能更新 C、常数据成员可以不初始化,并且可以被更新 D、常数据成员必须被初始化,并且可以被更新 答案B23.下列关于运算符重载的描述中,正确的是_ 。 A、运算符重载可以改变运算符的操作数的个数 B、运算符重载可以改变优先级 C、运算符重载可以改变结合性 D、运算符重载不可以改变语法结构 答案D24.重载赋值操作符时,应声明为_函数。 A、友元 B、虚 C、成员 D、多态 答案C25.下列关于继承的描述中,正确的是_。 A、析构函数可以被继承 B、派生类是基类的组合 C、派生类的成员除了它自己的成员外,还包含了它的基类的成员 D、派生类中继承的基类成员的访问权限到派生类保持不变 答案C26.C+的类有两种用法:一种是类的实例化,即生成类的对象,并参与系统的运行;另一种是通过_派生出新的类。 A、复用 B、继承 C、封装 D、引用 答案B27.通过派生类对象名可以直接访问派生类的_。 A、以public方式继承的基类的public型成员 B、以public方式继承的基类的protected型成员 C、以public方式继承的基类的private型成员 D、以private方式继承的基类的public型成员答案A28.下面_的叙述不符合赋值兼容规则。 A、派生类的对象可以赋值给基类的对象 B、基类的对象可以赋值给派生类的对象 C、派生类的对象可以初始化基类的引用 D、派生类的对象的地址可以赋值给指向基类的指针 答案B29.C+的类有两种用法:一种是类的实例化,即生成类的对象,并参与系统的运行;另一种是通过_派生出新的类。 A、复用 B、继承 C、封装 D、引用 答案B30. 对下列语句正确的描述是_。 Const int *x;_/int *const x;_/ A、语句的含义是指针变量x不能更改 B、语句的含义是指针变量x所指向的值不能更改 C、语句的含义是指针变量x不能更改 D、语句和是相同含义的不同定义方式 答案C31. 下列关于C+运算符函数的返回类型的描述中,错误的是_。 A、可以是类类型 B、可以是int类型 C、可以是void类型 D、可以是float类型 答案C32.下列语句中错误的是_。 A、coutsetw(5)7; B、coutstr;当输入为:This is a program所得的结果是str=_B_。 A、This is a program B、This C、This is D、This is a 34.类模板的模板参数_。 A、只可作为数据成员的类型 B、只可作为成员函数的返回类型 C、只可作为成员函数的参数类型 D、以上三者皆可 答案D35.控制格式输入/输出的操纵算子中,_是设置域宽的。 A、ws B、oct C、setfill(int) D、setw(int)答案D36.以下_成员函数表示纯虚函数。 A、virtual int vf(int); B、void vf(int)=0; C、virtual void vf()=0; D、virtual void vf(int)答案C37. 关于纯虚函数和抽象类的描述中,错误的是_。 A、 纯虚函数是一种特殊的虚函数,它没有具体的实现 B、 抽象类是指具有纯虚函数的类 C、 一个基类中说明有纯虚函数,该基类的派生类一定不再是抽象类 D、 抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出 答案C38.cin是istream的一个对象。39.cout 是ostream的一个对象。40.BDate structure二填空题1.抽象类是带有( 纯虚 )函数的类。2.模板是C+实现(参数化)多态的工具,包括(函数)模板和(类)模板。3.流的错误标志及流的格式化标志在( ios )类中定义。4.在没有虚函数的情况下,如果派生类中新增成员与基类中成员同名,则用“派生对象名.成员名”访问(派生类的成员)。三编程题1下列程序计算1000以内能被3整除的自然数之和。请完成下列程序。#include void main()int x=1,sum;_ sum=0 ;while (true) if(_ x1000) break;if( x%3=0) sum += x;x+;_coutsum#include class Pointpublic: friend class Distance ;Point (float a=0, float b=0)X=a;Y=b;void Print()coutX=Xendl;coutY=Yendl;private:float X,Y;class Distancepublic:float Dis(Point &p,Point &q);f1oat Distance:Dis(Point &p,Point &q)float result;result = sqrt(p.X-q.X)* (p.X-q.X)+ (p.Y-q.Y)* (p.Y-q.Y) ;coutresultendl;return result;void main()Point p(10,1O),q(20,20);Distance d;d.Dis(p,q);3. 下列程序定义了一实部为mal,虚部为imag的复数类complex,并在类中重载了复数的+、-操作。请将下列程序补充完整。Class Complexpublic:Complex(double r=0.0,double I=0.O) real = r; imag=I; Complex operator +(Complex);_friendComplex _operator -(Complex,Complex);private:double real,imag;_ Complex Complex:operator +(Complex c)return Complex(real+c.real, imag+c.imag_);Complex operator -(Complex c1,Complex c2)return Complex(c1.real-c2.real, c1.imag-c2.imag);4. 下列程序的运行结果如下:Derive1s Print() called.Derive2s Print() caIIed.根据结果将程序补充完整。#include class Basepublic:Base(int I)b=I;virtual void Print() = 0;protected:int b;class Derive1:public Basepublic:Drivel(int i)

温馨提示

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

评论

0/150

提交评论