版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《C++程序设计基本》题库一、选取题1.下面不属于面向对象语言特性是___B___。A.继承性B.兼容性C.多态性D.封装性2.C++语言是从初期C语言发展演变而来,与C语言相比,它在求解问题上进行最大改进是___B___。A、面向过程B、面向对象C、安全性D、复用性3.C++基本数据类型中,用来判断真假数据类型为B。A、intB、boolC、charD、float4.关于字符常量写法,错误是__A____。A、'/'B、"a"C、'\t'D、'\0'5.下面C++标记符命名对的是:___D___。A、classB、@mailC、1varD、_inline6.下面基本数据类型初始化表达式错误是___C___。A、inti(5);B、floatf=3.56f;C、charc='ab'D、doublef=3.56;7.C++对C语言作了诸多改进,下列描述中___D___使得C语言发生了质变,从面向过程变成了面向对象。A、增长了某些新运算符;B、容许函数重载,并容许设立缺省参数;C、规定函数阐明必要用原型;D、引进了类和对象概念;8.在C++中,关于下列函数参数描述中,__B____是对的。A、C++语言中,实参是按照自左至右顺序求值;B、若一种参数设立了默认值,则其右边所有参数都具备默认值;C、函数参数默认值不容许是表达式;D、设立参数默认值时,应当所有参数都设立;9.重载函数在调用时选取根据中,___D___是错误。A、参数个数;B、参数类型;C、函数名字;D、函数类型。10.已知程序中已经定义了函数test,其原型是inttest(int,int,double);,则下列重载形式中不对的是____A__。A、chartest(int,int,int);B、doubletest(int,int,double);C、inttest(int,int,float);D、inttest(int,double);11.关于类概念下列说法对的是___C___。A、类和构造体是同一种概念B、类数据成员外界都不可访问C、类可以没有显式构造函数D、类一定要有显式析构函数12.关于类和对象说法对的是______。A、面向对象程序设计办法通过数据抽象和行为抽象,封装形成了“类”B、类具备行为由变量表达。类属性普通由函数表达,且定义为publicD、类是详细,对象是抽象13.关于类和对象不对的说法是___C___。A、类是一种类型,它封装了数据和操作B、对象是类实例C、一种类对象只有一种D、一种对象必属于某个类14.已知A是一种类,则执行语句“Aa;”时,将自动调用该类__A____。构造函数B、拷贝构造函数C、析构函数D、数据成员15.在下列核心字中,用于阐明类中公有成员是__A____。A.public;B.private;C.protected;D.friend16.__D____是析构函数特性。A、析构函数可以有一种或各种参数;B、析构函数名与类名不同;C、析构函数定义只能在类体内;一种类中只能定义一种析构函数;17.如果类成员在定义时使用核心字public来设立访问权限,则该成员是__A____。A.公有类型B.私有类型C.受保护类型D.任意类型18.关于成员函数特性下列描述中,___A___是错误。A、成员函数一定是内联函数;B、成员函数可以重载;C、成员函数可以设立缺省参数值;成员函数可以是静态;19.下列描述中,___D___是不对的。A、面向对象程序设计可重用性较好;B、对象之间通过消息进行信息传递;C、多态性体现了行为共享;D、面向对象办法核心是继承;20.派生类对象对它基类成员中A是可以访问。A、公有继承公有成员;B、公有继承私有成员;C、公有继承保护成员;D、私有继承公有成员;21.下列标记符定义中合法是(A/C)。A.-abcB.forC.intlD.”how”22.执行下列语言后,i和j值分别为(C)。inti=5,j=8,t;int&ri=i;int&rj=j;t=ri;ri=rj;rj=t;A. 5和5B.5和8C.8和5D.8和823.下列关于C++函数论述中对的是(D)。A.函数在调用之前必要先声明B.每个函数都必要返回一种值C.每个函数至少要有一种参数D.函数可以自己调用自己24.在调用函数时,如果实参是简朴变量,它与相应形参之间数据传递方式是(B)。A.地址传递B.单向值传递C.双向值传递D.不拟定25.系统在调用重载函数时往往依照某些条件拟定哪个重载函数被调用,在下列选项中不能被作为根据是(D)。A.参数个数B.参数类型C.函数名称D.函数类型26.标志着C++从面相过程变成面相对象重要办法是(D)。A.增长了新运算符B.容许函数重载,设立默认参数C.规定函数声明必要用原型D.引用了类和对象概念27.关于类和对象说法错误是(C)。A.对象是类一种实例B.任何一种对象只能属于一种详细类C.一种类只能有一种对象D.类与对象关系和数据类型与变量关系相似28.对任意一种类,析构函数个数最多为(B)个。A.0.B.1C.2D.429.已知A是一种类,则执行语句Aa;时,将自动调用该类(B)。A.有参构造函数B.无参构造函数C.拷贝构造函数D.赋值构造函数30.下述静态数据成员特性中,(D)是错误。A.阐明数据成员时前边要加修饰符staticB.静态数据成员要在类体外进行初始化C.引用静态数据成员时,要在静态数据成员名前加“类名”和作用域运算符D.静态数据成员不是所有对象所共有。31.下面关于C++构造函数和析构函数说法对的是D。A、如果不声明任何构造函数,系统会赋给一种默认(无参)构造函数。如果自定义了构造函数,系统也会赋给默认构造函数。B、析构函数是用来完毕对象被删除前清理工作,它可以接受参数。C、构造函数和析构函数都可以是虚函数。D、构造办法是与类同名办法,它可以重载。32.已知类D继承类B,且有声明语句Bb,*p;Dd;下面赋值语句错误是___C___。A、d=b;B、p=&d;C、b=d;D、p=&b;33.下列关于继承和派生论述中,对的是______。A、如果一种派生类私有继承其基类,则该派生类中成员不能访问基类保护成员B、派生类成员函数可以访问基类所有成员C、在创立派生类对象时,先调用派生类构造函数,再调用基类构造函数。D、在销毁派生类对象时,先调用派生类析构函数,再调用基类析构函数。34.C++语言跳转语句中,对于break和continue说法对的是_BA、break语句只应用与循环体中B、continue语句只应用于循环体中C、break是无条件跳转语句,continue不是D、break和continue都可以用于跳出if条件分支。35.下面是关于派生类声明开始某些,其中对的是___D___。A、classvirtualB:publicAB、virtualclassB:publicAC、classB:publicAvirtualD、classB:virtualpublicA36.对基类和派生类关系描述中,B是错。A、派生类是基类详细化;B、派生类是基类子集;C、派生类是基类定义延续;D、派生类是基类组合。37.下列运算符中,不能被重载是C。A.&&B.-C..*D.++38.静态数据成员初始化必要在B。A、类内 B、类外 C、在构造函数内 D、静态成员函数内39.关于虚函数与抽象类,下列表述对的是__D____。A、虚函数声明可以同步出当前类定义中函数原型声明中,和成员函数实现时候。B、虚函数不能声明为静态函数。C、抽象类可以实例化。派生类必要重新定义基类虚函数。40.设立虚基类目是B。A.简化程序;B.消除二义性;C.提高运营效率;D.减少目的代码。41.执行语句:inta=5,*pa;pa=&a;后,下面描述错误是(A)。A.pa值为5B.pa指向整形变量aC.*pa表达变量a值D.pa值是变量a地址42.假设a=5,执行下列语句后,a值为(D)。switch(a){case4:a++;case5:a--;case6:++a:break;case7:--a;default:a++;}A. 2B.3C.4D.543.有函数原型声明语句如下:voidfun(intx,inty=10,charz=’#’);下面调用语句中不合法是(C)。A.fun(5)B.fun(5,8)C.fun(6,’*’)D.fun(10,10,’*’)44.调用函数时,如果实参是一种数组名,则向函数传递是(B)。A.数组长度B.数组首地址C.数组中每个元素地址D.数组中每个元素值45.在C++中,关于下列设立参数默认值描述中,对的是(C)。A.不容许设立参数默认值B.设立参数默认值只能在定义函数时设立C.设立参数默认值时,应当是先设立右边,再设立左边D.设立参数默认值时,应当所有参数都设立46.关于类说法错误是(D)。A.类是一种顾客自定义数据类型B.只有类中成员函数才干存取类中私有数据C.在类中如果不作特殊阐明,所指数据均为私有类型D.在类中如果不作特殊阐明,所指成员函数均为公有类型47.下列关于构造函数描述中,错误是(D)。A.构造函数函数名与类名相似B.构造函数可以重载C.构造函数可以设立默认参数D.构造函数必要指定类型阐明48.普通拷贝构造函数参数是(D)。A.某个对象名B.某个对象成员名C.某个对象指针名D.某个对象引用名49.已知A是一种类,则执行语句Aa;时,将自动调用该类(B)。A.有参构造函数B.无参构造函数C.拷贝构造函数D.赋值构造函数50.关于友元,下面说法中对的是(A)。A.一种类成员函数可以阐明为另一种类友元B.当一种类阐明为另一种类友元时,这个类中第一种成员可以访问另一种类C.如果类A是类B友元,类B又是类C友元,则类A是类C友元D.如果类A是类B友元,类B也是类A友元二、填空题1.在面向对象程序设计中,将一类对象公共性质进行数据抽象和行为抽象,然后将抽象得到数据和行为进行封装,形成了_类,它实例称为_对象。2.C++基本数据类型中,布尔类型只有两个值false和true。3.函数形参和实参结合方式有值调用、传地址调用、引用调用,其中,传地址调用方式和引用调用方式形参变化能引起实参变化。4.默认形参值必要按照___从右向左顺序声明。5.在C++程序中,同名函数如果形参参数类型或个数不同,可以重载。6.面向对象程序设计重要特性是_封装、_继承和抽象性、_多态。7.在面向对象程序设计中,把对象一组属性和操作组装在一起,形成一种独立实体,体现了面向对象办法_封装特性;而同一种消息被不同类型对象接受时产生不同行为,体现是面向对象办法_多态特性。8.C++中定义“类”核心字是_class__。9.类访问权限共有三种,分别为public_、private_和protected。类中被阐明为_public__访问权限成员,可以被该类对象访问到。private__访问权限和protected__访问权限成员,类外函数和对象不能访问。10.类构造函数函数名与_类名相似。类析构函数函数名与_相似。11.C++中动态内存分派操作符是。运算符用于撤销由new建立对象,释放对象指针所指向内存空间。12.一种类继承自各种父类,称为多继承。13.在类中,使用static核心字进行静态成员声明。友元函数是用核心字friend__修饰成员函数。C++中使用核心字const__定义符号常量。14.基类中被阐明为_private__成员只能被其派生类成员函数访问,不能被外界函数访问。带有纯虚函数类是抽象类。15.惯用C++原则输入输出流对象是cin和cout。16.类构造函数函数名与类名相似。17.在类中,使用static核心字进行静态成员声明。18.惯用C++原则输入输出流对象是cin和cout。19.一种完整程序中必要有一种名为main函数。20.在C++一种程序中可以定义各种同名函数,称为重载。21.友元函数是用核心字_friend__修饰成员函数。22.在面向对象程序设计中,将一类对象公共性质进行数据抽象和行为抽象,然后将抽象得到数据和行为进行封装,形成了_类,它实例称为_对象。23.面向对象程序设计重要特性是封装性、继承和多态、抽象性。24.一种完整程序中必要有一种名为mian函数。25.在C++一种程序中可以定义各种同名函数,称为重载。26.在一种函数定义或声明前加上核心字inline,该函数就声明为内联函数。27.在C++中,类成员有3种访问权限,其中public成员提供应顾客接口功能。28.被声明为const数据成员只容许声明为成员函数访问。29.在类派生与继承中,可以中断派生链继承方式是私有继承。30.在面向对象程序设计中,将一类对象公共性质进行数据抽象和行为抽象,然后将抽象得到数据和行为进行封装,形成了_类,它实例称为_对象。三、判断题1.在C++中,标记符Max和MAX是同样。×2.被定义为bool类型变量,取值即为真或假。√3.对象是属性和行为封装体。×4.在C++语言中,使用struct(构造体)定义类与使用class定义类是同样。5.如果一种类所有对象都共享某一种变量,则应当将该变量定义为该类私有成员。×6.构造函数和析构函数都不能重载。×7.派生类是从基类派生出来,它不能再生成新派生类。×8.派生类继承方式中有两种:公有继承和私有继承。×9.在私有继承中,基类中所有成员对派生类都是不可见。×10.参数个数和类型都相似函数也可以重载。×11.C++中标记符内大小写字母是没有区别。×12.C++中只能使用注释符号(//),不能使用注释符号(/*…*/)。×13.常量87.363数据类型是float。√14.引用是某个变量别名,对引用操作就是对被引用变量操作。√15.同一程序中局部变量和全局变量不可以同名。×16.在C++程序中,循环体中可以浮现break语句或continue语句。√17.switch语句中可以没有default子句。×18.没用参数两个函数是不能重载。√19.使用核心字class定义类中缺省访问权限是私有(private)。√20.返回值类型、参数个数和类型都相似函数也可以重载。×21.在公有继承中,基类中公有成员和私有成员在派生类中都是可见。×22.构造函数可以声明为虚函数。×23.析构函数是一种函数体为空成员函数。×24.构造函数和析构函数都不能重载。×25.可以在类构造函数中对静态数据成员进行初始化。×26.一种函数功能不太复杂,但被频繁调用,可以声明为内联函数。√27.类访问权限重要有public、protected和private。√28.类构造函数名与类名相似。√29.类析构函数名与类名相似。×30.保护继承方式下基类保护成员在派生类中仍是保护成员。√四、程序题1.填空完毕下面对Point类定义。Class___①__Point//声明Point类{public:Point(intxx=0,intyy=0){X=xx;Y=yy;}Point(Point&p);//复制构造函数intGetX(){returnX;}intGetY(){returnY;}Private___②__:intX,Y;//X,Y为私有成员};2.填空完毕下面对Time类定义。_class__①__Time//声明Time类{_public__②__:voidsetTime(inth,intm,ints) //setTime()为公有成员函数{hour=h;minute=m;second=s}voidshowTime() { cout<<hour<<”:”<<minute<<”:”<<second<<endl;}private:inthour,minute,second;//hour,minute,second为私有成员};3.填空完毕下面对Time类定义。classTime//声明Time类{_public__①__:voidsetTime(inth,intm,ints) //setTime()为公有成员函数{hour=h;minute=m;second=s}voidshowTime() { cout<<hour<<”:”<<minute<<”:”<<second<<endl;}_private__②__:inthour,minute,second;//hour,minute,second为私有成员};4.定义一种时钟类Clock,有私有数据成员:时(hour)、分(minute)、秒(second),有公有成员函数setTime()实现对时钟设立,以及公有成员函数showTime()实现时间输出。class__Clock//声明clock类{_public__:voidsetTime(inth,intm,ints) //setTime()为公有成员函数{hour=h;minute=m;second=s}voidshowTime() { cout<<hour<<”:”<<minute<<”:”<<second<<endl;}private:inthour,minute,second;//hour,minute,second为私有成员};5.有如下程序classBase{protected:Base(){cout<<'A';}Base(charc){cout<<c;}};classDerived:publicBase{public:Derived(charc){cout<<c;}};voidmain(){Derivedd1('B');}执行这个程序屏幕上将显示输出___c___。6.有如下代码classBase{private:voidfun1()const{cout<<"fun1";}protected:voidfun2()const{cout<<"fun2";}public:voidfun3()const{cout<<"fun3";}};classDerived:protectedBase{private:voidfun4()const{cout<<"fun4";}public:voidfun(){fun1();//①fun2();//②fun3();//③fun4();//④}};其中有语法错误语句是______。7.定义一种哺乳动物类Mammal,有私有数据成员age,有公有成员函数SetAge()和GetAge()实现age赋值和输出。规定代码书写规范。8.定义一种类Score,它包括私有数据成员english_score(英语分数),公有成员函数setScore()和printScore(),其中,setScore()用来设立english_score值,printScore()用来输出english_score值。在主程序中定义类Score两个对象stu1和stu2,其英语成绩分别为80.5和90.5。9.声明一种Dog类,包括age、weight等属性,以及对这些属性操作办法。实现并测试这个类。10.定义一种Circle类,有数据成员radius(半径),成员函数getArea(),计算圆面积,构造一种Circle对象进行测试。#include<iostream>usingnamespacestd;constdoublePI=3.14159265;classcircle{public:circle(doubler){radius=r;} virtualdoublearea(){return0.0;}virtualdoublevolume(){return0.0;}protected: doubleradius;};classcolumn:publiccircle{public: column(doubler,doubleh):circle(r) doublearea(){returnPI*radius*radius; }};intmain(){circle*p; p=&cobj; cout<<"圆:"<<endl; cout<<"面积="<<p->area()<<endl;}11.简述面向对象程序设计四个重要特性和编程方式。12.有如下程序classB0 //基类B0声明{public: voiddisplay(){cout<<"B0::display()"<<endl;} };classB1:publicB0//基类B1声明{public: voiddisplay(){cout<<"B1::display()"<<endl;} };classD1:publicB1//派生类D1声明{public: voiddisplay(){cout<<"D1::display()"<<endl;} };voidfun(B0*ptr) { ptr->display(); }voidmain(){ B0b0; //声明B0类对象 B1b1; //声明B1类对象 D1d1; //声明D1类对象 B0*p; //声明B0类指针 p=&b0; //B0类指针指向B0类对象 fun(p); p=&b1; //B0类指针指向B1类对象 fun(p); p=&d1; //B0类指针指向D1类对象 fun(p);}执行这个程序屏幕上将显示输出①__②___③__。13.执行下列语句:输出成果(1)5。 #include<iostream.h> voidmain(){ intarrayA[5]={1,3,5,7,9}; inti=2; cout<<"arrayA["<<i<<"]="<<*(arrayA+i)<<endl; }14.填空完毕下面对X类定义classx {(1)public//公有属性; (2)x(inta,intb)//构造函数 {a=a1;b=b1;} x()(3)//默认构造函数 {a=0; b=0;} x(x&obj)(4)//拷贝构造函数 {a=obj.a;b=obj.b; }private: inta,b;};15.编写一种程序,输入n本书书名,将书名排序,输出排序后书名。#include<iostream>#include<string>usingnamespacestd;voidmain(){ Const(1)intn=5;//定义为常量 stringbook[n]; stringtemp; inti,j; for(i=0;i<n;i++){ cout<<"inputno."<<(i+1)<<"bookname:"; Cin>>book[i](2);//通过cin输入书名; } for(i=1;i<n;i++) for(j=0;j<i;j++){ if(book[i]<book[j]){ Temp=book[i];book[i]=book[j];book[j]=temp ;(3) //实现book[i]、book[j]排序 } } for(i=0;i<n;i++) cout<<book[i]<<endl;(4); //通过cout对排序后书名输出;}16.执行下列语句,输出成果为:(1)15#include<iostream.h>voidmain(){intx=4;int*p;p=&x;*p=15;cout<<"valueof*pis"<<*p<<endl;}17.填空完毕下面对CDate类定义。 class(1)CDate//CDate类声明; { public: CDate(2)(inty,intm,intd);//CDate类构造函数声明 voidsetDate(inty,intm,intd); voiddisplay() { cout<<year<<","<<month<<","<<day<<endl;} private(3): intyear,month,day;//year,month,day声明为私有成员; }; VoidCDate::setdata(inty,intm,intd)(4)//构造函数实现 { year=y; month=m;day=d; }18.编写一种程序,设计一种类Trig,给定三角形三条边长x,y,z,包括一种友元函数计算两个三角形面积之和。#include<iostream.h>#include<math.h>classTrig{public:Trig(inta=0,intb=0,intc=0){x=a;y=b;z=c;(1)//实现构造函数;}friendfloatareasum(Tr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 10.3《物体的浮沉条件与应用》教学设计 2023-2024学年人教版八年级物理下册
- 2025-2026学年教学设计模板三视图
- 2025-2026学年裁剪玩偶教学设计
- 2026年铜仁地区万山特区事业编单位人员招聘笔试参考题库及答案详解
- 2026年宜昌市夷陵区社区工作者招聘笔试参考试题及答案详解
- 企业员工工作家庭增益对工作投入的促进研究报告
- 企业员工工作不安全感对工作投入的倒U型影响研究报告
- 企业信息安全评定报告
- 2026年云南省玉溪市事业编单位人员招聘笔试参考题库及答案详解
- 2026年洛阳市西工区事业编单位人员招聘考试备考题库及答案详解
- 苏教版二年级数学下册期末试卷(含答案)
- SY-T 5037-2023 普通流体输送管道用埋弧焊钢管
- 商业银行信贷管理课件
- 2023年广东阳江市交通投资集团有限公司招聘笔试参考题库含答案解析
- Smart-manager-中文说明书改
- 模拟卷成人高考模拟试卷
- 高一入学分班考试-数学试题含答案
- GB/T 38232-2019工程用钢丝绳网
- GB/T 19960.1-2005风力发电机组第1部分:通用技术条件
- GB 8195-1987炼油厂卫生防护距离标准
- 集成制动转向架介绍课件
评论
0/150
提交评论