大一期末考试VC++练习题一、选择题1.C++语言属于(C)。A)自然语言B)机器语言C)面向对象语言D)汇编语言2.下面选项中不属于面向对象程序设计特征的是(C)。A)继承性B)多态性C)相似性D)封装性3.可用作C++语言用户标识符的一组标识符是(B)。A)voiddefine+WORDB)a3_b3_123YNC)for-abcCaseD)2aDOsizeof4.假定一个二维数组的定义语句为“inta[3][4]={{3,4},{2,8,6}};”,则元素a[2][1]的值为(A)。A)0B)4C)8D)65.下列情况中,哪一种情况不会调用拷贝构造函数(B)A)用派生类的对象去初始化基类对象时B)将类的一个对象赋值给该类的另一个对象时C)函数的形参是类的对象,调用函数进行形参和实参结合时D)函数的返回值是类的对象,函数执行返回调用者时6.以下哪一关键字可用于重载函数的区分(C)A)externB)staticC)constD)virtual7.下列有关数组的叙述中,正确的是(B)A)C++中数组的存储方式为列优先存储B)数组名可以作为实参赋值给指针类型的形参C)数组下标索引从1开始,至数组长度n结束D)数组指针的语法形式为:类型名*数组名[下标表达式];8.下列有关继承和派生的叙述中,正确的是(C)A)派生类不能访问通过私有继承的基类的保护成员B)多继承的虚基类不能够实例化C)如果基类没有默认构造函数,派生类就应当声明带形参的构造函数D)基类的析构函数和虚函数都不能够被继承,需要在派生类中重新实现9.实现运行时多态的机制是(A)A)虚函数B)重载函数C)静态函数D)模版函数10.若有下面的函数调用:fun(a+b,3,max(n-1,b));其中实参的个数是(A)A)3B)4C)5D)611.下列关于this指针的说法正确的是(B)A)this指针存在于每个函数之中B)在类的非静态函数中this指针指向调用该函数的对象C)this指针是指向虚函数表的指针D)this指针是指向类的函数成员的指针12.在下列关于C++函数的叙述中,正确的是(C)A)每个函数至少要有一个参数B)每个函数都必须返回一个值C)函数在被调用之前必须先声明D)函数不能自己调用自己13.下列运算符中,不能重载的是(C)A)&&B)!=C).D)->14.下面程序的输出结果是(B)#includeusingnamespacestd;inti=0;intfun(intn){staticinta=2;a++;returna+n;}voidmain(){intk=5;{inti=2;k+=fun(i);}k+=fun(i);cout<usingnamespacestd;classA{public:A(inti){x=i;}voiddispa(){cout<usingnamespacestd;classBase{public:Base(inti){cout<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+19.下面程序的输出结果是(C)#includeusingnamespacestd;classSample{friendlongfun(Samples){if(s.x<2)return1;returns.x*fun(Sample(s.x-1));}public:Sample(longa){x=a;}private:longx;};voidmain(){intsum=0;for(inti=0;i<4;i++){sum+=fun(Sample(i));}cout<