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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C++期末考试复习资料.docx

1、C+期末考试复习资料复习资料1.1选择题1.在一个C+程序中,main函数的位置( c )。(a) 必须在程序的开头 (b) 必须在程序的后面( c ) 可以在程序的任何地方 (d) 必须在其它函数中间2.用C+语言编制的源程序要变为目标程序必须要经过( d )。(a) 解释 (b) 汇编 (c) 编辑 (d) 编译3.C+程序基本单位是( c )。(a) 数据 (b) 字符 (c) 函数 (d) 语句4. C+程序中的语句必须以( b )结束。(a) 冒号 (b) 分号 (c) 空格 (d)花括号5. 执行C+程序时出现的“溢出”错误属于( c )错误。(a) 编译 (b) 连接 (c) 运

2、行 (d) 逻辑6.下列选项中,全部都是C+关键字的选项为( c )。(a) while IF static (b) break char go(c) sizeof case extern (d) switch float integer7. 按C+标识符的语法规定,合法的标识符是( a ,c )。(a) _abc (b) new (c) int1 (d) “age”8下列选项中,( a )不是分隔符。(a) ? (b) ; (c) : (d) ()9下列正确的八进制整型常量表示是( b )。(a) 0a0 (b) 015 (c) 080 (d) 0x1010下列正确的十六进制整型常量表示是(

3、 a,b,d )。(a) 0x11 (b) 0xaf (c) 0xg (d) 0x1f11在下列选项中,全部都合法的浮点型数据的选项为( a,b,d ),全部都不合法的浮点型数据选项是( c )。(a) -1e3 , 15. , 2e-4 (b) 12.34 , -1e+5 , 0.0(c) 0.2e-2.5 , e-5 (d) 5.0e-4 , 0.1 , 8.e+212下列正确的字符常量为( b,d )。(a) a (b) 0 (c) a (d) 10113下列选项中,( a,b,c )能交换变量a和b的值。(a) t=b ;b=a ;a=t; (b) a=a+b ;b=a-b ;a=a-

4、b;(c) t=a ;a=b ;b=t; (d) a=b ; b=a ;14执行语句int i = 10,*p = &i;后,下面描述错误的是( a )。(a) p的值为10 (b) p指向整型变量i(c) *p表示变量i的值 (d) p的值是变量i的地址15执行语句int a = 5,b = 10,c;int *p1 = &a, *p2 = &b;后,下面不正确的赋值语句是( b )。(a) *p2 = b; (b) p1 = a;(c) p2 = p1; (d) c = *p1 *(*p2);16执行语句int a = 10,b;int &pa = a,&pb = b;后,下列正确的语句是

5、( b )。(a) &pb = a; (b) pb = pa;(c) &pb = &pa; (d) *pb = *pa;17执行下面语句后,a和b的值分别为( b )。int a = 5,b = 3,t;int &ra = a;int &rb = b;t = ra;ra = rb;rb = t;(a) 3和3 (b) 3和5 (c) 5和3 (d) 5和518. 在下列运算符中,( d )优先级最高。(a) = (b)*= (c)+ (d)*19. 在下列运算符中,( d )优先级最低。(a) ! (b)& (c)!= (d)?:20设i=1,j=2,则表达式i+j的值为( c )。(a) 1

6、 (b)2 (c)3 (d)421设i=1,j=2,则表达式 +i+j的值为( d )。(a)1 (b)2 (c)3 (d)422在下列表达式选项中,( c )是正确。(a)+(a+) (b)a+b (c)a+b (d)a+b23已知i=0,j=1,k=2,则逻辑表达式 +i|-j&+k的值为( b )。(a) 0 (b)1 (c)2 (d)324. 执行下列语句后,x的值是( d ),y的值是( c )。int x , y ;x = y = 1; + x | + y ;(a) 不确定 (b) 0 (c) 1 (d) 225.设X为整型变量,能正确表达数学关系1 X 5的C+逻辑表达式是( b

7、, c, d )。(a) 1X5 (b) X=2|X=3|X=4(c) 1X&X5 (d) !(X=5)26. 已知x=5,则执行语句x += x -= x*x ;后,x的值为( c )。(a)25 (b)40 (c)-40 (d)2027. 设a=1,b=2,c=3,d=4,则条件表达式ab?a:c=0 ) if( x!=0)if( x=0 )y=0; if( x0 )y = 1;else y = -1; else y = 0(c) if( x=0 ) (d) y = -1;if( x0 )y = -1; if( x=0 )else y = 0; if( x0 )y = -1;else y

