C++题目含答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

`C++复习资料1、选择题1、若X是一个bool型变量,则X&&53的值(B)A、为trueB、为falseC、与X的值相同D、与X的值相反2、设a=6,执行语句a+=4;得到a的值为(D)A、6B、12C、18D、103、字符串”student”占用(D)个字节的空间。A、7B、6C、5D、84、二维数组intb[][4]={{1,2},{1,2,3},{1,2,3,4}}的元素个数为(A)A、12B、3C、4D、75、下列哪个不是用于实现循环结构的语句(B)A、whileB、ifC、dowhileD、for6、下列表达式为真的是(B)A、53B、2*3=6C、(7==9)&&(40)D、(10!=2+8)||(53)7、设x=5,执行语句if(x0)coutx;的输出结果为(C) A、5B、xC、无输出D、08、执行语句k=30;j=k++;后k和j的值分别为(C)A、k=30,j=30B、k=30,j=31C、k=31,j=30D、k=31,j=319、表达式7%3+5*9-10/2的结果为(D)A、42B、43C、40D、4110、执行cout520endl”520”;屏幕上显示的是(D)A、520endl”520”B、520endl520C、520D、520“520”52011、下列数据属于字符型的是: (C)A、123  B、true C、’c’D、10.512、该for循环语句:for(i=1;i11;i++)sum+=i;中循环体的执行次数为(C)A、8B、9C、10D、1113、对程序段:if(xy)z=1;elsez=3;要得到z=3的结果,满足条件的一组数是(D)A、x=﹣1,y=﹣2B、x=1,y=0C、x=2,y=1D、x=2,y=314.下面是关于构造函数的说法,不正确的是(A)。A.C++规定,每一个类必须有一个构造函数,没有构造函数就不能创建对象B.如果没有提供一个类的构造函数(一个都未提供),则C++提供一个默认的构造函数,该默认构造函数是个无参构造函数,它仅仅负责创建对象C.虽然一个类定义了一个构造函数(不一定是无参构造函数),C++仍然提供默认的构造函数D.与变量定义类似,在用默认构造函数创建对象时,如果创建的是全局对象或静态对象,则对象的位模式全为0,否则,对象值是随机的15.在下列说法中,不正确的是(B)。A.静态成员函数不能利用this指针B.只有非静态成员才可以使用this关键字,因为静态成员没有this指针C.析构函数不接受任何参数,也不带有任何类型的返回值D.虚机制在构造函数和析构函数中仍然可以很好地工作,以实现多态性16.声明类test的拷贝构造函数的正确形式是(D)。A.inttestB.voidtestC.test(void)D.test(test&)17.一个const对象(B)。A.能访问所有成员函数B.只能访问const成员函数C.也能访问volatile成员函数D.能访问const和volatile成员函数18.下面关于类的对象性质的描述,正确的是(D)。A.对象之间不可以相互赋值B.不可以说明指向对象的指针C.对象不能用作数组元素D.一个对象能用作另一个对象的成员19、C++源程序文件的扩展名为(A)A、.CPPB、.CC、.DLLD、.EXE20、下面的函数声明中,哪一个是”voidBC(inta,intb);”的重载函数?(C)A、intBC(inta,intb)B、voidBC(inta,charb)C、floatBC(inta,intb,intc=0)D、voidBC(inta,intb=0)21.如果a=1,b=2,c=3,d=4,则条件表达式“ab?a:cd?c:d”的值为(D)A.3B.2C.1D.422.在inta[][3]={{1},{3,2},{4,5,6},{0}}中,a[2][2]的值是(C)  A.3B。2C。6D。423.已知charc;char*constpc="asdf",(B)是正确的。A.pc="dfgh"B.*pc=‘b’C.*pc++=‘y’D.pc=&c24.执行下列语句后的输出结果是(C )。inthot=100;int&rad=hot;hot+=100;coutradendl;A.0;B。100;C.200;D。300;25.下列对结构及其变量定义错误的是:(D)A.structMyStruct{B。structMyStruct{intnum;intnum;charch;charch;};}my;MyStructmy;C.struct{D。struct{intnum;intnum;charch;charch;}};my;structmy;26.下列关于指针运算的描述错误的是:(A)A.在一定条件下,两个指针可以相加B.在一定条件下,两个指针可以进行关系运算C.在一定条件下,指针可以为空D.在一定条件下,两个指针可以相互赋值27.在C++语言中,对函数参数默认值描述正确的是:(D)A.函数参数的默认值只能设定一个B.一个函数的参数若有多个,则参数默认值的设定可以不连续C.函数参数必须设定默认值D.在设定了参数的默认值后,该参数后面定义的所有参数都必须设定默认值28.不能作为函数重载判断依据的是:(D)A.参数个数B。参数类型C。函数名字D。返回类型29.以下程序的输出结果是:(B)#includeiostream.hvoidprt(int*x,int*y,int*z){cout++*x,++*y,*z++endl;}inta=10,c=20,b=40;voidmain(){prt(&a,&b,&c);prt(&a,&b,&c);}A.11,42,31B。11,41,20C。11,21,40D。11,41,2112,21,4112,42,2011,21,4112,42,2230.以下程序的输出结果是:(D)#includeiostream.hvoidfunc(char**m){++m;cout*mendl;}voidmain(){staticchar*a[]={morning,afternoon,evening};char**p;p=a;func(p);}A.字符o的起始地址B。字符a的起始地址C.字符oD。afernoon31.以下程序的输出结果是:(D)#includeiostream.hintfun(char*s){char*p=s;while(*p!='\0')p++;return(p-s);}voidmain(){coutfun(abc)endl;}A.0B。1C。2D。332.不正确的标识符是( B  )A._a2B.2aiC.a2_iD.INt33.在(C)情况下适宜采用inline定义内联函数。A.函数体含有循环语句B.函数体含有递归语句C.函数代码少、频繁调用D.函数代码多、不常调用34.通过(A)调用虚函数时,采用动态绑定(binding)。A.对象指针B.对象名C.成员名限定D.派生类名35.假定一个类的构造函数为A(intaa,intbb){a=aa++;b=a*bb++;},则执行Ax(4,5);语句后,x.a和x.b的值分别为(C)。A.4和5B.5和4C.4和20D.20和536.在C++中有以下4条语句:staticinthot=200;int&rad=hot;hot=hot+100;coutradendl;执行这4条语句后输出为:(C)。A.0B.100C.300D.20037.对do-whie语言错误的说法是(C)A.可构成多重循环结构B.循环次数不可能为0C.循环次数可能为0D.先执行后判断38.静态成员函数没有(B)A.返回值B.this指针C.指针参数D.返回类型39.在类中说明的成员可以使用关键字(A)进行修饰。A.publicB.externC.cpuD.register40.下列不是描述类的成员函数的是(C)A.构造函数B.析构函数C.友元函数D.拷贝构造函数41.若inta[3]={1,2,3},*p;则下列赋值语句中正确的是(  D )A.p=&a;B.*p=a;C.*(a+1)=a;D.p=a+142.若p1、p2都是指向整型的指针,p1已经指向数量x,要使p2也指向x,正确的是(  A )A.p2=p1;B.p2=**p1;C.p2=&p1;D.p2=*p1;43.在类中说明的成员可以使用关键字(A)进行修饰。A.privateB.externC.autoD.register44.在inta=3,*p=&a;中,*p的值是(D)。A.变量a的地址值B.无意义C.变量p的地址值D.345.假定AB为一个类,则执行ABx;语句时将自动调用该类的(B)。A.有参构造函数B.无参构造函数C.拷贝构造函数D.赋值构造函数46.如果class类中的所有成员在定义时都没有使用关键字pubilc,private,protected,则所有成员缺省定义为:(C)。A.publicB.protectedC.privateD.static47.语句int(*p)();的含义是(A)A.p是一个指向函数的指针变量,该函数的返回值是一个整型数据B.p是指针变量,指向一个整型数据C.p是一个指向一维数据的指针变量D.p是指针函数48.在C++中实现封装是借助于(B)A.枚举B.类C.数组D.函数49.设inta=3,b=4,c=5;表达式(a+b)c&&b==c的值是(C)。A.2B.-1C.0D.150.设intx[]={1,2,3,4,5,6},*p=x;则值为3的表达式是( B ) A.p+=2,*++p B.p+=2,*p++ C.p+=3,*p D.p+=2,++*p51.关于类概念的描述中,( D)是错误的。A.类是抽象数据类型的实现;B.类是具有共同行为的若干对象的统一描述体;C.类是创建对象的样板; D.类不是C++中的一种数据类型;52.在32位机中,double型字宽为(D )字节。A.2;B.4;C.6;D.853.在inta[][3]={{1,0},{3,2},{4,5,6},{0}};中a[2][2]的值是( C )。A.0;B.5;C.6;D.254.对于double(*p)[10];的描述,(A)是正确的。A.p是一个指向数组的指针,所指向的数组是10个double型元素;B.p是一个指向某个数组中第10个元素的指针,该元素是double型变量;C.p[5]表示某个数组的第10个元素的值;D.p是一个具有10个元素的指针数组,每个元素是一个double型指针;55.下述关于开关语句的描述中,(A)是正确的。A.开关语句中default子句可以没有,也可以有一个;B.开关语句中每个语句序列中必须有break语句;C.开关语句中default子句只能放在最后;D.开关语句中case子句后面的表达式可以是整形表达式。56.下列( D )是引用调用;A.形参是指针,实参是地址值;B.形参和实参都是变量;C.形参是数组名,实参是数组名;D.形参是引用,实参是变量。57.(A)是析构函数的特征。A.一个类中只能定义一个析构函数;B.析构函数与类名不同;C.析构函数的定义只能在类体内;D.析构函数可以有各个或多个参数。;58.关于new运算符的下列描述中,(D)是错的。A.它可以用来动态创建对象和对象数组;B.使用它创建的对象或对象数组可以使用运算符delete删除;C.使用它创建对象时要调用构造函数;D.使用它创建对象数组时必须指定初始值。59.已知fun(int)是类Test的公有成员函数,p是指向成员函数fun()的指针,采用(D )是正确的:A.p=fun;B.p=Test::fun();C.p=fun();D.p=Test::fun;60.关于对象概念的描述中,(A)是错误的。A.对象就是C语言中的结构变量;B.对象代表着正在创建的系统中的一个实

1 / 26
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功