欢迎来到天天文库
浏览记录
ID:43428426
大小:54.50 KB
页数:8页
时间:2019-10-03
《c++练习提高题(带答案解析)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、/'一、选择题1.C++语言属于(C)。A)自然语言B)机器语言C)面向对象语言D)汇编语言2.下面选项中不属于面向对象程序设计特征的是(C)。A)继承性B)多态性C)相似性D)封装性3.下列情况中,哪一种情况不会调用拷贝构造函数(B)A)用派生类的对象去初始化基类对象时B)将类的一个对象赋值给该类的另一个对象时C)函数的形参是类的对象,调用函数进行形参和实参结合时D)函数的返回值是类的对象,函数执行返回调用者时4.以下哪一关键字可用于重载函数的区分(C)A)externB)staticC)constD)virtual5.下列有关数组的叙述中,正确
2、的是(B)A)C++中数组的存储方式为列优先存储B)数组名可以作为实参赋值给指针类型的形参C)数组下标索引从1开始,至数组长度n结束D)数组指针的语法形式为:类型名*数组名[下标表达式];6.下列有关继承和派生的叙述中,正确的是(C)A)派生类不能访问通过私有继承的基类的保护成员B)多继承的虚基类不能够实例化C)如果基类没有默认构造函数,派生类就应当声明带形参的构造函数D)基类的析构函数和虚函数都不能够被继承,需要在派生类中重新实现7.若有下面的函数调用:fun(a+b,3,max(n-1,b));其中实参的个数是(A)A)3B)4C)5D)68.
3、下列关于this指针的说法正确的是(B)A)this指针存在于每个函数之中B)在类的非静态函数中this指针指向调用该函数的对象C)this指针是指向虚函数表的指针D)this指针是指向类的函数成员的指针/'1.在下列关于C++函数的叙述中,正确的是(C)A)每个函数至少要有一个参数B)每个函数都必须返回一个值C)函数在被调用之前必须先声明D)函数不能自己调用自己2.下列运算符中,不能重载的是(C)A)&&B)!=C).D)->3.下面程序的输出结果是(B)#includeusingnamespacestd;inti=0;int
4、fun(intn){staticinta=2;a++;returna+n;}voidmain(){intk=5;{inti=2;k+=fun(i);}k+=fun(i);cout<usingnamespacestd;classBase{public:virtualvoidf(){cout<<“f0+”;}voidg(){cout<<“g0+”;}};classDerived:publicBase{public:voidf(){cout<<“f+
5、”;}voidg(){cout<<“g+”;}};/'voidmain(){Derivedd;Base*p=&d;p->f();p->g();}A)f+g+B)f0+g+C)f+g0+D)f0+g0+1.以下程序的输出结果是:(D)#includeusingnamespacestd;intfun(char*s){char*p=s;while(*p!=' ')p++;return(p-s);}voidmain(){cout<6、1){i++;if(i==10)break;if(i%2==0)cout<<’*’;}执行这个程序段输出字符*的个数是(C)A.10B.3C.4D.53.下列关于虚基类的描述中,错误的是(C)A.使用虚基类可以消除由多继承产生的二义性B.构造派生类对象时,虚基类的构造函数只被调用一次C.声明classB:virtualpublicA说明类B为虚基类D.建立派生类对象时,首先调用虚基类的构造函数4.有下类定义/'ClassA{Char*a;Public:A():a(0){}A(char*aa){//把aa所指字符串拷贝到a所指向的存储空间A=____7、_______________;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]1.有如下程序:#includeusingnamespacestd;classTest{public:Test(){}~Test(){cout<<'#';}};intmain(){Testtemp[2],*pTemp[2];return0;}执行这个程序8、输出星号(#)的个数为(B)。A)1B)2C)3D)42.友元运算符obj++被C++编译器解释为(D)。A.operat
6、1){i++;if(i==10)break;if(i%2==0)cout<<’*’;}执行这个程序段输出字符*的个数是(C)A.10B.3C.4D.53.下列关于虚基类的描述中,错误的是(C)A.使用虚基类可以消除由多继承产生的二义性B.构造派生类对象时,虚基类的构造函数只被调用一次C.声明classB:virtualpublicA说明类B为虚基类D.建立派生类对象时,首先调用虚基类的构造函数4.有下类定义/'ClassA{Char*a;Public:A():a(0){}A(char*aa){//把aa所指字符串拷贝到a所指向的存储空间A=____
7、_______________;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]1.有如下程序:#includeusingnamespacestd;classTest{public:Test(){}~Test(){cout<<'#';}};intmain(){Testtemp[2],*pTemp[2];return0;}执行这个程序
8、输出星号(#)的个数为(B)。A)1B)2C)3D)42.友元运算符obj++被C++编译器解释为(D)。A.operat
此文档下载收益归作者所有