8、= 1; else y = 1;3假设i=2,执行下列语句后i的值为( b )。switch(i) case 1:i+;case 2:i-;case 3:+i;break;case 4:-i;default:i+;(a) 1 (b) 2 (c) 3 (d) 44已知int i=0,x=0;下面while语句执行时循环次数为( d )。while(!x & i3 ) x+;i+;(a) 4 (b) 3 (c) 2 (d) 15已知int i=3;下面do_while 语句执行时循环次数为( b )。do i-; coutiendl;while( i!= 1 );(a) 1 (b) 2 (c) 3

9、 (d) 无限6下面for语句执行时循环次数为( b )。for ( int i=0,j=5;i=j;) cout i j endl;i+;j-;(a) 0 (b) 5 (c) 10 (d) 无限7以下死循环的程序段是( b )。(a) for(int x=0;x=0 );(c) int a=5;while(a) a-;(d) int i=3;for(;i;i-);1以下正确的函数原型为( d )。(a) f( int x; int y ); (b) void f( x, y );(c) void f( int x, y ); (d) void f( int, int );2有函数原型 voi

10、d fun1( int ); 下面选项中,不正确的调用是( c )。(a) double x = 2.17 ; fun1( x );(b) int a = 15 ; fun1( a*3.14 ) ;(c) int b = 100 ; fun1( & b );(d) fun1( 256 );3有函数原型 void fun2( int * ); 下面选项中,正确的调用是( c )。(a) double x = 2.17 ; fun2( &x );(b) int a = 15 ; fun2( a*3.14 );(c) int b = 100 ; fun2( &b );(d) fun2( 256 );

11、4有函数原型 void fun3( int & ); 下面选项中,正确的调用是( c )。(a) int x = 2.17; fun3( &x );(b) int a = 15; fun3( a*3.14 );(c) int b = 100; fun3( b );(d) fun3( 256 ) ;5有声明 int fun4( int ); int (*pf)(int) = fun4;下面选项中,正确的调用是( c )。(a) int a = 15 ;int n = fun4( &a ); (b) int a = 15; coutpf(a*3.14);(c) cout(*pf)( 256 );

12、(d) cout n; int an;2下列数组定义语句中,不合法的是( a )。(a) int a3 = 0, 1, 2, 3 ; (b) int a = 0, 1, 2 ;(c) int a3 = 0, 1, 2 ; (d) int a3 = 0 ;3已知 int a10 = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 , *p = a ;则不能表示数组 a 中元素的式子是( c )。(a) *a (b) *p (c) a (d) a p-a 4已知 int a = 0, 2, 4, 6, 8, 10 , *p = a ; 值不等于0的表达式是( b,d )。(a) *(p+

13、) (b) *(+p) (c) *(p- ) (d) *(-p)5以下不能对二维数组a进行正确初始化的语句是( c )。(a) int a23 = 0 ;(b) int a3 = 0, 1 , 0 ;(c) int a23 = 0, 1 , 2, 3 , 4, 5 ;(d) int a3 = 0, 1, 2, 3, 4, 5 ;6已知int a3 = 0, 1 , 2, 3, 4 , 5, 6 , 7 ;则 a21的值是( c )。(a) 0 (b) 2 (c) 6 (d) 77已知int a33 = 1, 2, 3, 4, 5, 6, 7, 8, 9 ; 则不能表示数组元素a21的地址是(

14、a,b )。(a) &21 (b) *(a2+1) (c) a2+1 (d) *(a+2)+18已知char *a= fortran, basic, pascal, java, c+ ; 则 couts2 (b) strcmp(s1,s2)=0(c) strcmp(s1,s2)0 (d) strcmp(s2,s1)05若有以下声明和定义,则下列错误的引用是( d )。struct worker int no ;char name 20 ; w, *p &w ;(a) w.no (b) p-no (c) (*p).no (d) *p.no6若有以下声明和定义,则下列引用非法的是( d )。str

