第一次阶段作业一、单项选择题(共20道小题,共100.0分)1.“面向对象”的缩写是_____。A.OOB.SPC.IOD.DB知识点:单选题学生答案:[A;]得分:[5]试题分值:5.0提示:2.判断字符型变量ch是否为大写英文字母,应该使用表达式()。A.ch='A'&ch='Z'B.ch='A'||ch='Z'C.'A'=ch='A'D.ch='A'&&ch='Z'知识点:第二章单选题学生答案:[D;]得分:[5]试题分值:5.0提示:3.对于语句coutendlx;中的各个组成部分,下列叙述中错误的是()。A.“cout”是一个输出流对象B.“endl”的作用是输出回车换行C.“x”是一个变量D.“”称作提取运算符知识点:第二章单选题学生答案:[D;]得分:[5]试题分值:5.0提示:4.设inta=3,b=2;,则++a*b的结果是()。A.2B.3C.8D.5知识点:第二章单选题学生答案:[C;]得分:[5]试题分值:5.0提示:5.下列十六进制整型常量的写法中,错误的是()。A.0xafB.0C.0X1bD.0xAE知识点:第二章单选题学生答案:[B;]得分:[5]试题分值:5.0提示:6.下列运算符重载函数的原型中,错误的是()。A.FunTypeoperator*(FunType,FunType);B.FunTypeoperator-(FunType);C.FunType&operator+=(FunType&,FunType);D.FunType&operator=(FunType&,FunType);知识点:第六章单选题学生答案:[D;]得分:[5]试题分值:5.0提示:7.关于运算符重载,下列表述正确的是()。A.可以针对基本类型的数据,重新定义“*”的含义B.通过运算符重载可以改变运算符的操作数个数C.只能重载C++中已有的运算符D.C++中所有的运算符都可以重载知识点:第六章单选题学生答案:[C;]得分:[5]试题分值:5.0提示:8.假定为类X成功地重载了++、=、-和[]等运算符,则其中肯定属于成员函数的运算符是()。A.-和=B.[]和++C.=和[]D.++和[]知识点:第六章单选题学生答案:[B;]得分:[5]试题分值:5.0提示:9.在下列运算符中,只能作为二元运算符重载的是()。A.+B.-C.*D./知识点:第六章单选题学生答案:[D;]得分:[5]试题分值:5.0提示:10.以下关于预处理的说法,错误的是()。A.预处理在编译前进行B.预处理指令需要分号结尾C.每条预处理指令必须单独占用一行D.预处理指令可以出现在程序的任何位置知识点:第七章单选题学生答案:[B;]得分:[5]试题分值:5.0提示:11.以下哪一项不在标准C++库中()。A.微软基础类(MFC)B.容器类与抽象容器类(ADT)C.存储管理类D.错误管理知识点:第七章单选题学生答案:[A;]得分:[5]试题分值:5.0提示:12.假设名字空间A中有函数voidf(),且名字空间A被嵌套在名字空间B中,则以下哪一项实现了对函数f()的访问()。A.A.B.f();B.B.A.f();C.A::B::f();D.B::A::f()知识点:第七章单选题学生答案:[D;]得分:[5]试题分值:5.0提示:13.int、float、char、double四种类型的数据在一起做四则运算结果是_____类型。A.intB.floatC.charD.double知识点:第四章单选题学生答案:[D;]得分:[5]试题分值:5.0提示:14.下列运算符中,优先级最高的是_____。A.++B.[]C.%D.&&知识点:第四章单选题学生答案:[B;]得分:[5]试题分值:5.0提示:15.下面关于指针的运算中,_____是非法的?A.两个指针在指定的条件下,可以进行相等的或者不等的运算B.可以将一个空指针赋值给某指针C.一个指针可以加上两个整数之差D.两个指针在一定条件下可以相加知识点:第四章单选题学生答案:[D;]得分:[5]试题分值:5.0提示:16.在intb[][3]={{1},{2,3},{4,5,6},{2}}中b[2][2]的值是_____。A.0B.3C.6D.2知识点:第四章单选题学生答案:[C;]得分:[5]试题分值:5.0提示:17.有如下程序:#includeiostreamusingnamespacestd;classDemo{public:Demo(){coutdefaultconstructor\n;}Demo(constDemo&x){coutcopyconstructor\n;}};DemouserCode(Demob){Democ(b);returnc;}intmain(){Demoa,d;cout“callinguserCode()\n”;d=userCode(a);return0;}执行上面程序的过程中,构造函数Demo()和Demo(constDemo&x)被调用的次数分别是()。A.1和1B.1和2C.2和3D.2和4知识点:第五章单选题学生答案:[C;]得分:[5]试题分值:5.0提示:18.有如下函数定义:voidfunc(inta,int&b){a++;b++;}若执行代码段:intx=0,y=1;func(x,y);则变量x和y的值分别是()。A.0和1B.1和1C.0和2D.1和2知识点:第五章单选题学生答案:[C;]得分:[5]试题分值:5.0提示:19.有如下程序:#includeiostreamusingnamespacestd;intmain(){voidfunction(doubleval);doubleval;function(val);coutval;return0;}voidfunction(doubleval){val=3;}编译运行这个程序将出现的情况是()。A.编译出错,无法运行B.输出:3C.输出:3.0D.输出一个不确定的数知识点:第五章单选题学生答案:[D;]得分:[5]试题分值:5.0提示:20.若有下面的函数调用:fun(a+b,3,max(n-1,b))则fun的实参个数是()。A.3B.4C.5D.6知识点:第五章单选题学生答案:[A;]得分:[5]试题分值:5.0提示:第二次阶段作业一、单项选择题(共20道小题,共100.0分)1.多继承是指()。A.一个派生类同时继承多个基类B.多个派生类同时继承一个基类C.基类本身又是一个更高一级基类的派生类D.派生类本身又是更低一级派生类的基类知识点:第八章单选题学生答案:[A;]得分:[5]试题分值:5.0提示:2.有以下程序:#includeiostreamusingnamespacestd;classA{public:A(){cout'A';}~A(){cout'C';}};classB:publicA{public:B(){cout'G';}~B(){cout'T';}};intmain(){Bobj;return0;}执行后的输出结果是()。A.GATCB.AGTCC.GACTD.AGCT知识点:第八章单选题学生答案:[B;]得分:[5]试题分值:5.0提示:3.有如下的类声明:classMyBASE{intk;public:voidset(intn){k=n;}intget()const{returnk;}};classMyDERIVED:protectedMyBASE{protected:intj;public:voidset(intm,intn){MyBASE::set(m);j=m;}intget()const{returnMyBASE::get()+j;}};则类MyDERIVED中保护成员的个数是()。A.1B.2C.3D.4知识点:第八章单选题学生答案:[C;]得分:[5]试题分值:5.0提示:通过保护继承,基类的公有成员也变为派生类的保护成员4.在任何继承方式下,派生类的自有成员函数都不能访问原基类的某些成员,这些成员的原访问属性必然是()。A.公有或保护B.保护或私有C.私有或继承的私有D.继承的私有或公有知识点:第八章单选题学生答案:[C;]得分:[5]试题分值:5.0提示:5.有如下类定义:classTest{public:Test(){a=0;c=0;}//①intf(inta)const{this-a=a;}//②staticintg(){returna;}//③voidh(intb){Test::b=b;};//④private:inta;staticintb;constintc;};intTest::b=0;在标注号码的行中,能被正确编译的是()。A.①B.②C.③D.④知识点:第九章单选题学生答案:[D;]得分:[5]试题分值:5.0提示:6.有如下程序:#includeiostreamusingnamespacestd;classTest{public:Test(){n+=2;}~Test(){n-=3;}staticintgetNum(){returnn;}private:staticintn;};intTest::n=1;intmain(){Test*p=newTest;deletep;coutn=Test::getNum()endl;return0;}执行后的输出结果是()。A.n=0B.n=1C.n=2D.n=3知识点:第九章单选题学生答案:[A;]得分:[5]试题分值:5.0提示:7.在下面的类定义中,横线处应填入的内容是()。classFred{public:voidprint(){coutdataendl;}voidsetData()(doubled){data=d;}staticintcount;private:doubledata;};_______count=0;//静态数据成员的定义A.intB.staticintC.intFred::D.staticintFred::知识点:第九章单选题学生答案:[C;]得分:[5]试题分值:5.0提示:8.下列哪一个只能访问静态成员变量,静态成员函数和类以外的函数和数据,而不能访问类中非静态成员变量()。A.静态函数B.虚函数C.构造函数D.析构函数知识点:第九章单选题学生答案:[A;]得分:[5]试题分值:5.0提示:9.关于静态数据成员的特性,下列哪一个说法是错误的()。A.静态数据成员不是所有对象所共有的B.静态数据成员在类体外进行初始化C.声明静态数据成员时要在变量名前加关键字static来修饰D.引用静态数据成员时,要在静态数据成员名前加类名和作用域运算符知识点:第九章单选题学生答案:[A;]得分:[5]试题分值:5.0提示:10.下列关于纯虚函数的表述中正确的是()。A.纯虚函数是只有接口没有实现的虚函数B.含有纯虚函数的类不能用于定义对象,因此没有构造函数C.纯虚函数的声明就是在虚函数声明的尾部加上修饰“=0”D.派生类必须实现基类中声明的纯虚函数知识点:第十章单选题学生答案:[C;]得分:[5]试题分值:5.0提示:11.虚函数必须是类的()。A.成员函数B.友元函数C.静态函数D.析构函数知识点:第十章单选题学生答案:[A;]得分:[5]试题分值:5.0提示:12.下列关于虚函数的表述中正确的是()。A.只有用virtual修饰的成员函数才是虚函数B.派生类中覆盖虚函数的重定义函数仍然是虚函数C.对虚函数的调用都是动态绑定的D.使用虚函数主要是为了提高运行效率知识点:第十章单选题学生答案:[B;]得分:[5]试题分值:5.0提示:13.在公有派生的前提下,下列说法错误的是()。A.在一个赋值语句中,等号的左边是一个基类对象时,右边可以是一个派生类对象B.若B是A的派生类,且有默认的构造函数,则语句A&a=*newB;是合法的C.在一个返回值为基类指针的函数中,可以返回一个派生