收藏 分销(赏)

C++超经典练习题(配答案).pdf

上传人:w****g 文档编号:2492392 上传时间:2024-05-30 格式:PDF 页数:9 大小:99.76KB 下载积分:6 金币
下载 相关 举报
C++超经典练习题(配答案).pdf_第1页
第1页 / 共9页
C++超经典练习题(配答案).pdf_第2页
第2页 / 共9页


点击查看更多>>
资源描述
1.C+语言属于()。(选择一项)A)自然语言 B)机器语言 C)面向对象语言 D)汇编语言2.下面选项中不属于面向对象程序设计特征的是()。(选择一项)A)继承性 B)多态性 C)相似性 D)封装性3.可用作 C+语言用户标识符的一组标识符是()。(选择一项)A)void define +WORD B)a3_b3 _123 YNC)for -abc CaseD)2a DO sizeof4.假定一个二维数组的定义语句为“int a34=3,4,2,8,6;”,则元素 a21的值为()。(选择一项)A)0 B)4 C)8 D)65.下列情况中,哪一种情况不会调用拷贝构造函数()(选择一项)A)用派生类的对象去初始化基类对象时B)将类的一个对象赋值给该类的另一个对象时C)函数的形参是类的对象,调用函数进行形参和实参结合时D)函数的返回值是类的对象,函数执行返回调用者时6.以下哪一关键字可用于重载函数的区分()(选择一项)A)externB)staticC)constD)virtual7.下列有关数组的叙述中,正确的是()(选择一项)A)C+中数组的存储方式为列优先存储B)数组名可以作为实参赋值给指针类型的形参C)数组下标索引从 1 开始,至数组长度 n 结束D)数组指针的语法形式为:类型名*数组名下标表达式;8.下列有关继承和派生的叙述中,正确的是()(选择一项)A)派生类不能访问通过私有继承的基类的保护成员B)多继承的虚基类不能够实例化C)如果基类没有默认构造函数,派生类就应当声明带形参的构造函数D)基类的析构函数和虚函数都不能够被继承,需要在派生类中重新实现9.实现运行时多态的机制是()(选择一项)A)虚函数B)重载函数C)静态函数D)模版函数10.若有下面的函数调用:fun(a+b,3,max(n-1,b);其中实参的个数是()(选择一项)A)3B)4C)5D)611.下列关于 this 指针的说法正确的是()(选择一项)第 2 页 共 9 页A)this 指针存在于每个函数之中B)在类的非静态函数中 this 指针指向调用该函数的对象C)this 指针是指向虚函数表的指针D)this 指针是指向类的函数成员的指针12.在下列关于 C+函数的叙述中,正确的是()(选择一项)A)每个函数至少要有一个参数 B)每个函数都必须返回一个值C)函数在被调用之前必须先声明D)函数不能自己调用自己13.下列运算符中,不能重载的是()(选择一项)A)&B)!=C).D)-14.下面程序的输出结果是()(选择一项)#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)13B)14C)15D)1615.下面的程序段的运行结果为()(选择一项)char str=job,*p=str;cout *(p+2)endl;A)98 B)无输出结果 C)字符b的地址 D)字符b16.下面程序的输出结果是()(选择一项)#include using namespace std;class A第 3 页 共 9 页 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;void main()B b(2);b.dispb();A)10,2B)12,10C)12,2D)2,217.下面程序的输出结果是()(选择一项)#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=0):Base(j)cout i;Base2();class Derived:public Base2,public Base1 第 4 页 共 9 页 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)134122B)123412C)14302012D)14321218.下面程序的输出结果是()(选择一项)#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+19.下面程序的输出结果是()(选择一项)#include using namespace std;class Samplefriend long fun(Sample s)if(s.x 2)return 1;return s.x*fun(Sample(s.x-1);public:Sample(long a)x=a;private:long x;第 5 页 共 9 页void main()int sum=0;for(int i=0;i4;i+)sum+=fun(Sample(i);cout sum;A)12B)16C)10D)3420.以下程序的输出结果是:()(选择一项)#include using namespace std;int fun(char*s)char*p=s;while(*p!=0)p+;return(p-s);void main()coutfun(abc)endl;A0 B.1 C.2 D.321.有如下程序段:int i=1;while(1)i+;if(i=10)break;if(i%2=0)cout*;执行这个程序段输出字符*的个数是()(选择一项)A.10 B.3 C.4 D.522.下列关于虚基类的描述中,错误的是()(选择一项)A.使用虚基类可以消除由多继承产生的二义性B.构造派生类对象时,虚基类的构造函数只被调用一次C.声明 class B:virtual public A 说明类 B 为虚基类D.建立派生类对象时,首先调用虚基类的构造函数23.有下类定义Class A Char*a;Public:第 6 页 共 9 页A():a(0)A(char*aa)/把 aa 所指字符串拷贝到 a 所指向的存储空间A=_;Strcpy(a,aa);A()delete a;正确的选择是()(选择一项)A.new charstrlen(aa)+1 B.charstrlen(aa)+1C.charstrlen(aa)D.new charsizeof(aa)-124.假定 AA 为一个类,a 为该类私有的数据成员,GetValue()为该类公有函数成员,它返回 a 的值,x 为该类的一个对象,则访问 x 对象中数据成员 a 的格式为()。(选择一项)A)x.a B)x.a()C)GetValue()D)x.GetValue()25.假定 AA 为一个类,int a()为该类的一个成员函数,若该成员函数在类定义体外定义,则函数头为()。(选择一项)A)int AA:a()B)int AA:a()C)AA:a()D)AA:int a()26.有如下程序:#include using namespace std;class Testpublic:Test()Test()cout#;int main()Test temp2,*pTemp2;return 0;执行这个程序输出星号(#)的个数为()。(选择一项)A)1 B)2 C)3 D)427.有如下程序:#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;第 7 页 共 9 页;int main()MyClass obj1(1),obj2(2),obj3(obj1);obj1=obj2;return 0;运行时的输出结果是()。(选择一项)A)1123444 B)11114444 C)121444 D)1131444428.有如下程序:#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 point3;ptr=ptr_point;point C;delete ptr;coutpoint:number;程序结果为()(选择一项)A)3 B)4 C)6 D)729.友元运算符 obj+被 C+编译器解释为()。(选择一项)A.operator+(obj)B.operator+(obj,0)B.obj.operator+()D.obj.operator+(0)30.对于类定义class Apublic:virtual void func1()void func2();class B:public A第 8 页 共 9 页public:void func1()coutclass B func 1end1;virtual void func2()coutclass B func 2x=a;this-y=b;中,this 的类型是()(选择一项)A.int B.int*C.A D.A*39.动态内存分配的主要目的是()(选择一项)A.使程序按动态联编方式运行 B.正确合理的使用内存C.提高程序的运行速度 D.提高程序的可维护性40.设置虚基类的目的是()(选择一项)A.简化程序 B.消除二义性 C.提高运行效率 D.减少目标代码答案:15 C C B A B610 C B C A A1115 B C C B D1620 C C C C D2125 C C A D A2630 B A A D C3135 A D B D D3640 A A C B B
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服