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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(c++复习题教学提纲.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

c++复习题教学提纲.docx

1、c+复习题教学提纲C+复习题(2015)C+练习题一、选择题1. C+语言是从早期的C语言逐渐发展演变而来的。与C语言相比,它在求解问题方法上进行的最大改进是( B )。 A面向过程 B面向对象 C安全性 D复用性2. C+对C语言作了很多改进,即从面向过程变成为面向对象的主要原因是 ( D )。A. 增加了一些新的运算符 B. 允许函数重载,并允许设置缺省参数C. 规定函数说明符必须用原型 D. 引进了类和对象的概念3. 对C+语言和C语言的兼容性,描述正确的是( A )。 AC+兼容C BC+部分兼容C CC+不兼容C DC兼容C+4. 在C+中,头文件扩展名为( B )。A. .cpp

2、B. .h C. .1ib D. .obj5. C+源程序文件扩展名为( A ) 。A. .cpp B. .h C. .1ib D. .obj6. 由C+源程序文件编译而成的目标代码文件的缺省扩展名为( C )。A. .cpp B. .exe C. .obj D. .lik 7. 布尔类型标识符是( D )。A.void B.short C.long D.bool8. 下列不是C+语言的基本数据类型的是( D )。A.字符类型 B.整数类型 C.逻辑类型 D.枚举类型9. 用于标识十六进制前缀或后缀是( D )。 A. 后缀L B.后缀e C.前缀零 D.前缀0x10. 设x和y均为bool量

3、,则x&y为真的条件是( A )。A. 它们均为真 B. 其中一个为真 C. 它们均为假 D. 其中一个为假11. 在下列成对的表达式中,运算结果类型相同的一对是( D )。 A.72和7.02.0 B.72.0和72 C.7.02和72 D.7.02.0和7.02 12. 如果a=1,b=2,c=3,d=4,则条件表达式ab?a:cd?c:d的值为( A )。A1 B2 C3 D413在预编译指令中,宏定义使用哪个指令( B )。 A#include B#define C#if D#else14. 包含自定义头文件file.h的预处理指令是( D )。 A.#define B.#includ

4、e file.h C.#define file.h D.#includefile.h 15. 可替换#define PI 3.1415926的语句是( B )。A.float PI 3.1415926; B.const float PI=3.1415926;C.const PI(3.1415926); D.const 3.1415926; 16. 在C+中使用流进行输入输出,其中专用于从键盘进行输入的流是( B )。 A.cerr B.cin C.cout D.cfile17在C+中使用流进行输入输出,其中用于屏幕输出的对象是( C )。 Acerr Bcin Ccout Dcfile 18.

5、 下列给字符数组进行的初始化中,正确的是 ( A )。A. char s1=abcd; B.char s23=xyz;C. char s3=a,x,y; D.char s423=xyz,mnp;19. 在int b3=1,3,2,4,5,6,0中,a22的值是( C )。A. 0 B. 5 C.6 D.2 20. int a=3;int *p=&a;中,*p的值是( D ) 。A.变量a的地址值 B.无意义 C.变量p的地址值 D. 321. 对于int *pa5;的描述,正确的是 ( D )。A. pa是一个指向数组的指针,所指向的数组是5个int型元素B. pa是一个指向某数组中第5个元素

6、的指针,该元素是int型变量C. pa5表示某个数组中的第5个元素的值D. pa是一个具有5个元素的指针数组,每个元素是一个int型指针22. 已知:int a,&ra=a;关于ra的描述中正确的是 ( C )。A. ra是int型变量a的地址值 B.a是int型变量ra的地址值C. ra是int型变量a的引用 D. ra是int型变量a的指针23. 假定变量x定义为“int x=5;”,要使rx成为x的引用(别名),rx应定义为( D )。A. int rx=x; B. int rx=&x; C. int *rx=&x; D. int &rx=x;24. 设存在整型变量int x,则下列语句

7、中与其它三项含义不同的是( A ) 。A.int* p=&x; B.int& p=x; C.int & p=x; D.int &p=x;25. 设函数void swap(int&,int&)将交换两形参的值,如两整型变量int a=10;int b=15;则执行swap(a,b)后,a、b值分别为( C ) 。A.10,10 B.10,15 C.15,10 D.15,1526. 设存在函数int min(int,int)返回两参数中较小值,若求15,26,47三者中最小值,下列表达式中错误的是( B ) 。A.int m=min(min(15,26),min(15,47); B.int m=m

8、in(15,26,47);C.int m=min(15,min(47,26); D.int m =min(min(47,26),16);27设存在函数int max(int,int)返回两参数中较大值,若求22,59,70三者中最大值,下列表达式不正确的是( C )。 Aint m = max(22,max(59,70); Bint m = max(max(22,59),70); Cint m = max(22,59,70); Dint m = max(59,max(22,70);28. 以下正确的函数原型语句是( C )。 A. double fun(int x,int y) B. doub

9、le fun(int x;int y)C. double fun(int,int); D. double fun(int x,y);29. 在函数声明中,下面哪项不是必要的( D )。A.函数参数的类型和参数名 B.函数名C.函数的类型 D.函数体30. 使用值传递方式将实参传给形参,下列说法正确的是( A )。 A形参是实参的备份 B实参是形参的备份 C形参和实参是同一对象 D形参和实参无联系31. 在每个C+程序中都必须包含有这样一个函数,该函数的函数名为( A ) A. main B. MAIN C. name D. function32. 包含哪种语句的函数不能声明为内联函数( A )

10、。A.循环 B.变量自增自减 C.if.else D.变量声明33. 在( C )情况下适宜采用inline定义内联函数。 A.函数体含有循环语句 B.函数体含有递归语句C.函数代码少、频繁调用 D.函数代码多、不常调用量34. 一个函数功能不太复杂,但要求被频繁调用,选用( A )。 A.内联函数 B.重载函数 C.递归函数 D.嵌套函数35. 在C+中,关于下列设置参数默认值的描述中,正确的是 ( C )。A不允许设置参数的默认值B设置参数默认值只能在定义函数时设置C设置参数默认值时,应该是先设置右边的再设置左边的D设置参数默认值时,应该全部参数都设置36. 函数默认参数在函数原型中说明,

11、默认参数必须放在参数序列的( C )。 A.前部 B.中部 C.后部 D.两端37. 下列哪种默认参数的声明是不正确的( C )。A. int max(int a,int b,int c,int d=0);B. int max(int a,int b,int c=0,int d=0);C. int max(int a=0,int b,int c=0,int d=0); D. int max(int a,int b=0,int c=0,int d=0);38.下列函数不能和函数void print(char)构成重载的是( C ) 。A.int print(int); B.void print(

12、char,char);C.int print(char); D.void print(int,int);39int Func(int,int);不可与下列哪个函数构成重载( B )。 Aint Func(int,int,int); Bdouble Func(int,int); Cdouble Func(double,double); Ddouble Func(int,double);40. 定义函数模板中使用的参数类型标识符需使用下列哪组符号括起来( A )。A. B.“” C.() D.41. 设有函数T Sum(T x,T y)return x+y;,其中T为模板类型,则下列语句中对该函数

13、错误的使用是( D ) 。A.Sum(1,2); B.Sum(3.0,2.2);C.Sum(A,C); D. Sum(A,C);42. 对于结构中定义的成员,其隐含访问权限为( C )。A. public B. protected C. private D. static 43. C+允许在结构中定义函数,这些函数称为( D )。A.静态函数 B.构造函数 C.析构函数 D.成员函数44对使用关键字new所开辟的动态存储空间,释放时必须使用( C )。 Afree Bcreate Cdelete Drealse45. 假定指针变量p定义为“int *p=new int30;”,要释放p所指向的

14、动态内存,应使用语句(D )。A. delete p; B. delete *p; C. delete &p; D. delete p;46. 要使语句“p=new int1020;”能够正常执行,p应被事先定义为( D )。A. int *p; B. int *p; C. int *p20; D. int(*p)20;47. 使用delete删除对象数组时,描述正确的是( A )。A.数组中各元素都调用析构函数 B.数组中各元素都调用构造函数C.不调用析构函数 D.只有首元素调用析构函数48. 有关类的说法不正确的是 ( D )。A类是一种用户自定义的数据类型B. 类中的成员函数可以存取类中

15、的私有数据C. 在类中,如果不作特别说明,所有的数据均为私有类型D. 在类中,如果不作特别说明,所有的成员函数均为公有类型49. 在下列关键字中,用以说明类中公有成员的是 ( A )。Apublic Bprivate Cprotected Dfriend50. 下列哪个不是面向对象的关键要素( B )。A.抽象性 B.结构性 C.封装性 D.多态性51. 下列可以不是类的成员函数的是 ( C )。 A.构造函数 B.析构函数 C.友元函数 D.复制构造函数52. print()函数是一个类的常成员函数,它无返回值,下列表示中,正确的是 ( A )。Avoid print() const Bco

16、nst void print()Cvoid const print() Dvoid print(const)53. 在定义类成员时,为产生封装性,则需使用哪个关键字( D ) 。A.public B.publish C.protected D.private54. 如没有使用private关键字定义类的数据成员,则默认为( A )。 Aprivate Bpublic Cprotected Dfriend55. 类的私有成员可在何处被访问( A ) 。A.本类的成员函数中 B.本类及子类的成员函数中C.通过对象名在任何位置 D.不可访问56this指针存在的目的是( B )。 A保证基类公有成员

17、在子类中可以被访问 B保证每个对象拥有自己的数据成员,但共享处理这些数据成员的代码 C保证基类保护成员在子类中可以被访问D保证基类私有成员在子类中可以被访问57. 有关构造函数的说法不正确的是 ( D )。A.构造函数名字和类的名字一样 B.构造函数在定义对象时自动执行C.构造函数无任何函数类型 D.构造函数有且只有一个58. 为对象进行初始化的是 ( C )。A析构函数 B数据成员 C构造函数 D静态成员函数59. 类的构造函数在以下什么情况下会被自动调用( B ) 。A.定义成员函数时 B.定义对象时 C.定义数据成员时 D.定义友元函数时60. 构造函数不具备的特征的是 ( D ) 。

18、A.构造函数的函数名与类名相同 B.构造函数可以重载C.构造函数可以设置默认参数 D.构造函数必须指定类型说明61. 一个类拥有多个构造函数,则这些构造函数间为( A )。A.重载关系 B.重复关系 C.拷贝关系 D.无关系62如果没有为一个类定义任何构造函数的情况下,下列描述正确的是( A )。 A编译器总是自动创建一个不带参数的构造函数 B这个类没有构造函数 C这个类不需要构造函数 D该类不能通过编译 63. 对于拷贝构造函数point:point(point& p),下列说明正确的是( C )。A.该函数只能访问P的私有成员 B.该函数不能访问P的公有成员C.该函数可以访问P的私有和公有

19、成员 D.该函数不能访问P的成员64. 通常,拷贝构造函数的参数是 ( C ) 。 A.某个对象名 B.某个对象的成员名 C.某个对象的引用名 D.某个对象的指针名65. 假定AB为一个类,则执行“AB a(4) , b3 , * p2 ;”语句时,自动调用该类构造函数的次数为( B ) 。A. 3 B. 4 C. 6 D. 966. 下列关于析构函数描述正确的是( D ) 。A.可以重载 B.函数体中必须有delete语句C.返回类型必须是void类型 D.不能指定返回类型 67. 类的析构函数是在( C )调用的。 A.类创建时 B.创建对象时 C.删除对象时 D.不自动调用68. 类的析

20、构函数的作用是 ( D )。A.一般成员函数 B.类的初始化 C.对象的初始化 D.撤消对象时做清理工作69. 下述静态数据成员的特性中,错误的是 ( D )。A说明静态数据成员时前边要加修饰符staticB静态数据成员要在类体外进行初始化C引用静态数据成员时,要在静态数据成员前加类名和作用域运算符D静态数据成员不是所有对象所共有的70. 设类Test中存在成员static int x,则下列哪种初始化方式是正确的( C )。A.Test:int x=25; B.int x=25;C.int Test:x=25; D.int Test x=25;71.下列关于友元的描述错误的是( A )。A.

21、成员函数不可作友元 B.类可以作友元C.普通函数可以作友元 D.静态函数可以作友元72对于友元描述正确的是( B )。 A友元是本类的成员函数 B友元不是本类的成员函数 C友元不是函数 D友元不能访问本类私有成员73. 如果类A被说明成类B的友元,则( D )。 A. 类A的成员即类B的成员 B. 类B的成员即类A的成员C. 类A的成员函数不得访问类B的成员 D. 类B不一定是类A的友元74. 下列运算符中,在C+中不能重载运算符是 ( A )。A?:B+ C- D=75. 假定要对类AB定义“+”号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为( B

22、)。A. AB operator+(AB&a,AB&b) B. AB operator+(AB& a)C. operator+(AB a) D. AB & operator+( )76. 继承的机制是 ( C ) 。A.信息隐藏 B.数据封装 C.定义新类 D.数据抽象77. 关于私有继承,下列说法错误的是( B )。 A. 基类的公有成员和保护成员被继承后作为派生类的私有成员,派生类的其他成员可以直接访问他们。 B. 基类的公有成员和保护成员被继承后作为派生类的私有成员,派生类的其他成员不能直接访问他们。 C. 派生类的成员和派生类的对象都无法访问基类的私有成员。 D. 派生类的对象无法访问

23、基类的所有成员。78. 在公有继承中,基类中的保护成员作为派生类的( C )。A. 公有成员 B. 私有成员 C. 保护成员 D. 私有成员函数79. C+类体系中,不能被派生类继承的有( A )。 A.构造函数 B. 虚函数 C. 静态成员函数 D. 赋值操作函数80. C+类体系中,能被派生类继承的是( B )。A. 构造函数 B. 虚函数 C. 析构函数 D. 友元函数81. 基类中的( C )不允许外界访问,但允许派生类的成员访问,这样既有一定的隐藏能力,又提供了开放的接口。A. 公有成员 B. 私有成员 C. 保护成员 D. 私有成员函数82设类A将其它类对象作为成员,则建立A类对象

24、时,下列描述正确的是( B )。 AA类构造函数先执行 B成员构造函数先执行 C两者并行执行 D不能确定83在哪种派生方式中,派生类可以访问基类中的protected成员( B )。 Apublic和private Bpublic和protected Cprotected和private D仅protected84. 派生类的对象可以访问以下那种情况继承的基类成员( D )。A.私有继承的私有成员 B.公有继承的私有成员C.私有继承的保护成员 D.公有继承的公有成员85. 在继承中,派生类拥有的基类个数为( D )。A.0个 B.1个 C.多个 D.至少1个86. 基类中的protected成

25、员,通过public派生,其在派生类中的可见性为( C )。A.不可访问 B.private C.protected D.public87下面关于C+中类的继承与派生的说法错误的是: ( C )。A基类的protected成员在公有派生类的成员函数中可以直接使用B基类的protected成员在私有派生类的成员函数中可以直接使用C私有派生时,基类的所有成员访问权限在派生类中保持不变D继承可以分为单一继承与多重继承88. 下列关于继承的描述中,正确的是( D )。A.继承不是类之间的一种关系 B.C+语言仅支持单一继承C.继承会增加程序的冗余性 D.继承是面向对象方法中一个很重要的特性89. 下列

26、关于派生类构造函数的描述中,错误的是 ( A )。 A派生类构造函数应包含直接基类和所有间接基类的构造函数B派生类构造函数仅包含直接基类构造函数和其他(如子对象)类构造函数等C派生类构造函数通常带有成员初始化表D派生类默认构造函数中隐含包括直接基类的默认构造函数90. 如果一个类至少有一个纯虚函数,那么就称该类为( A )。 A抽象类 B虚基类 C派生类 D以上都不对二、填空题 1. 在C+中,声明布尔类型变量所用的关键字是 ( BOOL ) 。2. 执行下列代码 int b=100; coutHex:hexb; 程序的输出结果是( Hex:64 )。3. 执行下列代码cout Hex: he

27、x 255;程序的输出结果为 ( Hex:ff ) 。4. 执行“cout char(A+2)endl;”语句后得到的输出结果为( C )。5. C+语言中可以实现输出一个换行符并刷新流功能的操控符是( endl )。 6. cout实际上是C+系统定义的对象名,称为( 输出流对象 )。7. 若使用标准输出流把整型变量a的值输出到屏幕上,实现此操作的C+语句是( couta; ) 。8. C+将数据从一个对象流向另一个对象的流动抽象为“流”,从流中获取数据的操作称为( 提取 ) 操作。9. 使用cin和cout进行输入输出操作的程序必须包含头文件( iostream或iostream.h ),

28、其指令格式为( #include ) 。10. 若要使用C+标准类库,需要指定相应的命名空间,所用的语句是( using namespace std; )。10. C+的注释行以( / )开头。11. 一般编译系统给出的出错信息分为两种:一种是( 错误或error );一种是( 警告或warning )。12. 转义字符t在内存中占( 1 )个字节。13. 将一个字符常量存放到内存单元时,实际上并不是把该字符本身放到内存单元中去,而是将该字符相应的( ASCII )代码放到存储单元中。14. 变量必须先( 定义 ),后( 使用 )。15. 在定义变量时,如果加上关键字( const ),则变量

29、的值在程序运行期间不能改变,这种变量称为( 常 )变量。16. 数学式子0x0&x5 )。17. 循环结构中,要提前结束本次循环的语句是( continue )。18. 如果被调用的函数的定义出现在主调函数之后,需要对被调用的函数进行( 声明 )。19. 定义内联函数所用的关键字是( inline ),定义友元所用的关键字为( friend )。20. 重载函数的参数( 个数 )、参数( 类型 )或参数( 参数顺序 )三者中必须至少有一种不同。21. 字符串的结束标志是( 0 )。22. C+提供了一种用于处理字符串的数据类型,叫( 字符串类型或string类型 )。23. C+语言的函数参数传递方式有传值和( 传地址 )两种方式。24. C+语言中的,每条复合语句以( )作为结束符。25. 变量分为全局和局部两种,( 局部 )变量没有赋初值时,其值是不确定的。26. C+程序必须有且只有一个主函数,其函数名为( main )。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1