c练习题带答案_第1页
c练习题带答案_第2页
c练习题带答案_第3页
c练习题带答案_第4页
c练习题带答案_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、选择题C++语言属于(C)。A)自然语言B)机器语言C)面向对象语言D)汇编语言下边选项中不属于面向对象程序设计特点的是(C)。A)继承性B)多态性C)相像性D)封装性3.以下状况中,哪一种状况不会调用拷贝结构函数(B)A)用派生类的对象去初始化基类对象时B)将类的一个对象赋值给该类的另一个对象时C)函数的形参是类的对象,调用函数进行形参和实参联合时D)函数的返回值是类的对象,函数履行返回调用者时4.以下哪一重点字可用于重载函数的划分(C)A)externB)staticC)constD)virtual5.以下相关数组的表达中,正确的选项是(B)A)C++中数组的储蓄方式为列优先储蓄B)数组名可以作为实参赋值给指针种类的形参C)数组下标索引从1开始,至数组长度n结束D)数组指针的语法形式为:种类名*数组名[下标表达式];以下相关继承和派生的表达中,正确的选项是(C)A)派生类不可以接见经过私有继承的基类的保护成员B)多继承的虚基类不可以够实例化C)假如基类没有默认结构函数,派生类就应该申明带形参的结构函数D)基类的析构函数和虚函数都不可以够被继承,需要在派生类中从头实现如有下边的函数调用:fun(a+b,3,max(n-1,b));此中实参的个数是(A)A)3B)4C)5D)68.以下对于this指针的说法正确的选项是(B)A)this指针存在于每个函数之中B)在类的非静态函数中this指针指向调用该函数的对象C)this指针是指向虚函数表的指针D)this指针是指向类的函数成员的指针9.在以下对于C++函数的表达中,正确的选项是(C)A)每个函数最少要有一个参数B)每个函数都一定返回一个值C)函数在被调用以前一定先申明D)函数不可以自制调用自己10.以下运算符中,不可以重载的是(C)A)&&B)!=C).D)->11.下边程序的输出结果是(B)#include<iostream>usingnamespacestd;inti=0;intfun(intn){staticinta=2;a++;returna+n;}voidmain(){intk=5;{inti=2;k+=fun(i);}k+=fun(i);cout<<k;}A)13B)1412.下边程序的输出结果是(

C)15C

D)16#include<iostream>usingnamespacestd;classBase{public:virtualvoidf(){cout<<

“f0+”;}voidg(){cout<<

“g0+”;}};classDerived:publicBase{public:voidf(){cout<<

“f+”;}voidg(){cout<<

“g+”;}};voidmain(){Derivedd;Base*p=&d;p->f();p->g();}A)f+g+B)f0+g+C)f+g0+D)f0+g0+以下程序的输出结果是:(D)#include<iostream>usingnamespacestd;intfun(char*s){char*p=s;while(*p!='\0')p++;return(p-s);}voidmain(){cout<<fun("abc")<<endl;}A.0B.1C.2D.3有以下程序段:inti=1;while(1){i++;if(i==10)break;if(i%2==0)cout<<’*’;}履行这个程序段输出字符*的个数是(C)A.10B.3C.4D.5以下对于虚基类的描绘中,错误的选项是(C)使用虚基类可以除去由多继承产生的二义性结构派生类对象时,虚基类的结构函数只被调用一次C.申明classB:virtualpublicA说明类B为虚基类成立派生类对象时,第一调用虚基类的结构函数有下类定义ClassA{Char*a;Public:A():a(0){}A(char*aa){//

aa所指字符串拷贝到

a所指向的储蓄空间A=___________________;Strcpy(a,aa);~A(){delete[]a;}};正确的选择是(A)A.newchar[strlen(aa)+1]B.char[strlen(aa)+1]C.char[strlen(aa)]D.newchar[sizeof(aa)-1]17.有以下程序:#include<iostream>usingnamespacestd;classTest{public:Test(){}~Test(){cout<<'#';}};intmain(){Testtemp[2],*pTemp[2];return0;}履行这个程序输出星号(#)的个数为(B)。A)1B)2C)3D)418.友元运算符obj++被C++编译器解说为(D)。A.operator++(obj)B.operator++(obj,0)B.obj.operator++()D.obj.operator++(0)下边程序的运转结果为(C)#includeclassA{intnum;public:A(inti){num=i;}A(A&a){num=a.num++;}voidprint(){cout<<NUM;}<p>};voidmain(){a(1),b(a);a.print();b.print();}A.11B.12C.21D.22假如类A被说明成类B的友元,则(D)类A的成员即类B的成员类B的成员即类A的成员C.类AD.类B

的成员函数不得接见类不必定是类A的友元

B的成员21.下边程序的运转结果是

(C)#includevoidmain(){intnum=1;int&ref=num;ref=ref+2;cout<<NUM;<p>num=num+3;cout<<REF<<ENDL;<p>}A.13B.16C.36D.33以下程序的运转结果为(C)#includeinti=0;classA{public:A(){i++;}};voidmain(){Aa,b[3],*c;c=b;cout<<I<<ENDL;}A.2B.3C.4D.5以下字符串中可以用C++语言表记符的是(A)A._1234B.foo~~barC.virtuaD.34var二填空题1.在面向对象方法中,类之间共享属性和操作的体系称为继承2.C++中封装性、继承性和多态性是面向对象思想的主要特点。3.以下for语句的循环次数为5。for(inta=0,b=1;b&&a<5;a++);4.C++程序是从main函数开始履行的。5.派生类结构函数的履行次序是先履行基类的结构函数,此后履行成员对象的结构函数,最后履行派生类的结构函数。6.C++语言的基本控制结构为次序结构、选择结构和循环结构7.函数重载要求重载的函数一定有和原函数同样的函数名8.设置虚基类的目的是解决二义性问题,经过用重点字virtual表示虚基类。9.语句cout<<′n′还可表示为cout<<ENDL;10.若已知a=10,b=20,则表达式!a<B的值为111.友元类的全部成员函数都是另一个类的友元函数三程序填空1.用递归法求从1到n的立方和:f(1)=1(n=1)f(n)=f(n-1)+n3(n>1)#include<iostream>usingnamespacestd;intf(int);intmain(){intn,s;cout<<"inputthenumbern:";cin>>n;s=f(n);cout<<"Theresultis"<<s<<endl;return0;}intf(intn){//递归法求立方和函数if(

n==1

)

return1;else

return(

f(n-1)+n*n*n

);}3.请将以下程序增补完好,使得输出结果为“

DestructorDerivedDestructorBase

”。#include<iostream>usingnamespacestd;classBase{public:virt

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论