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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

c练习题带答案.docx

1、c 练习题带答案一、选择题1. 下面选项中不属于面向对象程序设计特征的是( C) 。A)继承性 B)多态性 C)相似性 D)封装性2. 下列情况中,哪一种情况不会调用拷贝构造函数 ( B )A)用派生类的对象去初始化基类对象时B)将类的一个对象赋值给该类的另一个对象时C)函数的形参是类的对象,调用函数进行形参和实参结合时D)函数的返回值是类的对象,函数执行返回调用者时3. 下列有关继承和派生的叙述中,正确的是( C )A)派生类不能访问通过私有继承的基类的保护成员B)多继承的虚基类不能够实例化C)如果基类没有默认构造函数,派生类就应当声明带形参的构造函数D)基类的析构函数和虚函数都不能够被继承

2、,需要在派生类中重新实现4. 实现运行时多态的机制是( A )A)虚函数 B)重载函数 C)静态函数 D)模版函数5. 下列关于this指针的说法正确的是( B )A)this指针存在于每个函数之中B)在类的非静态函数中this指针指向调用该函数的对象C)this指针是指向虚函数表的指针D)this指针是指向类的函数成员的指针6. 在下列关于C+函数的叙述中,正确的是( C )A)每个函数至少要有一个参数 B)每个函数都必须返回一个值C)函数在被调用之前必须先声明 D)函数不能自己调用自己7. 下列运算符中,不能重载的是 ( C )A)& B)!= C). D)-8. 以下各选项组中,均是C+

3、语言关键字的组是( A )A.public operator this B.shod string staticC.it while D.private cout printf9. 下面程序的输出结果是( B )#include using namespace std;int i = 0;int fun(int n) static int a = 2; a+; return a+n;void main() int k = 5; int i = 2; k += fun(i); k += fun(i); cout k;A)13 B)14 C)15 D)1610. 下面的程序段的运行结果为( D )

4、char str = job, *p = str;cout *(p+2) endl;A)98 B)无输出结果 C)字符b的地址 D)字符b11. 下面程序的输出结果是( C )#include using namespace std;class A public: A (int i) x = i; void dispa () cout x “,”; private : int x ;class B : public A public: B(int i) : A(i+10) x = i; void dispb() dispa(); cout x endl; private : int x ;vo

5、id main() B b(2); b.dispb();A)10,2 B)12,10 C)12,2 D)2,212. 下面程序的输出结果是( C )#include using namespace std;class Base public: Base(int i) cout i; Base () ;class Base1: virtual public Base public: Base1(int i, int j=0) : Base(j) cout i; Base1() ;class Base2: virtual public Base public: Base2(int i, int j

6、=0) : Base(j) cout i; Base2() ;class Derived : public Base2, public Base1 public: Derived(int a, int b, int c, int d) : mem1(a), mem2(b), Base1(c), Base2(d), Base(a) cout b; private: Base2 mem2; Base1 mem1;void main() Derived objD (1, 2, 3, 4); A)134122 B)123412 C)14302012 D)14321213. 下面程序的输出结果是( C

7、)#include using namespace std;class Base public: virtual void f() cout “f0+”; void g() cout “g0+”; ;class Derived : public Base public: void f() cout “f+”; void g() cout f(); p-g(); A)f+g+ B)f0+g+ C)f+g0+ D)f0+g0+14. 下面程序的输出结果是( C )#include using namespace std;class Sample friend long fun (Sample s)

8、 if (s.x 2) return 1; return s.x * fun(Sample(s.x-1); public: Sample (long a) x = a; private: long x;void main() int sum = 0; for (int i=0; i4; i+) sum += fun(Sample(i); cout sum; A)12 B)16 C)10 D)3415. 以下程序的输出结果是:(D )#include using namespace std;int fun(char *s) char *p=s;while (*p!=0) p+;return (p

9、-s);void main()coutfun(abc)endl;A0 B. 1 C. 2 D. 316. 有如下程序段:int i=1;while(1)i+;if (i=10) break;if(i%2=0) coutGetValue() D) x.GetValue( )20. 假定AA为一个类,int a()为该类的一个成员函数,若该成员函数在类定义体外定义,则函数头为( A )。A) int AA:a( ) B) int AA:a() C) AA:a() D) AA:int a()21. 有如下程序:#include using namespace std;class Testpublic

10、:Test() Test()cout#;int main()Test temp2, *pTemp2; return 0;执行这个程序输出星号(#)的个数为( B )。A)1 B)2 C)3 D)422. 有如下程序:#include using namespace std;class MyClass public: MyClass(int i=0)cout1;MyClass(const MyClass&x)cout2;MyClass& operator=(const MyClass&x)cout3; return *this; MyClass()cout4;int main()MyClass