15、uct data int n;float score;data *q ;data a3 = 1001,87,&a1,1002,75,&a2,1003,90,&a0;data *p = a;(a) p-n+ (b) (*p).n+ (c) +p-n (d) *p-n7关于类和对象不正确的说法是( c )。(a) 类是一种类型,它封装了数据和操作 (b) 对象是类的实例(c) 一个类的对象只有一个 (d) 一个对象必属于某个类8在类定义的外部,可以被访问的成员有( c )。(a) 所有类成员 (b) private或protected的类成员(c) public的类成员 (d) public或pr

16、ivate的类成员9关于this指针的说法错误的是( a,d )。(a) this指针必须显式说明(b) 当创建一个对象后,this指针就指向该对象(c) 成员函数拥有this指针(d) 静态成员函数拥有this指针10声明一个类的对象时,系统自动调用( b,d )函数;撤消对象时,系统自动调用( c )函数。(a) 成员函数 (b) 构造函数 (c) 析构函数 (d) 复制构造函数11下面对构造函数的不正确描述是( b )。(a) 系统可以提供默认的构造函数(b) 构造函数可以有参数,所以也可以有返回值(c) 构造函数可以重载(d) 构造函数可以设置默认参数12下面对析构函数的正确描述是(

17、a,c )。(a) 系统可以提供默认的析构函数 (b) 析构函数必须由用户定义(c) 析构函数没有参数 (d) 析构函数可以设置默认参数13对静态成员的不正确描述是( c,d )。(a) 静态成员不属于对象,是类的共享成员(b) 静态数据成员要在类外定义和初始化(c) 调用静态成员函数时要通过类或对象激活,所以静态成员函数拥有this指针(d) 只有静态成员函数可以操作静态数据成员14下面选项中,不是类的成员函数为( c )。(a) 构造函数 (b) 析构函数 (c) 友元函数 (d) 复制构造函数15下面对友员的错误描述是( d )。(a) 关键字friend用于声明友员(b) 一个类中的成

18、员函数可以是另一个类的友员(c) 友员函数访问对象的成员不受访问特性影响(d) 友员函数通过this指针访问对象成员1.在下列运算符中,能重载的是( a,c,d )。(a) ! (b) sizeof (c) new (d) delete2. 在下列运算符中,不能重载的是( c )。(a) (c) & (d) &=3.下列关于运算符重载的描述中,( d )是正确的。(a) 可以改变参与运算的操作数个数 (b) 可以改变运算符原来的优先级(c) 可以改变运算符原来的结合性 (d) 不能改变原运算符的语义4.下列函数中,能重载运算符的函数是( b,c )。(a) 成员函数 (b) 构造函数 (c)

19、析构函数 (d) 友员函数5.不能用友员函数重载的是( a )。(a) = (b) = (c) += (d) !=6.下面描述中,错误的是( b )。(a) 只有系统预先定义的运算符才可能被重载(b) 使用类型转换函数不能把一个类转换为另一个类(c) 使用类型转换函数可以把类转换为基本类型(d) 类型转换函数只能定义为一个类的成员函数,不能定义为类的友员函数1在c+中,类与类之间的继承关系具有( c )。(a) 自反性 (b) 对称性 (c) 传递性 (d) 反对称性2下列关于类的继承描述中,( a,b )是错误的。(a) 派生类可以访问基类的所有数据成员,调用基类的所有成员函数(b) 派生类

