![1075-C++语言程序设计T_第1页](http://file4.renrendoc.com/view/b6d680fd50577ad45121df936c232367/b6d680fd50577ad45121df936c2323671.gif)
![1075-C++语言程序设计T_第2页](http://file4.renrendoc.com/view/b6d680fd50577ad45121df936c232367/b6d680fd50577ad45121df936c2323672.gif)
![1075-C++语言程序设计T_第3页](http://file4.renrendoc.com/view/b6d680fd50577ad45121df936c232367/b6d680fd50577ad45121df936c2323673.gif)
![1075-C++语言程序设计T_第4页](http://file4.renrendoc.com/view/b6d680fd50577ad45121df936c232367/b6d680fd50577ad45121df936c2323674.gif)
![1075-C++语言程序设计T_第5页](http://file4.renrendoc.com/view/b6d680fd50577ad45121df936c232367/b6d680fd50577ad45121df936c2323675.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
试卷代号:1075国家开放大学2022年春季学期期末统一考试C++语言程序设计试题2022年7月一、单选题(每小题2分,共40分)1.执行下列语句后,不可能出现的情况是(C)。 cin>>k; if(k>100)cout<<'G'; if(k<100)cout<<'L'; A.显示G B.显示L C.显示GL D.无任何显示2.执行语句序列 inta=23.3 cout<<(a+=32.15);后,屏幕显示的是(D)。 A.55.45 B.55.3 C.55.15 D.553.下列表达式中,无副作用的是(B)。 A.i++ B.i+3 C.i+=3 D.cout<<i4.有如下语句:switch(n){case0:case1:n+=l;break;case2:n+=2;default:n+=3;}若一开始n的值为O,则执行此语句后,n的值是(B)。 A.O B.1 C.3 D.65.do...le语句的语法格式可表示为:do循环体while(循环条件);下列关于do...while语句的表述中,错误的是(A)。 A.循环体有可能一次都不执行 B.循环体是一个语句或一组复合语句 C.循环体和循环条件执行的次数相同 D.循环条件是一个逻辑表达式或关系表达式6.语句“intcrm[7]={1,2,3};”定义了一个一维数组。关于此数组,下列表述中错误的是(C)。 A.数组的名称是crm B.数组的类型是整型 C.数组有3个元素 D.数组的最大下标67.若要定义一个整型二维数组data,使其元素的初始值排列如下: 123 120100则下列定义语句中错误的是(A)。 A.intdata[3][]={{1,2,3},{1,2},{1}}; B.intdata[3][3]={{1,2,3},{1,2,0},{1,O,O}}; C.intdata[][3]={{1,2,3},{1,2,O},{1,0,0}}; D.intdata[3][3]={{1,2,3},{1,2},{1}};8.下列原型声明中的函数,不可作为表达式调用的是(C)。 A.intaf(char); B.doublebf(void); C.voidcf(double); D.longdf(inti,longn);9.关于函数定义中的形参声明,下列表述中正确的是(B)。 A.每个形参声明定义一个常量 B.每个形参声明定义一个变量 C.每个形参声明定义一个类型修饰符 D.每个形参声明定义一个表达式10.关于地址,下列表述错误的是(A)。 A.数据可以存放在从任何地址开始的若干连续的存储单元中 B.程序中的每个变量都对应一个地址 C.每个单元占用一个字节,对应一个唯一的地址 D.地址本身也可以作为数据来处理11.下列语句试图定义指针p,使之指向一个动态空间中的int型二维数组,其中正确的是(D)。 A.int*p[][5]=newint[6][5]; B.int*p[5]=newint[6][5];C.int(*P)[][5]=newint[6][5]; D.int(*p)[5]=newint[6][5];12.class的默认访问属性是(A)。 A.private B.protected C.public D.static13.若有一个名为XY的类,则下列关于该类构造函数和析构函数的表述中,错误的是(D)。 A.类XY的构造函数名为XY B.类XY的析构函数名为~XYC类XY可以有多个构造函数 D.类XY可以有多个析构函数14.已知类AA的类体中有如下成员函数定义: intDouble(intn)const{returnn+n;}要在类BB中将其声明为友元,正确的是(D)。 A.friendintDouble(intn); B.friendintDouble(intn)const; C.friendintAA::Double(intn); D.friendintAA::Double(int)const;15.已知在类体外有如下操作符重载声明: AAoperator+(AA,AA);其中的AA是类名。若x、y是两个AA的对象,下列表达式欲求x、y之和,其中正确的是(D)。 A.X.operator+(y) B.y.operator+(x)C.xoperator+y D.operator+(x,y)16.关于函数模板,下列表述中错误的是(A)。 A.要声明虚拟类型参数,必须使用保留字typename B.函数模板的参数表必须用<>括起来 C.函数模板可以有多个参数 D.可以为函数模板的参数设置默认值17.关于继承成员的访问属性,下列表述中错误的是(A)。A.在公有继承方式下,所有继承成员的访问属性保持不变 B.在保护继承方式下,原来的公有属性变为保护属性 C.在私有继承方式下,原来的公有、保护属性变为私有属性D.在任何继承方式下,原来的私有属性变为继承的私有属性18.关于纯虚函数和抽象类,下列表述中错误的是(C)。 A.以“=0;”结尾的虚函数声明,所声明的即为纯虚函数 B.据有纯虚函数的类称为抽象类,不能用于定义对象 C.纯虚函数没有实现版本 D.派生类给出实现版本后,不再是纯虚函数,但仍然是虚函数19.有如下类模板定义: template<intize=10,typenameT=int>classMG{public:Tdata[size];};下面的语句试图定义模板类MG的对象,其中错误的是(C)。 A.MG<>obj; B.MG<20>obj; C.MG<double>obj; D.MG<20,double>obj;20.C++流的下列函数(只列函数名)中,完成输出操作的函数是(A)。 A.put B.get C.read D.ignore二、填空题(每小题2分,共20分)21.C++源程序文件的缺省扩展名为cpp。22.简单表达式包括常量、变量和函数调用。23.关系表达式x<5的相反表达式为x>=5。24.语句“intd[][3]={{1,2,3},{1,2},{1}};”定义了二维数组的,其元素个数是9。25.函数被调用时,实参向形参的传送分为引用传送和.值传送两种方式。26.假定指针p所指对象的值为25,p+l所指对象的值为46,则*++p的值为46。27.假定指针px指向一个类的动态分配的对象,则执行“deletepx.”语句时,将自动调用该类的析构函数。28.根据一函数模板生成的函数定义称为该模板的实例。29.对虚函数的调用分为两种情况:多态调用和非多态调用。30.对于一个C++输入流,当输入到达流尾时,函数good的值是false。三、写出下列程序运行后的输出结果(每小题8分,共24分)31.有如下程序:#include<iostream>spacestd;classAA{public:staticintn,AA(){n++;}};intAA::n=0;voidmain(){cout<<"AA::n="<<AA.n<<endl;AAdl,Cout<<dl.n<<endl;AAd2,cout<<d2.n<<endl;AAd3,d4;cut<<d3.n<<endl;cut<<d4.n<<endl;}运行此程序的输出是(AA::n=01244)32.有如下程序:#include<iostream>Usingnamespacestd;intmain(){intX[][4]={{1,2,3,4},{5,6,7},{8,9}},s=O;inti=O:while(i<3){for(intj=O;j<3;j++)s+=x[i][j];i++;}Cout<<s;returnO;}运行此程序的输出是(41)。33.有如下程序:#include<iostream>spacestd;intmain(){intx[]={1,2,3,4,5},*px=x;ints=*(px+l);*(px+1)=*(px+3);*(px+3)=s;for(inti=0;i<5;i++)cout<<x[i];returnO:}运行此程序的输出是(14325)。四、写出下列每个函数的功能(每小题8分,共16分)34.intLK(inta[],intn){doubles=0;inti,m=0;for(i=0;i<++=)s+=a[i];s=s/n;for(i=0;i<++=)if(a[i]>=s)m++;returnm;}函数功能:统计出数组a[n]中大于等于其平均值的元素个数并作为函数值返回。35.doubleFI(intn){//n为大于等于1的整数doublex,y=0; do{ cin>>x;y+=x;}while(--n);returny;}函数功能:求出从键盘上输入的n个实数的和并返回。试卷代号:1075国家开放大学2021年秋季学期期末统一考试C++语言程序设计试题2022年1月一、单选题(每小题2分,共40分)1.以下程序段的输出为(D)。inti,a;for(i=O;i<=10;i++)a=i;cout<<i; A.O B.9 C.10 D.112.下列表达式中,不属于简单表达式的是(A)。 A.-k B.f(a,b) C.2050139 D.my_name_is_zhang_san3.下列表达式中,有副作用的是(A)。 A.i++ B.i+3 C.i>3 D.i==34.若OK是一个逻辑型变量,则在下列语句中,与其他语句输出不同的那个语句是(C)。 A.if(OK)cout<<“!!”;elsecout<<“??”; B.if(OK==true)cout<<“!!”;elsecout<<“??”; C.if(!OK==true)cout<<”!!”;elsecout<<"??”; D.if(!OK)cout<<“??”;elsecout《“!!”;5.while语句的语法格式可表示为:while(循环条件)循环体 下列关于while语句的表述中,错误的是(C)。 A.循环条件应该是一个逻辑表达式 B.循环条件至少执行一次 C.循环体是一个表达式 D.循环体有可能一次都不执行6.语句“doublebrm[5]={1,2,3};”定义了一个一维数组。关于此数组,下列表述中错误的是(D)。 A.数组的名称是brm B.数组的类型是双精度实型 C.数组有5个元素 D.元素brm[l]的初值是17.语句“intdata[][3]={(1,2,3),{1,2),(1));”定义了一个二维数组。关于此数组,下列表述中错误的是(B)。 A.数组名称是data B.数组有6个元素 C.最大列下标是2 D.元素data[2][1]的值为08.已知f是一个无参有返回值函数。下列对f的调用中,作为语句调用的是(D)。 A.f()+1; B.x=f(); C.cout<<f(); D.f();9.已知函数f的原型是:voidf(intxy[],intsize);,其中size表示数组xy的元素个数,且还有如下数组定义:inta[]={1,2,3,4,5,6);下列对f的调用中正确的是(B)。 A.f(a[],6) B.f(a,6) C.f(xy[],6) D.f(xy,6)10.要想定义一个指向字符串”Hello!”的指针p,且不允许通过p修改所指向的字符串,则p应定义为(B)。 A.char*constp=“Hellol”; B.constchar*p=“Hello!”; C.charconstp=“Hello!”;D.constcharp=“Hello!”;11.下列语句定义变量p使得语句“cout<<p;”输出单词Goodmorning,其中错误的定义语句是(D)。 A.charp[]=“Goodmorning”; B.char*p=“Goodmorning”; C.charp[]={‘G’,‘O’,‘O’,‘d’,‘m’,‘O’,‘r',‘n',‘i’,‘n’,‘g’,‘\0'}; D.char*p={‘G',‘O',‘O',‘d',‘m',‘0',‘r',‘n',‘i',‘n',‘g',‘\0');12.有如下类声明:class{inti,j;prlvate:intm;public:intn:private:intp;};其中私有成员的个数是(C)。 A.2 B.3 C.4 D.513.关于类的构造函数,下列表述中错误的是(A)。 A.每个类至少有两个构造函数 B.构造函数的名称与类名相同 C.可以不提供实参的构造函数称为默认的构造函数 D.构造函数可以重载14.关于复制构造函数,下列表述中错误的是(B)。 A.复制构造函数参照参数传来的对象来初始化同类的新对象 B.每个类可以有多个复制构造函数 C.如果类中没有声明复制构造函数,系统将自动生成一个默认的复制构造函数 D.默认的复制构造函数以内存映像复制的方式来初始化新对象15.已知应用系统中已声明了如下函数:intblock(double,int=0);下列函数声明试图重载block,其中正确的是(D)。 A.doubleblock(double,int); B.intblock(double,int,char=‘A’); C.intblock(double,long=0);D.intblock(double,int,char);16.关于函数模板,下列表述中错误的是(B)。 A.函数模板声明以保留字template开头 B.必须用虚拟类型参数声明模板函数返回值的类型 C.调用模板函数时,模板实参在一定条件下可以省略 D.在调用模板函数时,根据需要,有可能生成该函数模板的一个实例17.关于基类和派生类,下列表述中错误的是(D)。 A.-个基类可以有若干派生类 B.-个派生类可以有若干基类 C.基类是它的所有派生类的共性的体现 D.派生类继承基类的所有非私有成员作为自己的成员18.关于虚函数,下列表述中错误的是(A)。 A.只有用virtual修饰的函数才是虚函数 B.只有类的成员函数才能声明为虚函数 C.在派生类中可以重新定义基类声明的虚函数 D.静态成员函数不得声明为虚函数19.关于类模板,下列表述中错误的是(C)。 A.类模板以保留字template开头 B.类模板的每一个实例就是一个类定义 C.可以为任意的一个或多个模板参数设置默认值 D.有默认值的实参在一定条件下可以省略20.下列标识符中,不属于C++流操纵符的是(A)。 A.delete B.setwC.endl D.right二、填空题(每小题2分,共20分)21.程序开发过程的四个步骤按正确的顺序分别称作_编辑、编译、链接、运行___。22.有如下枚举声明:enumANIMAL{DOG,CAT=35,PIG,HEN,DOVE};其中DOVE所对应的整数是38。23.结束所在循环类语句或switch语句执行的中断语句的保留字为break。24.语句“floatp[5]={1-lf,2.2f,3.3f};”定义了一维数组p,其元素个数是__5__。25.若一函数直接或间接调用了该函数自身,此种类型的调用称为递归调用____。26.有两个不同操作符都用符号*表示,一个用于乘法,另一个用于____间接访问。27.在定义类对象的语句执行时,系统在建立每个对象的过程中将自动调用该类的构造函数使其初始化。28.重载“/”的操作符函数的名称是___operator/_。29.具有纯虚函数的类称为抽象类____。30.在C++流中,endl、setw、left等用于控制流的输入输出的符号统称为操纵符。三、给出下列程序运行后的输出结果(每小题8分,共24分)31.有如下程序:#include<iostream>usingnamespacestd;classA{ private:intn;public:A(inti){n=I;}A&operator++()(n++;return*this;)Aoperator++(int){n+=2;return*this;)voidDisplay(){cout<<“n=”<<n<<endl;)};voidmain(){Aa(2),b(2);a++;++b;a.Display();b.Display();}运行此程序的输出是(n=4n=3)。32.有如下程序:#include<iostream>usingnamespacestd;intmain(){intX[]=(2,4,6,8,10,12),s=0;for(inti=l;i<6;i+=2)s+=x[i];cout<<s,return0:}运行此程序的输出是(24)。33.有如下程序:#include<iostream>usingnamespacestd;intmain(){intx[]=<1,2,3,4,5),*px=x;for(inti=O;i<5;i++)cout<<*(px+i);returnO:}运行此程序的输出是(12345)。四、写出下列每个函数的功能(每小题8分,共16分)34.intWD(inta[],intn){intm=a[0];for(inti=l;i<n;i++)if(a[i]>n)m=a[i];returnm;}从数组a的n个元素中求出最大值并返回。35.doubleFl(intn)(//n为大于等于1的整数doublex,y=0;do{cin>>x;y+=x*x;}while(--n);returny;}函数功能:求出从键盘上输入的n个实数的平方和并返回。试卷代号:1075国家开放大学2020年春季学期期末统一考试C++语言程序设计试题2020年7月一、单选题(每小题2分,共40分)1.若a是int类型变量,则表达式a=1000%999的值是(B)。 A.0 B.1 C.2 D.32.下列表达式中,不属于简单表达式的是(A)。 A.-k B.f(a,b) C.2050139 D.mynameiszhangsan3.下列表达式中,有副作用的是(A)。A.i++ B.i+3C.i>3 D.i==34.若OK是一个逻辑型变量,则在下列语句中,与其他语句输出不同的那个语句是(C)。A.if(OK)cout<<“!”;elsecout<<“??”;B.if(OK==true)cout<<“!!”;elsecout<<“??”;C.if(!OK==true)cout<<“!!”;elsecout<<“!!”;D.if(!OK)cout<<“!!”;elsecout<<“!!”;5.while语句的语法格式可表示为:while(循环条件)循环体下列关于while语句的表述中,错误的是(C)。A.循环条件应该是一个逻辑表达式B.循环条件至少执行一次C.循环体是一个表达式D.循环体有可能一次都不执行6.关于语句“longarm[6],”定义了一个一维数组。关于此数组,下列表述中错误的是(B)。A.数组的名称是armB.数组的最大下标是6C.数组有6个元素D.数组的类型是长整型7.语句“intam[3][4];”定义了一个二维数组。关于此数组,下列表述中错误的是(D)。A.数组的类型是整型 B.最大行下标是2C.最大列下标是3 D.数组有6个元素8.定义函数的格式是:类型修饰符函数名(形参声明表){函数体)其中的语法成分中,不能为空的是(B)。A.类型修饰符 B.函数名C.形参声明表 D.函数体9.关于函数调用中的实参,下列表述中最准确的是(D)。A.实参是一个常量 B.实参是一个变量C.实参是一个类型修饰符 D.实参是一个表达式10.关于指针,下列表述错误的是(D)。A.不指向任何数据的指针称为空指针B.每个指针都对应一个地址C.指针不但标明了某个数据的存储地址,还标明了该数据的类型 D.指针只能用来指向数据11.函数f的原型是“intf(constint*n,double*d);”,且有如下变量定义:intk=4;doublem[]一(1,2,3,4};则下列对f的调用中正确的是(B)。 A.f(k,m) B.f(&k,m) C.f(k,&m) D.f(&k,&m)12.下列类声明中正确的是(D)。A.classma{public:intk;}; B.ClassMa{public:intk;};C.classchar{public:intk;}; D.classChar{};13.关于类的析构函数,下列表述中错误的是(C)。 A.析构函数在对象行将消亡时被调用 B.析构函数用于完成释放对象占用的计算机资源等收尾工作 C.若类对象没有需要完成的收尾工作,该类可以没有析构函数 D.析构函数没有参数14.有如下定义:classMbfpublic:staticintn:);Mbmb,&r—mb;下列表达式试图访问类的静态成员n,其中错误的是(C)。A.mb.n B.r.nC.Mb.n D.Mb::n15.关于函数重载,下列表述中错误的是(B)。 A.函数重载是指定义与已有函数同名的函数 B.重载的函数与已有函数的返回类型必须相同 C.重载的函数必须保证在调用时其参数的个数或类型与已有函数有所不同 D.若是重载类的成员函数,参数表后有无const修饰可以是它们唯一的区别16.下列模板函数声明中正确的是(C)。A.template<typenameT>voidDouble(Tn){returnn+n;}B.template(typenameT)voidDouble<Tn>{returnn+n;}C.template<typenameT>intInt(Tn){returnn;}D.template(typenameT)intInt<Tn>{returnn;}17.关于继承成员的访问属性,下列表述中错误的是(A)。 A.在公有继承方式下,所有继承成员的访问属性保持不变 B.在保护继承方式下,原来的公有属性变为保护属性 C.在私有继承方式下,原来的公有、保护属性变为私有属性 D.在任何继承方式下,原来的私有属性变为继承的私有属性18.关于虚函数,下列表述中错误的是(B)。 A.析构函数可以声明为虚函数 B.构造函数可以声明为虚函数 C.通过指针或引用对虚函数的调用称为多态调用 D.虚函数在派生类重定义后仍然是虚函数,可以进一步重定义19.有如下类模板定义:template<typenameT>classCa{public:Tfa(););要在模板外给出模板类成员函数fa的定义,正确的是(D)。A.Tfa()(return1;)B.template<typenameT>Tfa(){returnl;)C.template<typenameT>TCa::fa()(returnl;)D.template<typenameT>TCa<T>::fa(){returnl;)20.下列标识符中,不属于C++流的预定义流对象的是(B)。 A.cerr B.fstream C.cout D.cin二、填空题(每小题2分,共20分)21.若一个应用程序中只定义了一个函数,则该函数的名称是_____main____________。22.用来表示常量3.25的类型修饰符是____double_____________。23.有如下语句序列:intj=0;docout<<’*’;while(j->0);执行此语句输出的*的个数是______1__________。24.语句“doubleas[100];”定义了一维数组as,其最大下标是_____99___________。25.系统提供的比较两个字符串大小的函数的名称是_________strcmp_________。26.若sizeof(int)的值为4,p是一个int型指针,则表达式p+=3使指针p移动的字节数是__________12_____。27.名为House的类的析构函数的函数名是_____~House____________。28.在+、-、=、*、>这几个操作符中,只能作为成员函数重载的是_____=____________。29.在私有继承方式下,基类的公有成员在派生类中的访问属性是______私有(或private)___________。 30.在C++流中,操作符>>称为_________提取操作符________。三、写出下列程序运行后的输出结果(每小题8分,共24分)31.有如下程序:#include<iostream>usingnamespacestd;classA{intx;y;public;A(){x=0;y=0;}A(inta,intb){x=a;y=b;}~A(){if(x==y)cout<<"x=y"<<endl;elsecout<<"x!=y"<<endl;}voidDisplay(){cout<<”x=”<<x<<”,y=”<<y<<endl;}};voidmain(){Aa1,a2(2,3);A1.Display();a2.Display();}运行此程序的输出是(x=0,y=0X=2,y=3X!=yX=y)。32.有如下程序:#include<iostream>usingnamespacestd;intmain(){intx[]=(2,4,6,8,10,12),a=0;inti=0;while(i<6){s+=x[i];i+=3;)cout<<s;returnO;}运行此程序的输出是(10)。33.有如下程序:#include<iostream>usingnamespacestd;intmain(){intx[]={1,2,3,4,5),*px=x;for(inti=0;i<2;i++)px++;cout<<*px;return0;}运行此程序的输出是(3)。四、写出下列每个函数的功能(每小题8分,共16分)34.intSA(inta,intb){if(a>b)returnl,elseif(a==b)returnO;elsereturn-1,}函数功能:比较两个整数a和b的大小,若a>b则返回1,若a==b则返回0,若a<b则返回-1。35.intLK(inta[],intn){floats=0;inti,for(i=0;i<n;i++)s+=a[i]s/=n;intm=0;for(i=0;i<n;i++)if(a[i]>=s)returnm;}函数功能:求出数组a的n个元素中大于等于平均值的元素个数并返回。试卷代号:1075国家开放大学2019年秋季学期期末统一考试C++语言程序设计试题2020年1月一、单选题(每小题2分,共40分)1.下列实型常量中错误的是(D)。 A.3.25 B.+3.25 C.-3.25E+3 D.3.25e6.12.下列表达式中错误的是(D)。 A.++x B.x- C.(++x)一一 D.++x-3.下列语句中,无意义的语句是(C)。 A.k=3; B.-k; C.k+3; D.k/=3;4.有如下语句:if(x>0)if(x>100)cout《“!!!”;elsecout<<′!′;elseif(x<-302)cout《"???";elsecout<<'?';若x的值为-302,则执行此语句将输出(C)。 A.! B.!!! C.? D.???5.for语句的语法格式可表示为:for(循环初始化;循环条件;循环参数调整)循环体下列关于for语句的表述中,错误的是(D)。 A.循环初始化中定义的变量的作用域仅限于此循环语句 B.循环条件应该是一个逻辑表达式 C.循环参数调整与循环体执行相同的次数 D.循环体至少执行一次6.语句“chardrm[]一{'A′,′B′,′C′,′D'),”定义了一个一维数组。关于此数组,下列表述中错误的是(B)。 A.数组的名称是drm B.元素drm[3]的值是′C' C.数组有4个元素 D.数组的最小下标是07.若要定义一个双精度二维数组data,使其元素的初始值排列如下:A1.12.23.31.12.20.00.00.00.0则下列定义语句中错误的是(D)。 A.doubledata[][3]={{1.1,2.2,3.3},{1.1,2.2}} B.doubledata[3][3]={{1.1,2.2,3.3),{1.1,2.2,0.0}}; Cdoubledata[][3]一“1.1,2.2,3.3},{1,2.2,0.0},{0.0,0.0,0.O}}; D.doubledata[3][3]={{1.1,2.2,3.3},{1.1,2.2}};8.若有如下函数:intval(intn){return(n<=071:n+val(n/2));)则执行语句“cout《val(10);”的输出是(D)。 A.1 B.11 C.15 D.199.下列函数原型中错误的是(A)。 A.intf(intn=0,doubled); B.intf(intn,doubled=0.0); C.intf(intn=0,doubled=0.0); D.intf(int=O,double-0.0);10.要想定义一个指向字符串”Hello!”的指针p,且不允许p改为指向别的字符串,则p应定义为(A)。 A.char*constp='Hello!"; B.constchar*p=“Hello!”; C.charconstp="Hello!” D.constcharp=“Hello!”;11.已知执行了如下两个语句: int*pl=newint(3); int*p2=newint[3],要想释放pl.p2所指向的动态空间,正确的语句序列是(C)。 A.deletepl;deletep2; B.delete[]pl;deletep2; C.deletepl;delete[]p2; D.delete[]pl;delete[]p2;12.有如下类声明:classMyClass{public:charc:};且有如下变量定义:MyClassd,*pd=&d,&rd=d;则下列访问类成员c的表达式中,正确的是(C)。 A.pd.c和rd.c B.pd->c和rd->c C.rd.c和pd->c D.rd->c和pd.c13.关于默认的构造函数,下列表述中错误的是(D)。 A.默认构造函数没有参数或所有参数都有默认值 B.如果类中没有声明任何构造函数,系统将自动生成默认构造函数 C.每个类最多只有一个默认构造函数 D.每个类至少有一个默认构造函数14.有如下定义:classBBfintk:public:BB(intn=0):k(n)()};classAAfBBbb;charcc,public:AA(intb,charc),//b用于初始化bh,c用于初始化ce);要在类体外给出类AA的构造函数的定义,正确的是(B)。 A.AA(intb,charc):bb(b),cc(c)() B.AA::AA(intb,charc):cc(c),bb(b){} CAA(intb,charc){bb.k=b;cc=c;) D.AA::AA(intb,charc){bb.k=b,cc=c;)15.关于操作符重载,下列表述中错误的是(C)。 A.每个重载的操作符是一个操作符函数 B.若重载+,相应操作符函数的名称是operator+ C.通过操作符重载,可以创造出新的操作符 D.重载的操作符不改变原操作符的优先级和结合性16.有如下函数模板声明:template<intn,typenameTl,typenameT2=int>T2add(T1tl){returntl+n,)下列对模板函数add的调用中,错误的是(D)。 A.add<3,int,int>(5)B.add<3,int>(5) Cadd<3>(5)D.add(5)17.关于基类和派生类,下列表述中错误的是(D)。 A.一个基类可以有若干派生类 B.一个派生类可以有若干基类 C.基类是它的所有派生类的共性的体现 D.派生类继承基类的所有非私有成员作为自己的成员18.关于虚函数,下列表述中错误的是(A)。 A.只有用virtual修饰的函数才是虚函数 B.只有类的成员函数才能声明为虚函数 C.在派生类中可以重新定义基类声明的虚函数 D.静态成员函数不得声明为虚函数19.关于类模板,下列表述中错误的是(B)。 A.每一次定义模板类对象时,如果尚无相应的类定义,即刻生成该类的定义 B.类模板的声明、定义属于参考性声明,应放在头文件中 C.模板类可以是派生类,其基类不得是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 科技赋能学生综合素质评价的实践与思考
- 二零二五年度店铺转租合同(含节假日营业优惠)
- 教育技术的新篇章嵌入式教学理论与实践研究
- 2025年度互联网信息服务违约责任规范合同
- 2025年度监控设备维护与智能监控系统优化服务合同
- 2025年度原创文学作品知识产权授权与使用合同
- 2025年度时尚消费品全国经销商加盟合同
- 二零二五年度污水运输与污水处理厂合作运营合同
- 二零二五年度海鲜烧烤餐饮加盟合同
- 二零二五年度粪污处理设施运营维护管理合同
- 2025-2030年中国硫酸钾行业深度调研及投资战略研究报告
- 课题申报参考:社会网络视角下村改居社区公共空间优化与“土客关系”重构研究
- 乡镇卫生院2025年工作计划
- 2024年山东省泰安市初中学业水平生物试题含答案
- 机械工程类基础知识单选题100道及答案解析
- 冠心病课件完整版本
- 2024年卫生资格(中初级)-中医外科学主治医师考试近5年真题集锦(频考类试题)带答案
- 中国大百科全书(第二版全32册)08
- 微生物组与胆汁性肝硬化
- 初中衡水体英语(28篇)
- 斯瓦希里语轻松入门(完整版)实用资料
评论
0/150
提交评论