11、obj1(1),obj2(2),obj3(obj1);obj1=obj2;return 0;运行时的输出结果是( A)。A)1123444 B)11114444 C)121444 D)1131444423. 有如下程序: #include using namespace std;class point public: static int number; public:point() number+;point() number-; int point:number=0; void main() point *ptr; point A,B; point *ptr_point=new point

12、3; ptr=ptr_point; point C; delete ptr;cout1)#include using namespace std;int f(int);int main()int n,s; coutn; s= f(n) ; coutThe result is sendl; return 0; int f(int n) /递归法求立方和函数 if ( n=1 ) return 1; else return ( f(n-1)+n*n*n );3. 请将下列程序补充完整,使得输出结果为“Destructor Derived Destructor Base”。#include usin

13、g namespace std;class Base public: virtual Base () cout “Destructor Base” endl; ;class Derived : public Base public: Derived() cout “Destructor Derived” endl; ;void main () Base *pBase = new Derived; delete pBase ; 三、阅读程序,写出运行结果1.#include#includeusing namespace std;class CD char name20; int number;p

14、ublic: void Init(char* aa, int bb) strcpy(name,aa); number=bb; char* Getname () return name; int Getnumber () return number; void Output() cout name number endl; CD dx;void main() CD dy; dx.Init(最炫民族风,30); dy.Init(问,3*dx.Getnumber ()+5); dx.Output(); dy.Output();2#include using namespace std; int f(

15、int a) return +a; int g(int& a) return +a; void main() int m=0,n=0; m+=f(g(m); n+=f(f(n); coutm=mendl; coutn=nendl; 3. #include using namespace std;class Demopublic: Demo()coutdefault constructorn; Demo(const Demo &x)coutcopy constructorn;Demo userCode(Demo b)Demo c(b);return c;void main() Demo a,d;

16、 coutcalling userCode()n; d = userCode(a);执行上面的程序的过程中,构造函数Demo()和Demo(const Demo &x)被调用的次数分别是多少次?写出输出结果。异常处理习题一、选择题l 下列关于异常的叙述错误的是( A )。 A编译错属于异常,可以抛出B运行错属于异常 C硬件故障也可当异常抛出D只要是编程者认为是异常的都可当异常抛出2下列叙述错误的是( B )。 A当catch语句捕获一个异常后,可能不能完全处理异常B在try块中抛出异常后,程序最后回到try块中继续执行后面的语句C一个程序中可以有try语句而没有throw语句Dthrow语句抛

17、出的异常可以不被捕获3 关于函数声明 float fun(int a,int b)throw()下列叙述正确的是(C )。/题目有错,改成throw() A表明函数抛出float类型异常 B表明函数抛出任何类型异常 C表明函数不抛出任何类型异常D表明函数实际抛出的异常4下列叙述错误的是(C)。 Acatch()语句可捕获所有类型的异常 B一个try语句可以有多个catch语句 Ccatch()语句可以放在catch语句组的中间D程序中try语句与catch语句是一个整体,缺一不可5、 下列程序运行结果为(A )。#includeusing namespace std;class Spublic

18、: S( )cout”S”t”; ;char fun0() S s1; throw(T);/直接抛出异常后寻找catch ,后面的return 语句不会执行 return O;void main()try coutfun0()”t”; catch(char c) coutc”t”; AS T BO S T CO T DT二、 写出程序运行结果1、 #include using namespace std; void f() cout f() beginendl; try throw a; catch( char*) coutexception”endl; throw exception; co

19、ut f() end”endl; void main() coutmain begin” endl; try f( ); catch( char *str) coutstrendl; coutmain end”endl;程序运行结果:main beginf() beginexceptionexceptionmain end一、选择题1、假定A为一个类,则执行“A a50 ;”语句时,自动调用该类构造函数的次数为( C )。A. 1 B. 2 C.50 D. 02、下列运算符中,( C)运算符不能重载A &B C? :D =3、关于动态绑定的下列描述中,(D)是错误的A 动态绑定是以虚函数为基础

20、的B 动态绑定是在运行时确定所调用的函数代码的C 动态绑定调用函数的操作是指向对象的指针或对象引用D 动态绑定是在编译时确定操作函数的4、下列各类函数中,(C )不是类的成员函数A类型传换函数 B析构函数C友元函数 D 拷贝构造函数5、分析程序class Apublic;A();class B: public Apublic:B();int main()B b;return 0;构造函数的执行顺序为:( B )A. B(), A() B. A(),B() C. B() D. A()6、可以在类外访问的成员属性是( A )。A. public B. public 和protected C. protected D. private7、主函数内,对x 访问错误的是( A

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

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