20、也是基类,所以基类具有派生类的全部属性和方法(c) 继承描述类的层次关系,派生类可以具有与基类相同的属性和方法(d) 一个基类可以有多个派生类,一个派生类可以有多个基类3当一个派生类公有继承一个基类时,基类中的所有公有成员成为派生类的( a )。(a) public 成员 (b)private成员(c) protected成员 (d)友员4当一个派生类私有继承一个基类时,基类中的所有公有成员和保护成员成为派生类的( b )。(a) public 成员 (b)private成员(c) protected成员 (d)友员5当一个派生类保护继承一个基类时,基类中的所有公有成员和保护成员成为派生类的(

21、 c )。(a) public 成员 (b)private成员(c) protected成员 (d)友员6不论派生类以何种方式继承基类,都不能使用基类的( b )。(a) public 成员 (b)private成员(c) protected成员 (d)public 成员和protected成员7下面描述中,错误的是( b, c )。(a) 在基类定义的public成员在公有继承的派生类中可见,也能在类外被访问(b) 在基类定义的public和protected成员在私有继承的派生类中可见,在类外可以被访问(c) 在基类定义的public和protected成员在保护继承的派生类中不可见(d)

22、 在派生类中不可见的成员要变成可访问的需进行访问声明8在c+中,不能被派生类继承的函数是( b,c )。(a) 成员函数 (b)构造函数(c) 析构函数 (d)静态成员函数9在创建派生类对象时,构造函数的执行顺序是( d )。(a) 对象成员构造函数、基类构造函数、派生类本身的构造函数(b) 派生类本身的构造函数、基类构造函数、对象成员构造函数(c) 基类构造函数、派生类本身的构造函数、对象成员构造函数(d) 基类构造函数、对象成员构造函数、派生类本身的构造函数10当不同的类具有相同的间接基类时,有特点( d )。(a) 各派生类对象将按继承路线产生自己的基类版本(b) 派生类对象无法产生自己

23、的基类版本(c) 为了建立惟一的间接基类版本,应该必须改变类格(d) 为了建立惟一的间接基类版本,应该声明虚继承1在C+中,要实现动态联编,必须使用( d )调用虚函数。(a) 类名 (b) 派生类指针 (c) 对象名 (d) 基类指针2下列函数中,可以作为虚函数的是( c,d )。(a) 普通函数 (b) 构造函数 (c) 成员函数 (d) 析构函数3在派生类中,重载一个虚函数时,要求函数名、参数的个数、参数的类型、参数的顺序和函数的返回值( b )。(a) 不同 (b) 相同 (c) 相容 (d) 部分相同4下面函数原型声明中,( b )声明了fun为纯虚函数。(a) void fun()

24、=0; (b)virtual void fun()=0;(c) virtual void fun(); (d)virtual void fun() ;5若一个类中含有纯虚函数,则该类称为( d )。(a) 基类 (b) 纯基类 (c) 派生类 (d)抽象类6假设 Aclass为抽象类,下列声明( a,c,d )是错误的。(a) Aclass fun( int ) ; (b)Aclass * p ;(c) int fun( Aclass ) ; (d)Aclass Obj ;7下面描述中,正确的是( b,d )。(a) 虚函数是没有实现的函数 (b) 纯虚函数的实现在派生类定义(c) 抽象类是只

25、有纯虚函数的类 (d) 抽象类指针可以指向不同的派生类使用虚函数编写程序求球体和圆柱体的体积及表面积。由于球体和圆柱体都可以看作由圆继承而来,所以可以定义圆类circle作为基类。在circle类中定义一个数据成员radius和两个虚函数area()和volume()。由circle类派生sphere类和column类。在派生类中对虚函数area()和volume()重新定义,分别求球体和圆柱体的体积及表面积。#include const double PI=3.14159265;class circle public: circle(double r) radius = r; virtual double area() return 0.0; virtual double volume() return 0.0; protected: double radius;class sphere:

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

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