版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《C++开发基础》知识点必考必练题(含答案)单选题1.作用域运算符“::”的功能是()A、标识作用域的级别B、指出作用域的范围C、给定作用域的大小D、标识成员是属于哪个类参考答案:B2.字面常量42、4.2、42L的数据类型分别是()。A、long、doubleintB、long、float、intC、int、double、longD、int、float、long参考答案:D3.字符串“a+b=12\n\t”的长度为()。A、12B、10C、8D、6参考答案:C4.转义字符“反斜杠线”的表示方法正确的是()。A、‘\’B、\C、“\”D、‘\\’参考答案:D5.重新定义标识符的作用域规定是外层变量被隐藏,()变量是可见的。A、外层B、内层C、外层和内层D、内部参考答案:B6.执行语句序列intn;cin>>n;switch(n){case1:case2:cout<<'1';case3:case4:Cout<<'2';break;default:cout<<'3';}时,若键盘输入1,则屏幕显示()(题)A、12B、1C、2D、3参考答案:A7.执行语句序列inta=10,b=15,c;c=a||(a+=b)||(++b);后,变量a、b和c的值分别为()。A、10,15,1B、25,16,1C、10,15,10D、25,15,1参考答案:A8.执行语句for(inti=50;i>1;--i)coutA、48B、49C、50D、51参考答案:B9.执行语句boolx=5;inta=x==5;变量a的值为()。A、0B、1C、5D、false参考答案:A10.执行下列语句后,输出的结果是()。#include<iostream>Usingnamespacestd;Intmain(){Inta=3,b=5;Floatc=b/a;Cout<<c<<endl;Return0;}(题)A、1B、1.66666C、1.0D、1.7参考答案:A11.执行下列语句后,x的值是(d),y的值是()。Intx,y;X=y=1;++x||++y;A、不确定B、0C、1D、2参考答案:C12.执行下列代码,程序的输出结果是(用下划线表示空格):()inta=29,b=100;coutA、29_100B、_29_100C、29100D、_29100参考答案:D13.执行下列程序后,屏幕的输出是()。#include<iostream>Usingnamespacestd;Voidswap(intA,intb){Inttemp=a;A=b;B=temp;Cout<<"a="<<a<<",b="<A、a=2,b=3A=3,b=2B、a=3,b=2A=3,b=2C、a=2,b=3A=2,b=3D、a=3,b=2A=2,b=3参考答案:A14.执行完下列语句段后,i值为:()intf(intx){return((x>0)x*f(x-1):2);}inti;i=f(f(1));A、2B、4C、8D、无限递归参考答案:B15.执+264:291行下列代码,程序的输出结果是:()coutA、ffB、hex:ffC、Hex:ffD、f参考答案:C16.长度为n的非空顺序表,若在第i个位置插入新的元素X,则i的取值范围是1≤i≤n+1,需要移动的元素个数为()A、iB、n-i-1C、n-iD、n-i+1参考答案:D17.在一棵具有5层的满二叉树中结点总数为A、31B、32C、33D、16参考答案:A18.在一棵二叉树中有30个叶子结点,仅有一个孩子的结点有20个,则该二叉树共有()个结点A、79B、76C、56D、81参考答案:A19.在一个链队列中,假定front和rear分别为队首和队尾指针,则删除一个结点的操作为A、rear=rear->next;B、front=front->next;C、rear=front->next;D、front=rear->next;参考答案:B20.在一个单链表head中,若要在指针p所指结点后插入一个q指针所指结点,则执行A、p->next=q->next;?q->next=p;B、q->next=p->next;?p=q;?C、p->next=q->next;?p->next=q;?D、q->next=p->next;?p->next=q;?参考答案:D21.在学习插入排序时,下面和其平均时间复杂度相同的是A、冒泡排序B、希尔排序C、快速排序D、以上说法都不正确参考答案:A22.在下面的do-while循环语句中,其循环体语句被执行的次数为()?inti=0;do{i++;}while(i<10)A、8B、9C、10D、11参考答案:C23.在下面存储类中,()的对象不是局部变量。A、外部静态类B、自动类C、函数形参D、寄存器类参考答案:A24.在面向对象方法中,实现信息隐藏的是依靠()A、对象的继承B、对象的多态C、对象的封装D、对象的分类参考答案:C25.在类外定义成员函数时,::运算符两侧分别连接()A、返回值类型函数名B、返回值类型类名C、函数名类名D、类名函数名参考答案:D26.在公有派生的情况下,派生类中定义的成员函数只能访问原基类的()。A、公有成员和私有成员B、私有成员和保护成员C、公有成员和保护成员D、私有成员、保护成员和公有成员参考答案:C27.在多继承构造函数定义中,几个基类构造函数之间的分隔符号是:A、:B、;C、,D、::参考答案:C28.在对栈存储时,栈结构通常采用的两种存储结构是A、顺序存储结构和链表存储结构B、散列和索引方式C、链表存储结构和数组D、线性链表结构和非线性存储结构参考答案:A29.在编译指令中,嵌入指令是指()A、#includeB、#defineC、#ifD、#else参考答案:A30.在ios中提供控制格式的标志位中,哪个是转换为十六进制形式的标志位?()。A、hexB、octC、decD、left参考答案:A31.在C++中有以下4条语句:staticinthot=200;int&rad=hot;hot=hot+100;coutA、1B、100C、200D、300参考答案:D32.在C++中使用流进行输入输出,其中专用于从键盘进行输入的流是()(题)A、cinB、coutC、cerrD、console参考答案:A33.在C++语言中,引用数组元素时,其数组下标的数据类型允许是()。A、整型常量B、整型表达式C、整型常量或整型表达式D、任何类型的表达式参考答案:C34.在32位机器上,代码段的执行结果为()charx=65;floaty=7.3;inta=100;doubleb=4.5;printf("%d,%d,%d,%d\n",sizeof(x),sizeof(y),sizeof(a),sizeof(b));A、2,2,2,4B、1,2,4,4C、1,4,4,8D、2,4,4,8参考答案:C35.运行如下程序,输出结果为()。#include<iostream>Usingnamespacestd;Intmain(){Intx=1,y=0;If(!x)y++;Elseif(x==0)If(x)y+=2;Elsey+=3;Cout<<y<<endl;Return0;}A、3B、2C、1D、0参考答案:D36.阅读下面的C++代码,关于ptrX,ptrY,ptrZ三个指针,下面说法正确的是()#include<iostream>Usingnamespacestd;ClassBaseX{Public:Virtual~BaseX(){};VirtualvoidFunctionX(){};};ClassClassY:publicBaseX{Public:VirtualvoidFunctionY(){};};ClassFatherZ:publicClassY{};Intmain(){FatherZaObject;BaseX*ptrX=&aObject;ClassY*ptrY=&aObject;FatherZ*ptrZ=&aObject;Return0;}A、ptrX,ptrY,ptrZ的取值相同B、ptrZ=ptrX+ptrYC、ptrX和ptrY不相同D、ptrZ不等于ptrX也不等于ptrY参考答案:A37.有以下程序中:#include<iostream>Usingnamespacestd;Voidmain(){Intm=0,n=0;Charc='B';Cin>>m>>c>>n;Cout<<m<<c<<n;}若从键盘上输入:20A30<回车>,则输出结果是()。(题)A、20A30B、20B30C、30A30D、20A20参考答案:A38.有以下程序:#include<iostream>Usingnamespacestd;Voidmain(){Chara='A',b;Cout<<++a;Cout<<(b=a++)<<endl;}程序运行后的输出结果是()。(题)A、BBB、BCC、ACD、AB参考答案:A39.有以下程序#include<iostream.h>Voidmain(){inti,s=0;For(i=1;i<10;i+=2)s+=i;Cout<<s;}程序执行后的输出结果是()。A、自然数1~9的累加和B、自然数1~10的累加和C、自然数1~9中的奇数之和D、自然数1~10中的偶数之和参考答案:C40.有如下语句序列:ifstreaminfile("DATA.DAT");if(infile.good())cout<<"A";else{cout<<"B";ofstreamoutfile("DATA.DAT");if(outfile.fail())cout<<"C";elsecout<<"D";}若执行这个语句序列显示的是BD,则说明文件DATA.DAT()。A、以读方式打开成功B、以读方式打开失败,但以写方式打开成功C、以读方式打开失败,以写方式打开也失败D、以读方式打开成功,以写方式打开也成功参考答案:B41.有如下类说明:classBase{protected:intamount;public:Base(intn=0):{amount=n;}intgetAmount(){returnamount;}};classDerived:publicBase{protected:intvalue;public:Derived(intm,intn):Base(n){value=m;}intgetData(){returnvalue+amount;}};已知x是一个Derived对象,则下列表达式中正确的是()。A、x.value+x.getAmount()B、x.getData()-x.getAmount()C、x.getData()-x.amountD、x.value+x.amount参考答案:B42.有如下类声明:classA{intx;public:A(intn){x=n;}};classB:publicA{Ay;public:B(inta,intb);};在类体外定义构造函数B,下列选项中正确的是()。A、B::B(intA,intb):x(a),y(b){}B、B::B(intA,intb):A(a),y(b){}C、B::B(intA,intb):x(a),B(b){}D、B::B(intA,intb):A(a),B(b){}参考答案:B43.有如下类模板定义:Template<classT>classBigNumber{Longn;Public:BigNumber(Ti):n(i){}BigNumberoperator+(BigNumberb){ReturnBigNumber(n+b.n);}};已知b1,b2是BigNumber的两个对象,则下列表达式中错误的是()?A、3+3B、b1+3C、b1+b2D、3+b1参考答案:D44.有如下定义语句:intaa[][3]={12,23,34,4,5,6,78,89,45};,则45在数组aa中的行列坐标各为()。A、3,2B、3,1C、2,2D、2,1参考答案:C45.有如下程序段:执行这个程序段后输出字符*的个数是()。inti=1;while(1){i++;if(i==30)break;if(i%3==0)coutA、10B、8C、9D、30参考答案:C46.有如下程序段:……For(inti=1;i<4;i++){If(i%2==0)Continue;Cout<<i<<",";}……其输出的结果为()。(题)A、1,B、1,3,C、1,3,4,D、1,3参考答案:B47.有如下程序for(j=0;j<=3;j++)a=1;执行后变量j的值是()A、0B、3C、4D、1参考答案:C48.有如下程序:#includeusingnamespacestd;voidconvert(intd){if(dA、6677889910B、12344321C、67899876D、6789109876参考答案:D49.有如下程序:#includeusingnamespacestd;classBase{protected:Base(){coutA、BB、BAC、ABD、BB参考答案:C50.有如下程序:#include<iostream>Usingnamespacestd;Intmain(){Cout.fill('*');Cout.width(6);Cout.fill('#');Cout<<123<<endl;Return0;}执行后的输出结果是()。(题)A、###123B、123###C、***123D、123***参考答案:A51.有如下程序#include<iostream>Usingnamespacestd;Voidmain(){Inty=3,x=3,z=1;Cout<<(++x,y++)<<""<<z+2<<endl;}运行该程序的输出结果是()。(题)A、34B、42C、43D、33参考答案:D52.有类定义如下:classA{intx,y;public:A(intm=0,intn=0){x=m;y=n;}};classB{Aa1(1);Aa2(2,2);Aa3();Aa4;};则下列描述中正确的是()。A、A类的定义有错B、B类的定义无错C、a1和a2的定义均有错D、a3和a4的定义均有错参考答案:C53.有关运算符重载正确的描述是:A、C++语言允许中重载运算符时改变运算符的操作数个数B、C++语言运行在重载运算符时改变运算符的优先级C、C++语言运行在重载运算符时改变运算符的结合性D、C++语言运行在重载运算符时改变运算符原来的功能参考答案:D54.有关析构函数的说法不正确的是()。A、析构函数有且只有一个B、析构函数和构造函数一样可以有形参C、析构函数的功能是用来释放一个对象D、析构函数无任何函数类型参考答案:B55.友元的作用是()。A、提高程序的运用效率;B、加强类的封装性;C、实现数据的隐藏性;D、增加成员函数的种类;参考答案:A56.友元的作用()。A、提高程序的运用效率B、加强类的封装性C、实现数据的隐藏性D、增加成员函数的种类参考答案:A57.以下正确的说法是()A、结构体类型变量不能初始化。B、结构体类型变量为外部变量或静态变量时能初始化。C、结构体数组不能初始化D、可以用赋值语句将一组常量赋给一个结构体变量参考答案:B58.以下正确的说法是()。A、用户若需要调用标准库函数,调用前必须先定义B、用户可以直接调用标准库函数C、用户可以定义和标准库函数同名的函数,但调用是调用的是系统库函数D、用户可以通过文件包含命令将系统库函数包含到用户源文件中,然后调用库函数参考答案:D59.以下正确的函数定义是()A、doublefun(intx,inty){}B、doublefun(intx;inty){}C、floatfun(int,int){}D、voidfun(intx,y){}参考答案:A60.以下正确的二维数组定义是()。A、inta[][]={1,2,3,4,5,6};B、inta[2][]={1,2,3,4,5,6};C、inta[][3]={1,2,3,4,5,6};D、inta[2,3]={1,2,3,4,5,6};参考答案:C61.以下循环体的执行次数是()。intmain(){inti,j;for(i=0,j=1;i<=j+1;i+=2,j--)cout<A、3B、2C、1D、0参考答案:C62.以下选项中不属于C++语言数据类型的是()。A、signedshortintB、unsignedcharC、unsignedfloatD、unsignedint参考答案:C63.以下选项中不属于C++语言数据类型的是()。A、signedshortB、unsignedcharC、unsignedfloatD、unsignedint参考答案:C64.以下叙述中错误的是()。A、C++语言源程序经编译后生成后缀为.obj的目标程序B、C++语言经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件C、用C++语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中D、C++语言的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令参考答案:D65.以下叙述正确的是()。A、构造函数调用虚函数采用动态联编B、构造函数可以说明为虚函数C、当基类的析构函数是虚函数时,它的派生类的析构函数也是虚函数D、析构函数必须是虚函数参考答案:C66.以下说法中不正确的是()A、C++程序中必须有一个主函数main(),而且是从main()的第一条语句开始执行B、非主函数都是在执行主函数时,通过函数调用或嵌套调用而得以执行的C、主函数可以在任何地方出现D、主函数必须出现在固定位置参考答案:D67.以下哪个GCC编译环境下的链接器A、ldB、link参考答案:A68.以下基类中的成员函数表示纯虚函数的是()A、virtualvoidtt()=0B、voidtt(int)=0C、virtualvoidtt(int)D、virtualvoidtt(int){}参考答案:A69.以下关于this指针的描述正确的是()。A、this指针指向的是1个类B、this指针指向的是1个类对象C、this指针必须在类中显式的实现后才能使用D、可以通过类的对象名来调用this指针参考答案:B70.以下代码执行后,a、b、c的值分别为()。inta=8,b=10,c=3;if(a>b)c=a,a=b,b=c;A、10108B、1088C、1033D、8103参考答案:B71.以下程序段的运行结果是()。Hara[]={‘a’,‘b’,‘\0’,‘c’,‘\0’}Printf(""%s"",a);"A、‘a’‘’b’B、abC、abcD、ab0c0参考答案:B72.以下程序的输出结果为()。Inta[3][3]={0,1,2,0,1,2,0,1,2},t=1;For(inti=0;i<3;i++)For(intj=i;j<=i;j++)T=t+a[i][a[j][j]];Printf(""%d\n"",t);A、3B、4C、1D、9参考答案:B73.以下程序的输出结果是#include<iostream>Voidmain(){char*p[10]={”abc”,"aabdfg",’’dcdbe","abbd","cd"};Cout<A、dcdbeB、abbdC、abcD、abb参考答案:B74.以下程序inta=15;a>>2;则a的值变为()。A、3B、15C、13D、2参考答案:A75.已知有如下函数模板定义:Template<classT>Tmax(TA,Tb){If(a>b)returna;Elsereturnb;}则下列函数调用有错误的是()。A、max(1,2)B、max(’a’,’b’)C、max(1.0,2)D、max(3.1,4.5)参考答案:C76.已知有定义:chars[20];,以下语句中不能从键盘上将多个字符输入到数组s的是()。A、cin.getline(s,20);B、cin>>s;C、for(i=0;i>s[i];D、cin.get(s);参考答案:D77.已知以下代码:ClassA{}ClassB:publicA{}Aa;Bb;则以下说法正确的是()。A、赋值方式a=b是允许的B、赋值方式b=a是允许的C、a可以访问类B的所有成员D、a可以访问b的所有public成员参考答案:A78.已知以下代码:1classA2{3public:4inta;5public:6A(){f();}7virtualvoidf()=0;8voidfun();}则有错误的语句是()。"A、4B、6C、7D、8参考答案:B79.已知某二叉树的前序为(1-2-3-4-5-6-7-8-9),中序为(2-3-1-6-7-8-5-9-4),则它的后序为A、3-2-8-7-6-9-5-4-1B、1-2-6-5-4-3-8-7-9C、5-4-2-1-3-7-6-9-8D、5-4-2-1-3-7-6-9-8参考答案:A80.已知类A,a1和a2是类A的两个对象,x是A类的静态数据成员,则以下说法正确的是()。A、a1.x、a2.x、A::x是3个不同的变量B、a1.x和a2.x是相同的变量,A::x与它们不同C、a1.x、a2.x、A::x是相同的变量D、x在程序运行期间的值不能改变参考答案:C81.已知结构类型:Structstudent{Intnum;Charname;Floatscore;Charsex;}Stu;则sizeof(Stu)的值为()。A、4B、16C、12D、10参考答案:B82.已知基类Employee只有一个构造函数,其定义如下Employee::Employee(intn):id(n){}Manager是Employee的派生类,则下列对Manager的构造函数的定义中,正确的是()。A、Manager::Manager(intn):id(n){}B、Manager::Manager(intn){id=n;}C、Manager::Manager(intn):Employee(n){}D、Manager::Manager(intn){Employee(n);}参考答案:C83.已知函数swap的定义为:voidswap(int&a,int&b){intt=a;a=b;b=t;}要交换变量x和y的值,下列调用方式正确的是:A、swap(x,y);B、swap(*x,*y);C、swap(&x,&y);D、swap(x[],y[]);参考答案:A84.已知函数f的原型是:voidf(int*a,long&b);变量v1、v2的定义是:intv1;longv2;,正确的调用语句是()。A、f(v1,&v2);B、f(v1,v2);C、f(&v1,v2);D、f(&v1,&v2);参考答案:C85.已知二叉树后序遍历序列是bfegcda,中序遍历序列是badefcg,它的前序遍历序列是:A、abcdefgB、abdcefgC、adbcfegD、abecdfg参考答案:B86.已知定义int*p[3],则以下说法正确的是()。A、定义了1个int类型的指针变量,该变量具有3个指针B、定义了1个指针数组,该数组有3个元素,每个元素都是int类型的指针变量C、定义了1个名为*p的int类型数组,该数组含有3个int类型的变量D、定义了1个指向一维数组的指针变量p,该一维数组有3个int类型的元素参考答案:B87.已知print()函数是一个类的常成员函数,它无返回值,下列表示中正确的是A、voidprint()const;B、constvoidprint();C、voidconstprint();D、voidprint(const);参考答案:A88.已知n是一个int型变量,下列语句中错误的是()。A、long*p=newlong[n];B、longp[n];C、long*p=newlong(n);D、longp[10];参考答案:B89.已知intx=5;执行下列语句后,x的值为()。X+=x-=x*x;A、25B、40C、-40D、20参考答案:C90.已知inti=0,x=1,y=0;在下列选项使i的值变成1的语句是()。A、if(x&&y)i++;B、if(x==y)i++;C、if(x||y)i++;D、if(!x)i++;参考答案:C91.已知inta=3;,则执行完表达式a+=a-=a*a后,a的值是()。A、-3B、9C、-12D、6参考答案:C92.已知inta[10],*p=a;,则下列对数组a中元素正确的引用是()。A、a[10]B、a+5C、*(a+10)D、*(p+5)参考答案:D93.已知:chara[20]="abc",b[20]="defghi";则执行下列语句后的输出结果为()。Cout<<strlen(strcpy(a,b));A、1B、6C、5D、以上答案都不正确参考答案:B94.一趟排序结束后不一定能够选出一个元素放在其最终位置上的是()A、冒泡排序B、快速排序C、希尔排序D、以上说法都正确参考答案:C95.一棵树深度为K的完全二叉树至少有多少个结点A、2^k-1B、2^(k-1)-1C、2^(k-1)D、2^k参考答案:C96.一个最简单的C++程序,可以只有一个()。A、库函数B、自定义函数C、main函数D、空函数参考答案:C97.一个栈的入栈序列为1,2,3,...,n,其出栈序列是p1,p2,p3,...pn。若p2=3,则p3可能取值的个数是()A、n-3B、n-2C、n-1D、无法确定参考答案:C98.一个类的静态数据成员所表示属性()。A、是类的或对象的属性B、只是对象的属性C、只是类的属性D、类和友元的属性参考答案:C99.要求打开文件D:\file.dat,并能够写入数据,正确的语句是()。A、ifstreaminfile(“D:\\file.dat”,ios::in);B、ifstreaminfile(“D:\\file.dat”,ios::out);C、ofstreamoutfile(“D:\\file.dat”,ios::in);D、fstreaminfile(“D:\\file.dat”,ios::in|ios::out);参考答案:D100.循环队列A[0..m-1]存放其元素值,用front和rear分别表示队头和队尾,则当前队列中的元素数是A、(rear-front+m)%mB、rear-front+1C、rear-front-1D、rear-front参考答案:A101.循环while(inti=0)i--;执行次数是(A)。A、0B、1C、5D、无限参考答案:A102.写数据抽象为从流中()数据A、插入B、替换C、提取D、删除参考答案:A103.下述关于开关语句的描述中,()是正确的。A、开关语句中default子句可以没有,也可以有一个;B、开关语句中每个语句序列中必须有break语句;C、开关语句中default子句只能放在最后;D、开关语句中case子句后面的表达式可以是整形表达式参考答案:A104.下述程序中,含有错误的行是()。A、1行B、2行C、3行D、4行参考答案:B105.下面有关类说法不正确的是()A、一个类可以有多个构造函数B、一个类只有一个析构函数C、析构函数需要指定参数D、在一个类中可以说明具有类类型的数据成员参考答案:C106.下面那个不属于编译器A、gccB、msvcC、clangD、vscode参考答案:D107.下面描述哪一个是错误的()A、c++中引用类型不可以作为函数的返回类型B、一个变量最好只定义一个引用C、sizeof(double*)=4D、sizeof(int*)=4参考答案:A108.下面关于数组的初始化正确的是()。A、charstr[]={‘a\',’b\',\'c‘}B、charstr[2]={\'a\',\'b\',\'c’}C、charstr[2][3]={{\'a‘,\'b’},{’e’,\'d’},{’e’,‘f\'}}D、charstr[]={\'a\',\'b\',\'c’}参考答案:A109.下面关于类的成员函数描述不正确的是:()A、静态成员函数内可以直接访问类的非静态成员数据B、静态成员函数内可以直接访问类的静态成员数据C、非静态成员函数可以直接访问类的非静态成员数据D、非静态成员函数可以直接访问类的静态成员数据参考答案:A110.下面关于对象概念的描述中错误的是()A、任何对象都必须有继承性B、对象是属性和方法的封装体C、对象间的通信靠消息传递D、操作是对象的动态属性参考答案:A111.下面关于C++lambda表达式说法正确的有A、[capture](params)->ret{body}这是一个完整的lambda表达式形式B、capture值为[a,&b]表示a变量以值的方式呗捕获,b以引用的方式被捕获C、capture为[=]表示不捕获外部的任何变量D、lambda表达式是属于C++14的新特性参考答案:B112.下面对析构函数的正确描述是()。A、系统不提供默认的析构函数B、析构函数必须由用户定义C、析构函数没有参数,也没有返回值D、析构函数可以设置默认参数参考答案:C113.下面对数组的初始化,不合法的是()。A、inta[2][]={{1},{2,3,4}};B、inta[4]={1,2,3};C、chars[]={'\013','\0','\n','\0'};D、chars[]="abcde";参考答案:A114.下面程序执行后的输出结果是()。#includeusingnamespacestd;#defineN20voidfun(inta[],intn,intm){inti;for(i=m;i>=n;i--)a[i+1]=a[i];}intmain(){inti;inta[N]={1,2,3,4,5,6,7,8,9,10};fun(a,1,5);for(i=0;i<5;i++)cout<A、10234B、12344C、12334D、12234参考答案:D115.下面程序输出结果为()。#include#includeusingnamespacestd;intmain(){charst[20]="hello\0\t\\";cout<A、520helloB、1220hello\0\tC、520hello\tD、1120hello参考答案:A116.下面程序输出的结果是()。Intmain(){inti;Inta[3][3]={1,2,3,4,5,6,7,8,9};For(i=0;i<3;i++)Cout<<a[2-i][i];Return0;}A、159B、753C、357D、591参考答案:B117.下面程序的输出结果为()#includeusingnamespacestd;unsignedfunc(unsignednum){unsignedd=1,k;do{k=num%10;num/=10;}while(num);return(k);}intmain(){unsignedn=26;coutA、6B、4C、2D、5参考答案:C118.下面程序的输出结果是()。#include<iostream>Usingnamespacestd;Intfun(char*);Intmain(){Cout<<fun("hello");Return0;}Intfun(char*s){Char*t=s;While(*t!='\0')t++;Return(t-s);}(题)A、5B、6C、0D、语法错误参考答案:A119.下面不是栈的基本运算A、删除栈顶元素B、删除栈底元素C、入栈D、栈置空参考答案:B120.下面()项是对构造函数和析构函数的正确定义。A、voidX::X(),voidX::~X()B、X::X(参数),X::~X()C、X::X(参数),X::~X(参数)D、voidX::X(参数),voidX::~X(参数)参考答案:B121.下面()数据结构常用于函数调用。A、队列B、栈C、链表D、数组参考答案:B122.下面()不是抽象类的特性。A、可以定义纯虚函数B、不能定义抽象类的对象C、用做基类,提供公共的接口D、可以定义虚构造函数参考答案:D123.下列语句将输出字符'*'的个数为()。inti=100;while(1){i--;if(i==0)break;Cout<<'*';}(题)A、99B、98C、100D、101参考答案:A124.下列有关内联函数的叙述中,正确的是()。A、内联函数在调用时发生控制转移B、内联函数必须通过关键字inline来定义C、内联函数是通过编译器来实现的D、内联函数函数体的最后一条语句必须是return语句参考答案:C125.下列有关继承和派生的叙述中,正确的是()。A、派生类不能访问基类的保护成员B、作为虚基类的类不能被实例化C、派生类应当向基类的构造函数传递参数D、虚函数必须在派生类中重新实现参考答案:C126.下列有关函数的说法正确的是()。A、在C++语言中,若对函数类型未加说明,则系统隐含类型为void。B、C++函数必须有返回值,否则无法使用。C、C++函数既可以嵌套定义,又可以可递归调用。D、C++函数中,形式参数必须指定为确定的类型。参考答案:D127.下列有关delete的描述中,错误的是()。A、delete是运算符B、它必须用于new返回的指针C、delete[]可以删除任意维的动态数组D、对一个指针可以连续使用多次delete参考答案:D128.下列有关C++流的表述中,错误的是()。A、利用C++流进行输入操作时,eof()函数用于检测是否到达文件尾B、C++流操作符endl可以实现输出的回车换行C、C++流操作符setw设置的输出宽度永久有效D、利用C++流处理文件输入输出时,须包含头文件fstream参考答案:C129.下列选项中不能作为C++用户标识符为()。A、MainB、sizeofC、_intD、Return参考答案:B130.下列选项中,合法的字符常量是()。A、‘x’(注:半角)B、’xxx’C、"x"D、68参考答案:D131.下列选项中,()不能交换变量a和b的值。(题)A、a=b;b=a;B、t=b;b=a;a=t;C、a=a+b;b=a-b;a=a-b;D、t=a;a=b;b=t;参考答案:A132.下列选项中,()不.能.交换变量a和b的值。A、t=b;b=a;a=t;B、a=a+b;b=a-b;a=a-b;C、t=a;a=b;b=t;D、a=b;b=a;参考答案:D133.下列叙述中错误的是()。A、一个函数中可以有多条return语句B、函数中通过return语句传递函数值C、调用函数必须在一条独立的语句中完成D、主函数名main也可以带有形参参考答案:C134.下列叙述中,正确的是()。A、只能在循环体内和switch语句体内使用break语句B、continue语句的作用是结束整个循环C、在循环体内使用break语句和continue语句可以起到同样的作用D、从多重循环中退出时,只能使用goto语句参考答案:A135.下列为文件的扩展名,能被计算机直接执行的是()。A、cppB、oC、exeD、h参考答案:C136.下列为纯虚函数的正确声明的是()A、voidvirtualprint()=0;B、virtualvoidprint()=0;C、virtualvoidprint(){};D、virtualvoidprint()\;参考答案:B137.下列说法中错误的是()。A、静态局部变量的初值是在编译时赋予的,在程序执行期间不再赋予初值B、若全局变量和某一函数中的局部变量同名,则在该函数中,此全局变量被屏蔽C、静态全局变量可以被其他的编辑单位所引用D、所有自动类局部变量的存储单元都是在进入这些局部变量所在的函数体(或复合语句)时生成,退出其所在的函数体(或复合语句)时消失参考答案:C138.下列说法正确的是()。A、字符型数组与整型数组可通用B、字符型数组与字符串其实没什么区别C、字符串的输出可以用存储它的数组来输出,也可以字符串的形式整体输出,结果没区别D、当字符串放在字符数组中,这时要求字符数组长度比字符串长1个单元,因为要放字符串终结符'\0’参考答案:D139.下列数组定义语句中,不合法的是()。A、inta[3]={0,1,2,3};B、inta[]={0,1,2};C、inta[3]={0,1,2};D、inta[3]={0};参考答案:A140.下列设置函数参数默认值的说明语句中,错误的是()。A、intfun(intx,inty=10)B、intfun(intx=5,int=10)C、intfun(intx=5,inty)D、intfun(intx,inty=a+b)参考答案:C141.下列排序算法中,已基本有序却反而变得更复杂的排序算法是:()。A、冒泡排序B、快速排序C、简择排序D、插入排序参考答案:B142.下列关于文件流的描述中,正确的是()。A、文件流只能完成针对磁盘文件的输入输出B、建立一个文件流对象时,必须同时打开一个文件C、若输入流要打开的文件不存在,将建立一个新文件D、若输出流要打开的文件不存在,将建立一个新文件参考答案:D143.下列关于实参和形参说法错误的是()。A、实参可以是变量、常量、或表达式。B、实参与形参的类型必须一致,否则会发生“类型不匹配”的错误。C、实参对形参的数据传递是单向传递,调用结束后,实参单元被释放。D、形参必须是变量。参考答案:D144.下列关于类定义的叙述中,正确的是()A、类中可以定义成员变量,并赋初值B、类中可以声明成员函数,并可以给出参数的默认值C、类体不能为空,即必须定义成员变量及成员函数D、类中仅能包含成员变量参考答案:B145.下列关于类的权限描述错误的是()A、类本身的成员函数可以访问自己定义的任何成员B、类的对象只能访问公有成员C、普通函数只能通过对象访问类的公有成员D、一个类不能包含另一个类的对象作为成员参考答案:D146.下列关于类的权限的描述错误的是()A、类本身的成员函数只能访问自身的私有成员B、类的对象只能访问该类的公有成员C、普通函数不能直接访问类的公有成员,必须通过对象访问D、一个类可以将另一个类的对象作为成员参考答案:A147.下列关于函数重载的叙述中,错误的是()。A、重载函数的参数个数可以不同B、重载函数的参数类型可以不同C、重载函数的返回值类型必须不同D、重载函数的参数个数或参数类型必须有所不同参考答案:C148.下列关于函数默认参数值的叙述中,正确的是()。I)函数参教的默认值可以是表达式II)只能在函数声明时设置函数参数的默认值III)设置函数参数默认值时,应该从右至左依次设置A、仅I、IIIB、仅IC、仅I、IID、仅III参考答案:A149.下列关于对象初始化的叙述中,正确的是()。A、定义对象的时候不能对对象进行初始化B、定义对象之后可以显式地调用构造函数进行初始化C、定义对象时将自动调用构造函数进行初始化D、在一个类中必须显式地定义构造函数实现初始化参考答案:C150.下列关于动态联编的描述中,错误的是()。A、动态联编是以虚函数为基础B、动态联编是运行时确定所调用的函数代码的C、动态联编调用函数操作是指向对象的指针或对象引用D、动态联编是在编译时确定操作函数的参考答案:D151.下列关于单目运算符++、--的叙述中正确的是()。A、它们的运算对象可以是任何变量和常量B、它们的运算对象可以是char型变量和int型变量,但不能是float型变量C、它们的运算对象可以是int型变量,但不能是double型变量和float型变量D、它们的运算对象可以是char型变量、int型变量和float型变量参考答案:B152.下列关于this指针的叙述中,正确的是()。A、任何与类相关的函数都有this指针B、类的成员函数都有this指针C、类的友元函数都有this指针D、类的非静态成员函数才有this指针参考答案:D153.下列关于switch语句的描述中,不正确的是()。A、switch语句中的default子句可以没有,也可以有一个B、switch语句中的每一个case子句中必须有一个break语句C、switch语句中的default子句可放在switch语句中的任何位置D、switch语句中的case子句后面的表达式只能是整型、字符或枚举类型常量参考答案:B154.下列关于C++流的叙述中,正确的是()。A、与键盘、屏幕、打印机和通信端口的交互都可以通过流类来实现B、cin是一个预定义的输入流类C、输出流有一个名为open的成员函数,其作用是生成一个新的流对象D、从流中获取数据的操作称为插入操作,向流中添加数据的操作称为提取操作参考答案:A155.下列关于C++函数的说明中正确的是()。A、内联函数就是定义在另一函数体内部的函数。B、函数体的最后一条语句必须是RETURN语句。C、标准C++要求在调用一个函数之前,必须先声明其原型。D、编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式。参考答案:D156.下列各组类型声明符中,含义相同的一组是()。(题)A、signedshortint和shortB、unsignedlongint和longC、unsignedshort和shortD、shortint和int参考答案:A157.下列各函数中,()不是类的成员函数。A、构造函数B、析构函数C、友元函数D、拷贝构造函数参考答案:C158.下列符号中可以用作C++标识符的是()。(题)A、radiusB、foo~barC、elseD、3room参考答案:A159.下列符号中不属于C++关键字的是()。(题)A、byteB、friendC、namespaceD、continue参考答案:A160.下列访问成员的方式哪个是正确的()A、对象名.对象成员名B、对象指针名.对象成员名C、对象名->对象成员名D、类名->对象成员名参考答案:A161.下列对于指针的描述错误的是()。A、地址就是指针B、指针不能用除0以外的常量赋值C、两个指针变量的加法无意义D、指向不同基类型的指针变量占用内存空间大小不同参考答案:D162.下列对引用的陈述中不正确的是()。A、每一个引用都是其所引用对象的别名,因此必须初始化B、形式上针对引用的操作实际上作用于它所引用的对象C、一旦定义了引用,一切针对其所引用对象的操作只能通过该引用间接进行D、不需要单独为引用分配存储空间参考答案:C163.下列对继承的描述中,错误的是()。A、派生类对象不能访问基类的保护成员B、派生类对基类成员的访问权限随着继承方式而改变C、派生类成员可以访问基类的私有成员D、派生类继承了基类的所有成员参考答案:C164.下列对构造函数和析构函数的描述中,错误的是()。A、析构函数可以重载B、析构函数名与类名相同C、构造函数中可以设置参数的缺省值D、类中只有一个析构函数参考答案:A165.下列对二维数组a的正确定义是()。A、inta['A']['B'];B、floata[3,4];C、doublea[1][];D、floata(3)(4);参考答案:A166.下列程序的输出结果为()intmain(){intm=7,n=4;floata=38.4,b=6.4,x;x=m/2+n*a/b+1/2;printf("%f\n",x);return0;}A、27.000000B、27.500000C、28.000000D、28.500000参考答案:A167.下列程序的输出结果是()复制代码#include<iostream>Usingnamespacestd;Intmain(void){Intx=1,i=1;For(;x<50;i++){If(x>=10)Break;If(x%2!=0){X+=3;Continue;}X-=-1;}Cout<<x<<''<<i<<endl;Return0;}A、127B、116C、126D、117参考答案:C168.下列程序的输出结果是()。#includeusingnamespacestd;voidmain(){chara[]="Hello,World";har*ptr=a;while(*ptr){if(*ptr>='a'&&*ptrA、HELLO,WORLDB、Hello,WorldC、hELLO,wORLDD、hello,world参考答案:A169.下列程序的输出结果是()。#includeusingnamespacestd;intfun(inta,intb){staticintm,i=2;i+=m+1;m=i+a+b;return(m);}intmain(){intk=4,m=1,p;p=fun(k,m);cout<A、8,17B、8,16C、8,20D、8,8参考答案:A170.下列程序的输出结果是()。#includeusingnamespacestd;intd=1;voidfun(intp){intd=5;d+=p++;coutA、84B、96C、94D、85参考答案:A171.下列不是函数重载所要求的条件是()A、函数名相同B、参数个数不同C、参数类型不同D、函数返回值类型不同参考答案:D172.下列表达式,哪一是声明P为指向常量的指针()A、constint*pB、int*constp;C、constint*constpD、int*p参考答案:A173.下列for循环的循环体执行次数为()。For(inti(0),j(10);i=j=4;i++,j--)A、0;B、1;C、4;D、无限;参考答案:D174.系统在处理完一个异常后,下一步是()。A、返回抛出异常的地方,执行下一句B、执行当前异常处理语句的catch语句块的下一句C、转到主函数结束的地方D、异常退出参考答案:B175.文件流的说法正确的是A、输出文件流是从外存文件流向内存的数据B、输入文件流是从内存流向外存文件的数据C、每一个文件流都有一个内存缓冲区与之对应D、以上说法都正确参考答案:C176.为了提高程序的运行速度,可将不太复杂的功能用函数实现,此函数应选择()。A、内联函数B、重载函数C、递归函数D、函数模板参考答案:A177.为了使类中的某个成员能够被类的所有对象共享,应该将该类成员定义为()。A、常成员B、静态成员C、公有成员D、保护成员参考答案:B178.图的邻接矩阵存储正确的是A、定义一个数组用来存储顶点和边信息B、定义一个数组用来存储权重C、定义两个数组存储顶点和边信息D、以上说法都不正确参考答案:C179.通过下面哪种方式存储待排序元素,可以更容易实现快速排序A、顺序存储B、链式存储C、堆D、栈参考答案:A180.所有在函数中定义的变量,连同形式参数,都是()A、全局变量B、局部变量C、静态变量D、寄存器变量参考答案:B181.所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是()。A、类B、对象C、函数体D、数据块参考答案:A182.所谓多态性是指()A、不同的对象调用不同名称的函数B、不同的对象调用相同名称的函数C、一个对象调用不同名称的函数D、一个对象调用不同名称的对参考答案:B183.数据结构排序算法中比较常见的不稳定排序算法是A、冒泡排序B、折半插入排序C、快速排序D、以上都是稳定的参考答案:C184.适宜采用inline定义函数情况是()A、函数体含有循环语句B、函数体含有递归语句C、函数代码少、频繁调用D、函数代码多、不常调用参考答案:C185.使用重载函数编程序的目的是()。A、使用相同的函数名调用功能相似的函数B、共享程序代码C、提高程序的运行速度D、节省存贮空间参考答案:A186.使用输入输出操作符setw,可以控制()。(题)A、输出宽度B、输出精度C、对齐方式D、填充字符参考答案:A187.使用派生类的主要原因是()A、提高代码的可重用性B、提高程序的运行效率C、加强类的封装性D、实现数据的隐藏参考答案:A188.生成派生类对象时,派生类构造函数调用基类构造函数的条件是()。A、无需任何条件B、基类中显式定义了构造函数C、派生类中显式定义了构造函数D、派生类构造函数明确调用了基类构造函数参考答案:A189.设置虚基类的目的是:()A、简化程序B、消除二义性C、提高运行效率D、减少目标代码参考答案:B190.设有说明constchar*constp="ABCD";,则下列选项中正确的是()A、允许修改指针p本身,且允许通过p修改所指向的数据B、允许修改指针p本身,且禁止通过p修改所指向的数据C、禁止修改指针p本身,且允许通过p修改所指向的数据D、禁止修改指针p本身,且禁止通过p修改所指向的数据参考答案:D191.设有如下定义:int*(*ptr)();则以下叙述中正确的是()A、ptr是指向一维数组的指针变量B、ptr是指向int型数据的指针变量C、ptr是指向函数的指针,该函数返回一个int型数据D、ptr是指向函数的指针,该函数的返回值是指向int型数据的指针参考答案:D192.设有如下程序段:intx=2002,y=2003;coutA、编译时产生出错信息,不能正确输出B、输出2002,2003C、输出值为2002D、输出值为2003参考答案:D193.设有程序段:intk=10;while(k=0)k=k-1;则下面描述中正确的是()A、while循环执行10次B、循环是无限循环C、循环体语句一次也不执行D、循环体语句执行一次参考答案:C194.设已有定义char*st="howareyou”;下列程序中正确的是()。A、chara[11],*p;strcpy(p=a+1,&st[4]);B、chara[11],*p;strcpy(++a,st);C、chara[11],*p;strcpy(a,st);D、chara[],*p;strcpy(p=a[1],st+2);参考答案:A195.设已定义浮点型变量data,以二进制方式把data的值写入输出文件流对象outfile中去,正确的语句是()。A、outfile.write((double*)&data,sizeof(double));B、outfile.write((double*)&data,data);C、outfile.write((char*)&data,sizeof(double));D、outfile.write((char*)&data,data);参考答案:C196.设存在函数intmax(int,int)返回两参数中较大值,若求22,59,70三者中最大值,下列表达式不正确的是()A、intm=max(22,max(59,70));B、intm=max(max(22,59),70);C、intm=max(22,59,70);D、intm=max(59,max(22,70));参考答案:C197.设x为整型变量,不.能.正确表达数学关系1<x<5的C++逻辑表达式是()。A、1<x<5B、x==2||x==3||x==4C、1<x&&x<5D、!(x<=1)&&!(x>=5)参考答案:A198.设x和y均为bool量,则x&&y为真的条件是()。A、它们均为真B、其中一个为真C、它们均为假D、其中一个为假参考答案:A199.设n是描述问题规模的非负整数,下面程序片段的时间复杂度是()。x=2;while(xA、O(log2n)B、O(n)C、O(nlog2n)D、O(n2)参考答案:A200.设intx=2,y=4,z=7;则执行x=y--<=x||x+y!=z后x,y的值分别为()。A、0,3B、1,3C、2,3D、2,4参考答案:B201.设inti=1,j=2;则表达式i+++j的值为()。A、1B、2C、3D、4参考答案:C202.设inta=3,b=4,c=5;表达式a+b>c&&b==c的值是()。A、2B、-1C、0D、1参考答案:C203.设a为5,执行下列语句后,b的值不为2的是()。A、b=a/2B、b=6-(--a)C、b=a%2D、b=a>3?2:1参考答案:C204.设a和b均为double型变量,且a=5.5,b=2.5,则表达式(int)a+b/b的值是()。A、6.500000B、6C、5.500000D、6.000000参考答案:D205.设A、B、C三个字符按先后顺序依次进栈且出栈顺序随意;下面哪个序列为不可能的出栈序列()。A、ABCB、ACBC、BACD、CAB参考答案:D206.若有以下说明语句:structdata{inti;doublef;charch;}b;则理论上计算,结构变量b占用内存的字节数为()。A、1B、2C、8D、13参考答案:D207.若有以下说明,在类外使用对象objX成员的正确语句是()。ClassX{inta;Voidfun1();Public:Voidfun2();};XobjX;A、objX.a=0;B、objX.fun1();C、objX.fun2();D、X::fun1();参考答案:C208.若有以下类Z说明,函数fStatic中访问数据a错误的是()。ClassZ{staticinta;Public:StaticvoidfStatic();};IntZ::a=0;ZobjZ;A、voidZ::fStatic(){objZ.a=1;}B、voidZ::fStatic(){a=1;}C、voidZ::fStatic(){this->a=0;}D、voidZ::fStatic(){Z::a=0;}参考答案:C209.若有以下标志符定义:charc=’c’;inta=4;floatf=3.14;doubled=1.212;则表达式c+a/(int)d+f的结果类型是()A、floatB、charC、intD、double参考答案:D210.若有如下函数声明:voidFun(intx);,则下列()能与该函数进行重载。A、voidFun(inty);B、voidFun(intx,inty='1');C、intFun(intx);D、voidFun(int)const;参考答案:B211.若有如下程序#includeusingnamespacestd;voidfun(int*x,ints,inte){inti,j,t;for(i=s,j=e;iA、0987651234B、3210987654C、9876543210D、4567890123参考答案:D212.若有定义inta[3][5],i,j;(且0≤i<3,0≤j<5),则a[i][j]不正确的地址表示是()。A、&a[i][j]B、a[i]+jC、*(a+i)+jD、*(*(a+i)+j)参考答案:D213.若有定义floatw;intA,b;,则合法的switch语句是()。A、switch(w){case1.0:cout<<"*\n";case2.0:cout<<"**\n";}B、switch(a){case1cout<<"*\n";case2cout<<"**\n";}C、switch(b){case1:cout<<"*\n";default:cout<<"\n";case1+2:cout<<"**\n";}D、switch(a+b);{case1:cout<<"*\n";case2:cout<<"**\n";default:cout<<"\n";}参考答案:C214.若有定义“intx=17;”,则语句“coutA、11B、0x11C、21D、20参考答案:C215.若已经声明了函数原型voidfun(inta,doubleb=0.0);,则下列重载函数声明中正确的是()。A、voidfun(inta=9,doubleb=1.0);B、voidfun(doublea,intB、;C、intfun(inta,doubleB);D、boolfun(inta,doubleb=0.0);参考答案:B216.若一棵二叉树的前序遍历序列和后序遍历序列分别为1,2,3,4和4,3,2,1,则该二叉树的中序遍历序列不会是A、1,2,3,4B、2,3,4,1C、3,2,4,1D、4,3,2,1参考答案:C217.若对n个元素进行直接插入排序,在进行第i趟排序时,假定元素r[i+1]的插入位置为r[j],则需要移动元素的次数为A、j-iB、i-j-1C、i-jD、i-j+1参考答案:D218.若classB中定义了一个classA的类成员Aa,关于类成员的正确叙述是()。A、在类B的成员函数中可以访问A类的私有数据成员B、在类B的成员函数中可以访问A类的保护数据成员C、类B的构造函数可以调用类A的构造函数做数据成员初始化D、类A的构造函数可以调用类B的构造函数做数据成员初始化参考答案:C219.如下输出语句cout<A、8B、3C、4D、9参考答案:B220.如果进栈序列为e1,e2,e3,e4,则不可能的出栈序列是:A、e2,e4,e3,e1B、e4,e3,e2,e1C、e1,e2,e3,e4D、e3,e1,e4,e2参考答案:D221.如果inta=1,b=2,c=3,d=4;,则条件表达式aA、2B、3C、4D、1参考答案:D222.请问对一个排好序的数组进行查找,用平均时间复杂度最小的算法,时间复杂度为()A、O(n)B、O(logn)C、O(nlogn)D、O(1)参考答案:B223.派生类的对象对它的基类成员中()是可以访问的。A、公有继承的公有成员;B、公有继承的私有成员;C、公有继承的保护成员;D、私有继承的公有成员。参考答案:A224.能正确表示逻辑关系:“0≤a≤10”的C++语言表达式是()。A、a<=10anda>=0B、0<=a<=10C、a<=10&&a>=0D、a<=10||a>=0参考答案:C225.能用友元函数重载的运算符是:A、+B、[]C、->参考答案:A226.两个特殊类继承于同一个一般类,它们的同名操作的表现却不相同的现象称为:A、封装B、继承C、多态D、抽象参考答案:C227.类中定义的成员默认为()访问属性。A、publicB、privateC、protectedD、Friend参考答案:B228.类A是类B的友元,类B是类C的友元,则()是正确的。A、类B是类A的友元B、类C是类A的友元C、类A是类C的友元D、以上都不对参考答案:D229.考虑函数原型voidtest(intA,intb=7,charch='*'),下面的函数调用中,属于不合法调用的是()A、test(5)B、test(5,8)C、test(6,'#')D、test(0,0,'*')参考答案:C230.具有5个顶点的无向完全图有几条边A、6B、8C、10D、20参考答案:C231.结构化程序设计所规定的三种基本控制结构是()。A、输入、处理、输出B、树形、网形、环形C、顺序、选择、循环D、主程序、子程序、函数参考答案:C232.假设有宏定义:#defineA3#defineBA+A+A则cout<A、7B、27C、19D、9参考答案:C233.假设已经有定义”constchar*constname="chen";“,下面的语句中正确的是:A、name[3]='a';B、name="lin";C、name=newchar[5];D、cout<<name[3];参考答案:D234.假设已经定义好了类student,现在要定义类derived,它是从student私有派生的,则定义类derived的正确写法是()A、classderived::studentprivate{//,,,,.}B、classderived::studentpublic{//,,,,.}C、classderived::publicstudent{//,,,,.}D、classderived::privatestudent{//,,,,.}参考答案:D235.假设类X以类Y作为它的一个基类,并且X类的名字func()支配Y类的名字func(),obj为类X的对象,则obj.func()语句实现的功能为()。A、先执行类X的func(),再执行访问类Y的func()B、先执行类Y的func(),再执行访问类X的func()C、执行类X的func()D、执行类Y的func()参考答案:C236.假设给出如下的函数声明:voidfunc(intA,intb=2,intc=3);,则下列函数调用正确的是()A、func(1,22,333);B、func();C、func("#",20);D、func(5,,9);参考答案:A237.假设i=2,执行下列语句后i的值为()。Switch(i){case1:i++;Case2:i--;Case3:++i;break;Case4:--i;Default:i++;}A、1B、2C、3D、4参考答案:B238.假设ClassY:publicX,即类Y是类X的派生类,则说明一个Y类的对象时和删除Y类对象时,调用构造函数和析构函数的次序分别为()。A、X,Y,Y,XB、X,Y,X,YC、Y,X,X,YD、Y,X,Y,X参考答案:A239.假如指针p已经指向整型变量x,则(*p)++相当于()。A、x++B、p++C、*(p++)D、&x++参考答案:A240.假定一个类的构造函数为A(intaa,intbb){a=aa--;b=a*bb;},则执行Ax(4,5);语句后,x.a和x.b的值分别为()A、3和15B、5和4C、4和20D、20和5参考答案:C241.假定变量m定义为“intm=7;”,则定义变量p的正确语句()。A、intp=&mB、int*p=&mC、int&p=*mD、int*p=m参考答案:B242.假定AB为一个类,则执行“ABa(2),b[3],*p[4];"语句时共调用该类构造函数的次数为()。A、3B、4C、5D、9参考答案:B243.假定AA为一个类,a()为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数成员a()的格式为()。A、x.aB、x.a()C、x->aD、x->a()参考答案:B244.己知一个顺序存储的线性表,设每个结点需占m个存储单元,若第一个结点的地址al,则第i个结点的地址为A、al+(i-1)*mB、al+i*mC、al-i*mD、al+(i+1)*m参考答案:A245.和顺序栈相比,链栈有一个比较明显的优势是A、通常不会出现栈满的情况B、通常不会出现栈空的情况C、插入操作更容易实现D、删除操作更容易实现参考答案:A246.函数voidfoo(){staticintval;……}变量val的内存地址位于()A、未初始化数据段B、已初始化数据段C、堆D、栈参考答案:A247.函数intsum(inta=1,intb=1,intc=3)可与下列哪个函数同时声明()A、doublesum(int);B、charsum(int,int);C、intsum(double);D、intsum(int,int,int);参考答案:C248.关于以下代码:ClassCGame{Constinti=1;Public:Intf()const{i=3;}};说法正确的是()。"A、该代码编译无法通过B、该代码编译正常通过,变量i的值为3C、该代码编译正常通过,变量i的值为1D、该代码编译正常通过,如果调用函数f则i的值变为3,否则为1参考答案:A249.关于文件包含,下列描述错误的是()A、文件包含命令行必须以#include开头B、文件包含命令行的两种形式是有区别的,当#include后面的文件名用<>括起来时,应该先在源程序所在目录中进行搜索C、文件包含是可以嵌套的,即在被包含的文件中又使用文件包含命令行包含其他文件D、一个#include命令只能包含一个文件,当多个文件需要包含时,应使用多个#include命令行参考答案:B250.关于内联函数说法错误的是()。A、不是任何一个函数都可定义成内联函数。B、内联函数的函数体内不能含有复杂的结构控制语句。C、递归函数可以被用来作为内联函数。D、内联函数一般适合于只有1~5行语句的小函数。参考答案:C251.关于内联函数,以下说法正确的是。()A、内联函数不需要经过编译B、内联函数适用于函数体比较复杂的情况C、内联函数可以提高程序执行效率D、声明内联函数只需要在函数声明前加inline关键字参考答案:C252.关于类和对象不正确的说法是()A、类是一种类型,它封装了数据和操作B、对象是类的实例C、一个类的对象只有一个D、一个对象必属于某个类参考答案:C253.关于类成员函数的重载、覆盖和隐藏,下面说法错误的是()A、重载函数必须要在同一个类中B、派生类函数覆盖基类函数,基类函
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 会员储值卡管理使用细则
- 车间级双重预防机制运行记录
- 肉牛冬季圈舍保暖与保膘方案
- 家政员离职交接管理作业规范
- 低温冷库蔬菜储藏管理规范
- 年度环保督察迎检整改实施方案
- 公司投标工作管理制度
- 辣椒嫁接育苗生产技术规程
- 种子质量检测操作技术规程
- 枣树锈病早期防控用药安全标准
- 气候变化科普课件
- 2025陕西西安航空制动科技有限公司招聘10人笔试历年常考点试题专练附带答案详解试卷2套
- 2025年成都市事业单位考试试题真题及答案
- 云南省烟草专卖局(公司)考试真题2025
- 2025年湖北省教师职务水平能力考试(综合能力测试)历年参考题库及答案
- 2025年无人机教员考试理论题库(夺冠)附答案详解
- 输电线路安全培训课件
- 十年(2016-2025)高考生物真题分类汇编(全国通.用)专题07 有丝分裂和减数分裂(解析版)
- FA投资协议合同范本
- 知识产权基础知识考试题库及答案
- 【政治】2025年高考真题政治-海南卷(解析版-1)
评论
0/150
提交评论