《C++开发基础》核心考点速记速练题(附答案)_第1页
《C++开发基础》核心考点速记速练题(附答案)_第2页
《C++开发基础》核心考点速记速练题(附答案)_第3页
《C++开发基础》核心考点速记速练题(附答案)_第4页
《C++开发基础》核心考点速记速练题(附答案)_第5页
已阅读5页,还剩133页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《C++开发基础》核心考点速记速练题(附答案)单选题1.作用域运算符“::”的功能是()A、标识作用域的级别B、指出作用域的范围C、给定作用域的大小D、标识成员是属于哪个类参考答案:B2.字符数组s不能作为字符串使用的是()。A、chars[]="happy";B、chars[6]={'h','a','p','p','y','\0'};C、chars[]={"happy"};D、chars[5]={'h','a','p','p','y'};参考答案:D3.指出下列对定义重载函数的要求中,错误的是()A、要求参数的个数相同B、要求参数的类型相同时,参数个数不同C、函数的返回值可以不同D、要求参数的个数相同时,参数类型不同参考答案:A4.直接插入排序在最好情况下的时间复杂度为()A、O(logn)B、O(n)C、O(nlogn)D、O(n2)参考答案:B5.直接插入排序的平均时间复杂度为()。A、O(logn)B、O(n)C、O(nlogn)D、O(n2)参考答案:D6.执行语句for(inti=50;i>1;--i)coutA、48B、49C、50D、51参考答案:B7.执行语句boolx=5;inta=x==5;变量a的值为()。A、0B、1C、5D、false参考答案:A8.执行语句:for(i=1;i++A、3B、4C、5D、不定参考答案:C9.执行下列语句后,输出的结果是()。#include<iostream>Usingnamespacestd;Intmain(){Intj;Intm[3][2]={10,20,30,40,50,60};For(j=0;j<2;j++)Cout<<m[2-j][j]<<'';Return0;}A、1030B、2040C、5040D、6040参考答案:C10.执行下列语句后,输出的结果是()。#include<iostream>Usingnamespacestd;Intmain(){Inta=3,b=5;Floatc=b/a;Cout<<c<<endl;Return0;}(题)A、1B、1.66666C、1.0D、1.7参考答案:A11.执行下列代码,程序的输出结果是(用下划线表示空格)()。inta=29,b=100;coutA、29_100B、_29_100C、29100D、_29100参考答案:D12.执行下列程序后,输出结果是()。#include<iostream>Usingnamespacestd;Voidf(intx){If(x){Cout.put(‘0’+x%10);F(x/10);}}Intmain(){F(11001);Return0;}A、11001B、10001C、11100D、10011参考答案:D13.执行下列程序后,输出的结果是()。Floata=1.1234;Doubleb=1.1234;If(a==b)cout<<"equal\n";Elsecout<<"notequal\n";A、equalB、notequalC、equalnotequalD、notequalequal参考答案:B14.执行C++程序时出现的“溢出”错误属于()错误。A、编译B、连接C、运行D、逻辑参考答案:C15.执+264:291行下列代码,程序的输出结果是:()coutA、ffB、hex:ffC、Hex:ffD、f参考答案:C16.栈和队都是A、顺序存储的线性结构B、链式存储的非线性结构C、限制存取点的线性结构D、限制存取点的非线性结构参考答案:C17.在以下一组运算符中,优先级最高的运算符是()。A、<=B、%C、&&参考答案:C18.在一棵具有5层的满二叉树中结点总数为A、31B、32C、33D、16参考答案:A19.在一棵高度为h的具有n个元素的二叉搜索树中,搜索所有元素的搜索长度中最大的为A、nB、log2nC、(h+1)/2D、h+1参考答案:D20.在一个单链表head中,若要删除指针p所指结点的后继结点,则执行A、p=p->next;free(p);?B、p->next=p->next->next;?free(p);?C、q=?p->next?;q->next=p->next;?free(q);?D、q=p->next;?p->next=q->next?;free(q);?参考答案:D21.在循环中使用break语句的功能是()。A、使程序的执行跳出break所在的那一重循环B、使程序执行结束C、跳出包含此break语句的所有循环D、终止本次循环,继续下次循环参考答案:A22.在学习插入排序时,下面和其平均时间复杂度相同的是A、冒泡排序B、希尔排序C、快速排序D、以上说法都不正确参考答案:A23.在下面存储类别中,()变量的可见性与生存期不一致。A、外部B、自动C、内部静态D、寄存器参考答案:C24.在下列运算符中,()优先级最低。A、!B、&&C、!=D、?:参考答案:D25.在下列表示引用的方法中,()是正确的。已知:intk=1000;A、int&x=k;B、char&y;C、int&z=1000;D、float&t=&k;参考答案:A26.在面向对象方法中,不属于“对象”基本特点的是()。(题)A、一致性B、分类性C、多态性D、标识唯一性参考答案:A27.在类外定义成员函数时,::运算符两侧分别连接()A、返回值类型函数名B、返回值类型类名C、函数名类名D、类名函数名参考答案:D28.在开发一个C++程序的过程中,第3个步骤为()。A、链接B、运行C、编辑D、编译参考答案:A29.在多继承构造函数定义中,几个基类构造函数之间的分隔符号是:A、:B、;C、,D、::参考答案:C30.在多继承的构造函数定义中,几个基类构造函数用()分隔A、冒号B、分号C、逗号D、空格参考答案:B31.在对函数进行原型声明时,下列语法成分中,不需要的是()。A、函数返回类型B、函数参数列表C、函数名)D、函数体参考答案:D32.在对n个元素进行直接插入排序的过程中,共需要进行()躺A、nB、n+1C、n-1D、2n参考答案:C33.在单链表中,存储每个结点需要有两个域,一个是数据域,另一个是指针域,指针域指向该结点的()A、直接前趋B、直接后继C、开始结点D、终端结点参考答案:B34.在C程序的源文件中如果需要使用函数strcpy,需要在该文件开头引入哪个头文件()A、iostream.hB、string.hC、math.hD、不需要任何头文件参考答案:B35.在C++中有以下4条语句:staticinthot=200;int&rad=hot;hot=hot+100;coutA、1B、100C、200D、300参考答案:D36.在C++中使用流进行输入输出,其中专用于从键盘进行输入的流是()A、cerrB、cinC、coutD、cfile参考答案:B37.在C++中继承方式有几中()A、1B、2C、3D、4参考答案:C38.在C++中,关于构造、析构函数的自动生成,以下描述错误的是()。A、如果用户没有定义缺省构造函数,则系统自动生成一个空的缺省构造函数B、如果用户没有定义析构函数,系统自动生成一个空的缺省析构函数C、如果用户没有定义拷贝构造函数,则系统自动生成一个拷贝构造函数D、如果用户定义了一个构造函数,不管它是否是缺省构造函数,系统就不会再自动生成缺省构造函数了参考答案:A39.在C++语言中,引用数组元素时,其数组下标的数据类型允许是()。A、整型常量B、整型表达式C、整型常量或整型表达式D、任何类型的表达式参考答案:C40.运行如下程序,输出结果为()。A、3B、2C、1D、0参考答案:D41.有以下语句定义intx=5;constint*constp=&x;constint&q=x;intconst*next=&x;constint*j=&x;则有语法正确的是()A、*p=1;B、q++;C、next++;D、(*j)++;参考答案:C42.有以下程序A、10B、11C、9D、8参考答案:A43.有以下程序#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中的偶数之和参考答案:C44.有以下程序#include"stdio.h"#defineSUB(a)(a)-(a)voidmain(){inta=2,b=3,c=5,d;d=SUB(a+b)*c;printf("%d\n",d);}程序运行后的输出结果是()A、0B、-12C、-20D、10参考答案:C45.有说明Structpoint{intx;inty;}p;正确的赋值语句是()。A、point.x=1;point.y=2;B、point={1,2};C、p.x=1;p.y=2;D、p={1,2};参考答案:C46.有如下类声明:classBASE{intk;public:voidset(intn){k=n;}intget(){returnk;}};classDERIVED:protectedBASE{protected:intj;public:voidset(intm,intn){BASE::set(m);j=n;}intget(){returnBASE::get()+j;}};则类DERIVED中保护的数据成员和成员函数的总个数是()。A、4B、3C、2D、1参考答案:B47.有如下类声明: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){}参考答案:B48.有如下程序intmain(){intn=9;while(n>6)cout<A、987B、876C、8765D、9876参考答案:A49.有如下程序:#includeusingnamespacestd;voidconvert(intd){if(d<10){cout<<d;Convert(d+1);}Cout<<d;}Intmain(){convert(6);Return0;A、6677889910B、12344321C、67899876D、6789109876参考答案:D50.有如下程序:#includeusingnamespacestd;voidconvert(intd){if(dA、6677889910B、12344321C、67899876D、6789109876参考答案:D51.有如下程序:#includeusingnamespacestd;intmain(){intsum;for(inti=0;i<3;i+=1){sum=i;for(intj=i;j<9;j++)sum+=j;}cout<A、37B、39C、110D、17参考答案:A52.有如下程序:#includeusingnamespacestd;classBase{private:voidfun1(){cout<<"fun1";}protected:voidfun2(){cout<<"fun2";}public:voidfun3(){cout<<"fun3";}};classDerived:protectedBase{public:voidfun4(){cout<<"fun4";}};intmain(){Derivedobj;obj.fun1();//①obj.fun2();//②obj.fun3();//③obj.fun4();//④return0;}其中有语法错误的语句是()。A、①②③④B、①②③C、②③④D、①④参考答案:B53.有如下程序:#include<iostream>Usingnamespacestd;Intmain(){Inti,s=0;For(i=1;s<20;i+=2)S+=i*i;Cout<<i<<endl;Return0;}运行这个程序的输出结果是()。A、3B、5C、7D、9参考答案:C54.有如下程序:#include<iostream>#include<stdlib.h>Usingnamespacestd;Intmain(){Inti,n;For(i=0;i<8;i++){n=rand()%5;//rand()为伪随机函数,可产生任意正整数Switch(n){case1:Case3:cout<<n<<endl;break;Case2:Case4:cout<<n<<endl;continue;Case0:exit(0);//exit()为终止程序函数}Cout<<n<<endl;}Return0;}以下有关程序执行情况的叙述,正确的是()。A、for循环语句固定执行8次B、当产生的随机数n为4时结束循环C、当产生的随机数n为1和2不做任何操作D、当产生的随机数n为0时结束程序运行参考答案:D55.有函数原型voidfun4(int&);下面选项中,正确的调用是()。A、inta=2.17;fun4(&a);B、inta=15;fun4(a*3.14);C、intb=100;fun4(b);D、fun4(256);参考答案:C56.友元的作用()。A、提高程序的运用效率B、加强类的封装性C、实现数据的隐藏性D、增加成员函数的种类参考答案:A57.用C++语言编制的源程序要变为目标程序必须要经过()。A、解释B、汇编C、编辑D、编译参考答案:D58.应在下列程序划线处填入的正确语句是()#include<iostream.h>>Usingnamespacestd;ClassBase{public:Voidfun({cout<<"Base::fun"<<ENDL;}};ClassDerived:publicBase{voidfun({__//显示调用基类的函数fun(Cout<<"Derived::fun"<ENDL;}};A、fun0;B、Base.fun();C、Base::fun();D、Base->fun();参考答案:C59.以下字符数组的初始化后不能将s看作字符串处理的是()。A、chars[5]={'A','B','\0','D','E'};B、chars[5]={'A','B','C','D'};C、chars[5]={'A','B','C','D','E'};D、chars[5]=“ABCD”;参考答案:C60.以下正确的说法是()A、结构体类型变量不能初始化。B、结构体类型变量为外部变量或静态变量时能初始化。C、结构体数组不能初始化D、可以用赋值语句将一组常量赋给一个结构体变量参考答案:B61.以下正确的说法是()。A、定义函数时,形参的类型说明可以放在函数体内B、return后边的值不能为表达式C、如果函数值的类型与返回值类型不一致,以函数值类型为准D、如果形参与实参类型不一致,以实参类型为准参考答案:C62.以下正确的二维数组定义是()。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};参考答案:C63.以下有关类与对象的叙述中,错误的是()A、对象是类的一个实例B、一个类可以有多个对象C、任何一个对象都归属于一个具体的类D、只要是某个类的对象,那么该对象就可以访问这个类的所有成员参考答案:D64.以下选项中可作为C++语言合法整数的是()。A、101011B、0286C、0xffaD、x2ba参考答案:A65.以下选项中不属于C++语言数据类型的是()。A、signedshortintB、unsignedcharC、unsignedfloatD、unsignedint参考答案:C66.以下叙述中正确的是()。A、在C++程序中,main函数必须位于程序的最前面。B、C++程序的每行中只能写一个语句。C、C++语言本身没有输入输出语句,输入输出靠调用函数实现。D、C++在对一个C程序进行编译的过程中,可发现注释中的拼写错误。参考答案:C67.以下叙述不正确的是()A、在不同的函数中可以使用同名的变量B、函数中的形式参数是局部变量C、在函数内定义的变量只在本函数范围内有效D、在函数内复合语句中定义的变量也可在本函数范围内有效参考答案:D68.以下死循环的程序段是()。A、intx;for(intx=0;x<3;){x++;};B、intk=0;do{++k;}while(k>=0);C、inta=5;while(a){a--;};D、inti=3;for(;i;i--);参考答案:B69.以下说法中正确的是()。A、C++程序总是从第一个定义的函数开始执行B、C++程序总是从main函数开始执行C、C++函数必须有返回值,否则不能使用函数D、C++程序中有调用关系的所有函数必须放在同一个程序文件中参考答案:B70.以下说法中不正确的是()A、C++程序中必须有一个主函数main(),而且是从main()的第一条语句开始执行B、非主函数都是在执行主函数时,通过函数调用或嵌套调用而得以执行的C、主函数可以在任何地方出现D、主函数必须出现在固定位置参考答案:D71.以下基类中的成员函数表示纯虚函数的是()A、virtualvoidtt()=0B、voidtt(int)=0C、virtualvoidtt(int)D、virtualvoidtt(int){}参考答案:A72.以下关于友元的说法错误的是()。A、友元不是类的成员B、友元必需定义在类的外部C、友元必需在类的内部声明D、友元可以访问类的所有成员参考答案:B73.以下关于this指针的描述正确的是()。A、this指针指向的是1个类B、this指针指向的是1个类对象C、this指针必须在类中显式的实现后才能使用D、可以通过类的对象名来调用this指针参考答案:B74.以下逗号表达式的值为()。(x=4*5,x*5),x+25A、25B、20C、100D、45参考答案:D75.以下代码输出结果为()。Intx=023;Printf("%d\n",--x);A、18B、23C、22D、19参考答案:A76.以下代码片段的输出结果为()。Inta=100,*b=&a;Printf(""%d\n"",*b);"A、无确定值B、a的地址C、100D、b的地址参考答案:C77.以下程序中,while循环的的循环次数为()。A、1B、10C、6D、死循环,不能确定次数参考答案:D78.以下程序运行后的输出结果是()intmain(){intp[7]={11,13,14,15,16,17,18};inti=0,j=0;while(i<7&&p[i]%2==1)j+=p[i++];printf("%d\n",j);}A、23B、24C、25D、26参考答案:B79.以下程序有语法错误,有关错误原因的正确说法是()。Voidmain(){intG=5,k;Voidprt_char();K=prt_char(G);}A、语句voidprt_char();有错,它是函数调用语句,不能用void说明B、变量名不能使用大写字母C、函数说明和函数调用语句之间有矛盾D、函数名不能使用下划线参考答案:C80.以下程序输出结果是()。intmain(){intm=5;if(m++>5)cout<A、7B、6C、5D、4参考答案:B81.以下程序片段输出0011,Area=1。classCRect//定义长方形类{private:intleft,top;//左上角坐标intright,bottom;//右下角坐标public:__(1)()()()_;//设置坐标值,函数原型声明voidgetcoord(int*L,int*T,int&R,int&B)//获取坐标值{__(2)()()();}//可填写多条语句voidprint(){cout<<"Area="<A、(1)处可填写voidsetcoord(int,int,int,int);B、(1)处可填写voidsetcoord(inta,intb,intc,intd);C、(2)处可填写*L=left;*T=top;R=right;B=bottom;D、(2)处可填写*L=left;*T=top;&R=right;&B=bottom;参考答案:D82.以下程序的输出结果为()。Doublea=3333.33333333;Printf(""%f\n"",a);"A、3333.333333B、3333.33333333C、3333D、编译错误参考答案:A83.以下程序inta=15;a>>2;则a的值变为()。A、3B、15C、13D、2参考答案:A84.以下成员函数哪个表示纯虚函数?()A、virtualintvf(int)B、voidvf(int)=0C、virtualvoidvf()=0D、virtualvoidvf(int){}参考答案:C85.以下不正确的定义语句是()。A、doublex[5]={2.0,4.0,6.0,8.0,10.0};B、inty[5]={0,1,3,5,7,9};C、charc1[]={′1′,′2′,′3′,′4′,′5′};D、charc2[]={′\x10′,′\xa′,′\x8′};参考答案:B86.以下不能对二维数组a进行正确初始化的语句是()。A、inta[2][3]={0};B、inta[][3]={{0,1},{0}};C、inta[2][3]={{0,1},{2,3},{4,5}};D、inta[][3]={0,1,2,3,4,5};参考答案:C87.已知有声明语句structstudent{charnum[20],name[20];intage,score[5];}stud;则下列叙述中错误的是()。A、该结构体类型一共有4个成员B、系统会给结构体类型student分配空间C、structstudent和student都可以作为结构体类型标识符D、stud是用户定义的变量名,系统给其开辟空间参考答案:B88.已知有如下定义:structDate{intyear,month,day;};structstudent{intnum;charname[80];Datebirthday;};则下列语句错误的是()。A、studentstud[2]={1,"Wangli",2001,12,3,4,"Zhangmei",2001,9,4};B、studentstud[2]={1,"Wangli",{2001,12,3},4,"Zhangmei",{2001,9,4}};C、studentstud[2]={1,"Wangli",2001,12,4,"Zhangmei",2001,9,4};D、studentstud[2]={1,"Wangli",{2001,12},4,"Zhangmei",{2001,9,4}};参考答案:C89.已知以下代码:1classA2{3public:4inta;5public:6A(){f();}7virtualvoidf()=0;8voidfun();}则有错误的语句是()。"A、4B、6C、7D、8参考答案:B90.已知一程序运行后执行的第一个输出操作是Cout<<setw(10)<<setfill('*')<<1234;则此操作的输出结果是()。(题)A、1234B、******1234C、*********1234D、1234******参考答案:B91.已知类MyClass的定义如下:classMyClass{public:MyClass(intd){data=d;}~MyClass(){}private:intdata;};下列对MyClass类对象数组的定义和初始化语句中,正确的是()。A、MyClassarrays[2];B、MyClassarrays[2]={MyClass(5)};C、MyClassarrays[2]={MyClass(5),MyClass(6)};D、MyClass*arrays=newMyClass[2];参考答案:C92.已知函数f(inta),则以下函数调用正确的是()。A、f(int1)B、f(1)C、f(a)D、f(2.5)参考答案:B93.已知定义int*p[3],则以下说法正确的是()。A、定义了1个int类型的指针变量,该变量具有3个指针B、定义了1个指针数组,该数组有3个元素,每个元素都是int类型的指针变量C、定义了1个名为*p的int类型数组,该数组含有3个int类型的变量D、定义了1个指向一维数组的指针变量p,该一维数组有3个int类型的元素参考答案:B94.已知递归函数f的定义如下:则函数调用语句f(6)的返回值是()。intf(intn){if(nA、24B、6C、12D、48参考答案:D95.已知x=43,ch='A',y=0,则表达式x>=y&&chA、0B、语法错误C、1D、假参考答案:C96.已知Point类中只有一个构造函数,其原型如下:Point(intx=0,inty=0);则下列用来定义Point对象的语句错误的是:A、Pointp1;B、Pointp2();C、Pointp3(3);D、Pointp4(1,3);参考答案:B97.已知inta=3;,则执行完表达式a+=a-=a*a后,a的值是()。A、-3B、9C、-12D、6参考答案:C98.已知inta[10],*p=a;,则下列对数组a中元素正确的引用是()。A、a[10]B、a+5C、*(a+10)D、*(p+5)参考答案:D99.已知int*p,a=10;p=&a;,下列选项中均代表地址的一组选项是()。A、a,p,*&aB、&a,&*p,pC、&*a,&a,*pD、*&p,*p,&a参考答案:B100.已知i=5,j=0,下列各式中运算结果为j=6的表达式是()。A、j=i+(++j)B、j=j+i++C、j=++i+jD、j=j+++i参考答案:A101.已知:chara[20]="abc",b[20]="defghi";则执行下列语句后的输出结果为()。Cout<<strlen(strcpy(a,b));A、1B、6C、5D、以上答案都不正确参考答案:B102.一棵树深度为K的完全二叉树至少有多少个结点A、2^k-1B、2^(k-1)-1C、2^(k-1)D、2^k参考答案:C103.一个函数为voidx(int,charch=’a’),另一个函数为voidx(int),则它们()A、不能在同一程序中定义B、可以在同一程序中定义并可重载C、可以在同一程序中定义,但不可以重载D、以上说法均不正确参考答案:C104.要使字符数组str具有初值"Lucky",正确的定义语句是()。A、charstr[]={'L','u','c','k','y'};B、charstr[]="Lucky";C、charstr[5]={'L','u','c','k','y'};D、charstr[5]="Lucky";参考答案:B105.要禁止修改指针p本身,又要禁止修改p所指向的数据,这样的指针应定义为()A、constchar*p=“ABCD”;B、char*constp=“ABCD”;C、charconst*p=“ABCD”;D、constchar*constp=“ABCD”;参考答案:D106.循环队列存储在数组A[0..m]中,则入队时的操作为A、rear=rear+1B、rear=(rear+1)mod(m-1)C、rear=(rear+1)modmD、rear=(rear+1)mod(m+1)参考答案:D107.写数据抽象为从流中()数据A、插入B、替换C、提取D、删除参考答案:A108.下述关于开关语句的描述中,()是正确的。A、开关语句中default子句可以没有,也可以有一个;B、开关语句中每个语句序列中必须有break语句;C、开关语句中default子句只能放在最后;D、开关语句中case子句后面的表达式可以是整形表达式参考答案:A109.下述程序中,含有错误的行是()。A、1行B、2行C、3行D、4行参考答案:B110.下述程序的输出结果是()。#include<iostream>Usingnamespacestd;Voidmain(){Intx=100;Inty=x++;Cout<<(x++,y)<<","<<y++<<endl;}(题)A、100,100B、100,101C、101,100D、101,101参考答案:C111.下面有关重载函数的说法中正确的是()。A、重载函数必须具有不同的返回值类型。B、重载函数形参个数必须不同。C、重载函数必须有不同的形参列表。D、重载函数名可以不同。参考答案:C112.下面有关类说法不正确的是()A、一个类可以有多个构造函数B、一个类只有一个析构函数C、析构函数需要指定参数D、在一个类中可以说明具有类类型的数据成员参考答案:C113.下面有关静态成员函数的描述中,正确的是()A、在静态成员函数中可以使用this指针B、在建立对象前,就可以为静态数据成员赋值C、静态成员函数在类外定义是,要用static前缀D、静态成员函数只能在类外定义参考答案:B114.下面选项中等价的是()。A、inta[2][3]={3,4,5}与inta[][3]={3,4,5};B、inta[2][3]={0,1}与inta[2][3]={{0},{1}};C、inta[2][3]={1,0,2,2,4,5}与inta[2][]={1,0,2,2,4,5};D、inta[][3]={1,0,2,2,4,5}与inta[2][3]={1,0,2,2,4,5};参考答案:D115.下面说法错误的是()A、在组合类的析构函数中不需要显式调用其成员对象的析构函数B、在类的继承层次中,可以自动进行向上和向下类型转换.而且都是安全的C、构造函数可以重载,析构函数不能重载D、C++的派生类如果要覆盖一个继承到的成员函数,在基类中需要将该函数声明为virtual参考答案:B116.下面描述是哪个排序算法的特点:在进行一趟排序结束后,不一定能够选出一个元素放在其最终位置上A、冒泡排序B、快速排序C、希尔排序D、以上说法都正确参考答案:C117.下面函数原型中,()声明了fun为纯虚函数。A、voidfun()=0;B、virtualvoidfun()=0;C、virtualvoidfun();D、virtualvoidfun(){};参考答案:B118.下面关于纯虚函数和抽象类的描述中,()是错误的。A、纯虚函数是一种特殊的虚函数,它没有具体意义B、一个基类中说明有纯虚函数,该基类的派生类一定不再是抽象类C、抽象类只能作为基类来使用,其纯虚函数的定义由派生类给出D、抽象类是指具有纯虚函数的类参考答案:B119.下面关于C++lambda表达式说法正确的有A、[capture](params)->ret{body}这是一个完整的lambda表达式形式B、capture值为[a,&b]表示a变量以值的方式呗捕获,b以引用的方式被捕获C、capture为[=]表示不捕获外部的任何变量D、lambda表达式是属于C++14的新特性参考答案:B120.下面的运算符重载函数的原型,错误的是()。A、Volumeoperator-(double,double);B、doubleVolume::operator-(double);C、VolumeVolume::operator-(Volume);D、Volumeoperator-(Volume,Volume);参考答案:A121.下面的哪个保留字不能作为函数的返回类型()。A、newB、intC、voidD、1ong参考答案:A122.下面的哪个保留字不能作为函数的返回类()A、voidB、intC、newD、long参考答案:C123.下面代码的输出结果为intfunc(intx){intcountx=0;while(x){countx++;x=x&(x-1);}returncountx;}intmain(){coutA、255B、8C、12D、6参考答案:B124.下面程序执行后的输出结果是()。#includeusingnamespacestd;voidfun(char*c,chard){*c=*c+1;d=d+1;cout<<*c<<","<A、B,a,B,aB、a,B,a,BC、A,b,A,bD、b,B,A,b参考答案:D125.下面程序的输出结果是()。#includeusingnamespacestd;intmain(){for(inti=-1;iA、*#*B、****C、*#**D、*#***参考答案:D126.下面程序的输出结果是()#includeusingnamespacestd;intmain(){inta=6,b=6;if(a>5){a-=1;b+=1;}else{a+=1;b-=1;}coutA、57B、a=5b=7C、a=5b=6D、编译时出错参考答案:B127.下面标识符中正确的是()。A、_abcB、3abC、intD、+ab参考答案:A128.下面()不是抽象类的特性。A、可以定义纯虚函数B、不能定义抽象类的对象C、用做基类,提供公共的接口D、可以定义虚构造函数参考答案:D129.下列字符串可以用做C++标识符的是()。A、_123B、foobarC、caseD、double参考答案:A130.下列语句中,与语句“n=(a>b)?(b>c?1:0):0;”功能等价的是()。A、if(a<=b)n=0;B、if(a>b||b>c)n=1;elsen=0;C、if(a>b)if(b>c)n=1;elsen=0;elsen=0;D、if(a>b)n=1;elseif(b<=c)n=1;elseif(b>c)n=1;elsen=0;参考答案:C131.下列有关内联函数的叙述中,正确的是()。A、内联函数在调用时发生控制转移B、内联函数必须通过关键字inline来定义C、内联函数是通过编译器来实现的D、内联函数函数体的最后一条语句必须是return语句参考答案:C132.下列有关new和delete运算符的描述中,错误的是()。A、new运算符分配的空间只能用delete运算符撤销B、对一个指针只能使用一次deleteC、当用于删除数组时,在delete运算符后面可直接跟数组名,而不用管数组的维数D、new运算符分配数组空间时不能指定初值参考答案:C133.下列有关delete的描述中,错误的是()。A、delete是运算符B、它必须用于new返回的指针C、delete[]可以删除任意维的动态数组D、对一个指针可以连续使用多次delete参考答案:D134.下列选项中不能作为C++用户标识符为()。A、MainB、sizeofC、_intD、Return参考答案:B135.下列选项中,两个条件语句语义等价的是()。A、if(x=0)cout<<x;和if(x==0)cout<<x;B、if(x)cout<<x;和if(x==0)cout<<x;C、if(x)cout<<x;和if(x>0)cout<<x;D、if(x)cout<<x;和if(x!=0)cout<<x;参考答案:D136.下列选项中,不能表示字符常量的是()。A、‘\t’B、‘\xy2sr’C、‘\102’D、‘d’参考答案:B137.下列叙述中错误的是()。A、预处理命令行必须以“#”开始B、预处理命令行末尾没有分号C、C++程序在执行过程中对预处理命令行进行处理D、“#defineS”是正确的宏定义参考答案:C138.下列为纯虚函数的正确声明的是()A、voidvirtualprint()=0;B、virtualvoidprint()=0;C、virtualvoidprint(){};D、virtualvoidprint()\;参考答案:B139.下列说法中错误的是()。A、静态局部变量的初值是在编译时赋予的,在程序执行期间不再赋予初值B、若全局变量和某一函数中的局部变量同名,则在该函数中,此全局变量被屏蔽C、静态全局变量可以被其他的编辑单位所引用D、所有自动类局部变量的存储单元都是在进入这些局部变量所在的函数体(或复合语句)时生成,退出其所在的函数体(或复合语句)时消失参考答案:C140.下列说法中错误的是()。A、基类的protected成员在派生类中仍是protected的B、基类的protected成员在public派生类中仍是protected的C、基类的protected成员在private派生类中是private的D、基类的protected成员不能被派生类的对象访问参考答案:A141.下列排序算法中不稳定的是A、冒泡排序B、折半插入排序C、快速排序D、以上都是稳定的参考答案:C142.下列排序算法中,已基本有序却反而变得更复杂的排序算法是:()。A、冒泡排序B、快速排序C、简择排序D、插入排序参考答案:B143.下列函数原型声明中错误的是()A、voidfun(intx=0,inty=0);B、voidfun(intx,inty);C、voidfun(intx,inty=0);D、voidfun(intx=0,inty);参考答案:D144.下列函数的功能是用辗转相除法求两个整数的最大公约数,空白处应填入的是()。A、rB、!rC、r==0D、~r参考答案:A145.下列函数不能被声明为虚函数的是()。A、构造函数B、析构函数C、内联函数D、普通成员函数参考答案:A146.下列关于友元函数和静态成员函数的叙述中,错误的是()。A、静态成员函数在类体中说明时加static,在类外定义时不能加staticB、静态成员函数带this指针C、友元函数在类体中说明时加friend,在类外定义函数时不能加friendD、友元函数不带this指针参考答案:B147.下列关于数组概念的描述中,错误的是()。A、数组中所有元素类型是相同的B、数组定义后,它的元素个数是可以改变的C、数组在定义时可以被初始化,也可以不被初始化D、数组元素的个数与定义时的每维大小有关参考答案:B148.下列关于类的权限描述错误的是()A、类本身的成员函数可以访问自己定义的任何成员B、类的对象只能访问公有成员C、普通函数只能通过对象访问类的公有成员D、一个类不能包含另一个类的对象作为成员参考答案:D149.下列关于基类和派生类关系的叙述中,正确的是()。A、每个类最多只能有一个直接基类B、派生类的成员函数可以直接访问基类的任何成员C、基类的构造函数必须在派生类的构造函数体中调用,才能完成对基类成员的初始化D、派生类除了继承基类的成员,还可以定义新的成员参考答案:D150.下列关于动态联编的描述中错误的是()。A、动态联编是以虚函数为基础的B、动态联编是在运行时确定所调用的函数代码C、动态联编调用函数操作是指向对象的指针或对象引用D、动态联编是在编译时确定操作函数的参考答案:D151.下列关于动态联编的描述中,错误的是()。A、动态联编是以虚函数为基础B、动态联编是运行时确定所调用的函数代码的C、动态联编调用函数操作是指向对象的指针或对象引用D、动态联编是在编译时确定操作函数的参考答案:D152.下列关于编译预处理的理解正确的是()。A、编译预处理即占用编译时间又占用运行时间B、编译预处理就是文字的处理工作,宏定义的本质就是文字的代换C、编译预处理命令行只能放在程序的最前面D、编译预处理命令行是也是C++语言中的语句,因此也需要用分号结束参考答案:B153.下列关于new运算符的描述中错误的是:A、它可以用来动态创建对象和对象数组B、使用它创建的对象或对象数组可以使用运算符delete删除C、使用它创建对象时要调用构造函数D、使用它创建对象数组时必须指定初始值参考答案:D154.下列关于C++语言的说法错误的是()。A、C++语言的运行过程是编辑、编译、连接、运行B、C++语言不区分大小写C、C++语言的是面向对象的D、C++程序本身不提供输入输出语句参考答案:B155.下列关于C++流的叙述中,正确的是()。A、与键盘、屏幕、打印机和通信端口的交互都可以通过流类来实现B、cin是一个预定义的输入流类C、输出流有一个名为open的成员函数,其作用是生成一个新的流对象D、从流中获取数据的操作称为插入操作,向流中添加数据的操作称为提取操作参考答案:A156.下列关于C++函数调用的描述中,错误的是()。A、函数调用可以出现在执行语句中B、函数调用可以出现在表达式中C、函数调用可以作为函数的形参D、函数调用可以作为函数的实参参考答案:C157.下列各种函数中,()不是类的成员函数。A、构造函数B、析构函数C、友元函数D、拷贝构造函数参考答案:C158.下列各运算符中,()优先级最低。A、?:B、|C、||D、!=参考答案:A159.下列格式控制符,既可以用于输入,又可以用于输出的是()。A、setbaseB、setfillC、setprecisionD、setw参考答案:A160.下列非法的字符常量是()。A、‘#’B、‘’C、a’D、‘A’参考答案:C161.下列对派生类的描述中,()是错误的。A、一个派生类可以作为另外一个派生类的基类B、派生类至少有一个基类C、派生类的成员除了它自己的成员外,还包含了它的基类的成员D、派生类继承的基类成员的访问权限到派生类保持不变参考答案:D162.下列对二维数组a的正确定义是()。A、inta['A']['B'];B、floata[3,4];C、doublea[1][];D、floata(3)(4);参考答案:A163.下列程序段的输出是()。unsignedshorti=65538;cout<A、65538B、有语法错误,无法编译通过C、0D、2参考答案:D164.下列程序的输出结果为()。#includeusingnamespacestd;intmain(){enumcolor{red,yellow,blue=4,green,white}c1,c2;c1=yellow;c2=white;cout<A、1,6B、2,5C、1,4D、2,6参考答案:A165.下列程序的输出结果是()。A、k=5B、5C、3D、k=3参考答案:D166.下列程序的输出结果是()。#includeusingnamespacestd;structdata{intx,y;}d[2]={2,4,6,8};intmain(){data*p=d;coutxy<A、24B、35C、68D、82参考答案:B167.下列程序的输出结果是()。#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参考答案:A168.下列程序的输出结果是()。#includeusingnamespacestd;intd=1;voidfun(intp){intd=5;d+=p++;coutA、84B、96C、94D、85参考答案:A169.下列程序的输出结果是()#include<iostream.h>Voidmain(){intn[][3]={10,20,30,40,50,60};int(*p)[3];vnp=n;Cout<A、10,30,50B、10,20,30C、20,40,60D、10,30,60参考答案:B170.下列不是函数重载所要求的条件是()A、函数名相同B、参数个数不同C、参数类型不同D、函数返回值类型不同参考答案:D171.下列不合法的变量名为()。A、intB、int1C、name_0D、name1参考答案:A172.下列表达式中表示int变量x可以被3整除的表达式是()。A、x/3==0B、x%3==0C、x%3!=0D、(x/3)参考答案:B173.下列表达式,能将P声明为指向常量的指针的是()A、constint*P;B、int*constP;C、constint*constP;D、int*P;参考答案:A174.下列变量名中,()是合法的。A、CHINAB、byte-sizeC、doubleD、A+a参考答案:A175.下列for循环的循环体执行次数为()。For(inti(0),j(10);i=j=4;i++,j--)A、0;B、1;C、4;D、无限;参考答案:D176.下列for循环的次数为()。for(i=0,x=0;!x&&iA、5B、6C、1D、无限参考答案:B177.下列C++运算符中,优先级最高的是()。A、+B、*C、<=D、*=参考答案:B178.下列()是正确的语句。A、;B、a=17C、x+yD、cout<<"\n"参考答案:A179.希尔排序每的最后一趟排序的地址增量一定是()。A、nB、n/2C、1D、任意值参考答案:C180.图的数据结构说法正确的是A、图是一种线性表B、图是一种树C、图是比线性表和树更为复杂的数据结构D、以上说法都不对参考答案:C181.图的常用的存储结构不包括下面的A、邻接矩阵B、邻接链表C、十字链表D、树参考答案:D182.通过下面哪种方式存储待排序元素,可以更容易实现快速排序A、顺序存储B、链式存储C、堆D、栈参考答案:A183.所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是()。A、类B、对象C、函数体D、数据块参考答案:A184.数据库引擎的实现采用何种数据结构?A、B+树B、红黑树参考答案:A185.数据结构在计算机内存中的表示是指A、数据的存储结构B、数据结构C、数据的逻辑结构D、数据元素之间的关系参考答案:A186.数据的最小单位是A、数据项B、数据类型C、数据元素D、数据变量参考答案:A187.数据的逻辑结构被形式地定义为B=(K,R),其中R是K上的__有限集合。A、操作B、映像C、存储D、关系参考答案:D188.使用重载函数的目的是()A、共享函数数据B、减少代码量C、优化运行效率D、提高可读性参考答案:D189.使用string.h库操纵字符串时,将两个字符串连接成一个字符串的函数是()A、strlen()B、strcap()C、strcat()D、strcmp()参考答案:C190.设置虚基类的目的是()。A、简化程序B、消除二义性C、提高运行效率D、减少目标代码参考答案:B191.设栈S和队列Q的初始状态均为空,元素a,b,c,d,e,f,g依次进入栈S。若每个元素出栈后立即进入队列Q,且7个元素出队的顺序是b,d,c,f,e,a,g,则栈S的容量至少是A、1B、2C、3D、4参考答案:C192.设有如下定义:int*(*ptr)();则以下叙述中正确的是()A、ptr是指向一维数组的指针变量B、ptr是指向int型数据的指针变量C、ptr是指向函数的指针,该函数返回一个int型数据D、ptr是指向函数的指针,该函数的返回值是指向int型数据的指针参考答案:D193.设有定义inti;doublej=5;,则10+i+j值的数据类型是()A、intB、doubleC、floatD、不确定参考答案:B194.设某棵二叉树的中序遍历序列为ABCD,前序遍历序列为CABD,则后序遍历该二叉树得到序列为()A、BADCB、BCDAC、CDABD、CBDA参考答案:A195.设类A将其它类对象作为成员,则建立A类对象时,下列描述正确的是()A、A类构造函数先执行B、成员构造函数先执行C、两者并行执行D、不能确定参考答案:B196.设非空二叉树的所有子树中,其左子树上的结点值均小于根结点值,而右子树上的结点值均不小于根结点值,则称该二叉树为排序二叉树。对排序二叉树的遍历结果为有序序列的是A、中序序列B、前序序列C、后序序列D、前序序列或后序序列参考答案:A197.设存在函数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));参考答案:C198.设x为int型变量,则执行以下语句后,x的值为()。x=10;x+=x-=x-x;A、10B、20C、40D、30参考答案:B199.设x和y均为bool量,则x&&y为真的条件是()。A、它们均为真B、其中一个为真C、它们均为假D、其中一个为假参考答案:A200.设x,y,z,t均为int型变量,则执行以下语句后,t的值为()。x=y=z=1;t=++x||++y&&++z;A、不定值B、2C、1D、0参考答案:C201.设intx=2,y=4,z=7;则执行x=y--<=x||x+y!=z后x,y的值分别为()。A、0,3B、1,3C、2,3D、2,4参考答案:B202.设inti=1,j=2;则表达式i+++j的值为()。A、1B、2C、3D、4参考答案:C203.设i=1,j=2,则表达式++i+j的值为()。A、1B、2C、3D、4参考答案:D204.若有以下说明语句:structdata{inti;doublef;charch;}b;则理论上计算,结构变量b占用内存的字节数为()。A、1B、2C、8D、13参考答案:D205.若有以下定义,则对结构体变量错误操作的是。StructCC{Intnum;Charname[10];Floatscore[2];}s;(题)A、cin>>s.num;B、s.score[1]=66.5;C、cin>>s.score[0];D、=”LiMing”;参考答案:D206.若有数组定义"inta[][3]={1,2,3,4,5,6};",则a[1][0]的值是()。A、1B、2C、4D、5参考答案:C207.若有定义inta=2+3,则表达式a*2*2的值为()A、20B、14C、4D、不确定参考答案:A208.若有定义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)参考答案:D209.若有定义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";}参考答案:C210.若有定义:inta[][4]={0,0};以下叙述中错误的是()。A、数组a的每个元素都可得到初值0B、二维数组a的第一维大小为1C、因为初值个数除以a中第二维大小的值的商为0,故数组a的行数为1D、只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0参考答案:D211.若已经声明了函数原型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);参考答案:B212.若已经声明了函数原型"voidfun(intA,doubleb=0.0);",则下列重载函数声明中正确的是()。A、voidfun(inta=90,doubleb=0.0);B、intfun(intA,doubleB);C、voidfun(doubleA,intB);D、boolfun(intA,doubleb=0.0);参考答案:C213.若已定义:Inta[]={0,1,2,3,4,5,6,7,8,9},*P=a,i;其中0≤i≤9,则对a数组元素不正确的引用是()。A、a[p-a]B、*(&a[i])C、p[i]D、a[10]参考答案:D214.若int型变量x=29,double型变量y=6.0,则表达式x/y的值为()。A、5B、5.0C、4D、4.83333参考答案:D215.若classB中定义了一个classA的类成员Aa,关于类成员的正确叙述是()。A、在类B的成员函数中可以访问A类的私有数据成员B、在类B的成员函数中可以访问A类的保护数据成员C、类B的构造函数可以调用类A的构造函数做数据成员初始化D、类A的构造函数可以调用类B的构造函数做数据成员初始化参考答案:C216.如果有int型变量a,则定义指向变量a的指针p正确的写法是()A、intp=&vB、int*p=&vC、int&p=*vD、int*p=v参考答案:B217.如果待排序的数组近似递减排序,则此时使用快排算法进行递增排序的时间复杂度为()A、O(n)B、O(n^2)C、O(nlogn)D、O((n^2)*logn)参考答案:B218.如果从原有类定义新类可以实现的是()A、信息隐藏B、数据封装C、继承机制D、数据抽象参考答案:C219.如果downcast是安全的(也就是,如果基类指针或者引用确实指向一个派生类对象)这个运算符会传回适当转型过的指针。如果downcast不安全,这个运算符会传回空指针(也就是说,基类指针或者引用没有指向一个派生类对象)。这个是指C++里的()A、dynamic_castB、reinterpret_castC、static_castD、const_cast参考答案:A220.请问对一个排好序的数组进行查找,用平均时间复杂度最小的算法,时间复杂度为()A、O(n)B、O(logn)C、O(nlogn)D、O(1)参考答案:B221.派生类中虚函数原型的:A、函数类型可以与基类中虚函数的原型不同B、参数个数可以与基类中虚函数的原型不同C、参数类型可以与基类中虚函数的原型不同D、函数类型、参数个数和参数类型都必须与基类中虚函数的原型相同参考答案:D222.派生类的对象对它的基类成员中()是可以访问的。A、公有继承的公有成员B、公有继承的私有成员C、公有继承的保护成员D、私有继承的公有成员参考答案:A223.派生类的对象对它的基类成员中()是可以访问的。A、公有继承的公有成员;B、公有继承的私有成员;C、公有继承的保护成员;D、私有继承的公有成员。参考答案:A224.排序算法的稳定性是指()A、经过排序之后,能使值相同的数据保持原顺序中的相对位置不变B、经过排序之后,能使值相同的数据保持原顺序中的绝对位置不变C、算法的排序性能与被排序元素的数量关系不大D、算法的排序性能与被排序元素的数量关系密切参考答案:A225.能作为C++程序的基本单位是()。A、字符B、语句C、函数D、源程序文件参考答案:B226.能在O(1)时间内访问线性表的第i个元素的结构是()A、顺序表B、单链表C、二分法D、以上都不对参考答案:A227.能实现删除文件数据的语句是()。A、ofstreamfs(“date.dat“,ios::trunc);B、ifstreamfs(“date.dat“,ios::trunc);C、ofstreamfs(“date.dat“,ios::out);D、ifstreamfs(“date.dat“,ios::in);参考答案:A228.能够把指定长度的字节序列插入到输出流中的函数是()。A、putB、writeC、coutD、print参考答案:B229.哪个指令可以查看git历史提交记录A、gitlogB、gitcommitC、gitaddD、gitdiff参考答案:A230.哪个操作符不能作为类成员函数被重载?A、?:B、++C、[]参考答案:A231.每个类()构造函数。A、只能有一个B、只可有公有的C、可以有多个D、只可有缺省的参考答案:C232.流程控制语句的基本控制结构有三种,不属于这一种结构的是()。A、顺序结构B、选择结构C、循环结构D、计算结构参考答案:D233.两个类型相同的指针不能进行的运算是()。A、+B、-参考答案:A234.链式栈结点为:(data,link),top指向栈顶.若想摘除栈顶结点,并将删除结点的值保存到x中,则应执行操作()。A、x=top->data;top=top->link;B、top=top->link;x=top->link;C、x=top;top=top->link;D、x=top->link;参考答案:A235.类中定义的成员默认为()访问属性A、publicB、privateC、protectedD、friend参考答案:B236.类的构造函数被自动调用执行的情况是在定义该类的()。A、成员函数时B、数据成员时C、对象时D、友元函数时参考答案:C237.可用作C++语言用户标识符的一组标识符是()。A、voiddefine+WORDB、a3_b3_123YNC、for-abcCaseD、2aDOsizeof参考答案:B238.考虑函数原型voidtest(intA,intb=7,charch='*'),下面的函数调用中,属于不合法调用的是()A、test(5)B、test(5,8)C、test(6,'#')D、test(0,0,'*')参考答案:C239.决定C++语言中函数的返回值类型的是()A、return语句中的表达式类型B、调用该函数时系统随机产生的类型C、调用该函数时的主调用函数类型D、在定义该函数时所指定的数据类参考答案:D240.将两个字符串连接起来组成一个字符串时,选用A、strlenB、strcpyC、strcatD、strcmp参考答案:C241.将两个各有n个元素的有序表归并成一个有序表,在最坏的情况下,其比较次数是A、2n-1B、nC、n+1D、n-1参考答案:A242.假设有宏定义:#defineA3#defineBA+A+A则cout<A、7B、27C、19D、9参考答案:C243.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是()。(题)A、2B、6C、7D、8参考答案:D244.假如指针p已经指向整型变量x,则(*p)++相当于()。A、x++B、p++C、*(p++)D、&x++参考答案:A245.假定一个字符串的长度为n,则定义存储该字符串的字符数组的长度至少为()。A、n-1B、nC、n+1D、n+2参考答案:C246.假定机器数为8位,则50的补码为()。A、00110010B、10110010C、110010D、110011参考答案:A247.假定n的值为5,则表达式n++的值为()?A、6B、5C、4D、7参考答案:B248.假定a和b为int型变量,则执行以下语句后b的值为()。#include<iostream>Usingnamespacestd;Voidmain(){Inta=1;Intb=10;Do{B-=a;A++;}while(b--<0);}(题)A、-1B、-2C、8D、9参考答案:C249.假定AB为一个类,则执行ABx;语句时将自动调用该类的()A、有参构造函数B、无参构造函数C、拷贝构造函数D、赋值构造函数参考答案:B250.假定AB为一个类,则执行“ABa(4),b[3],*p[2];”语句时,自动调用该类构造函数的次数为()。A、3B、4C、6D、9参考答案:B251.假定AA为一个类,a()为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数成员a()的格式为()。A、x.aB、x.a()C、x->aD、x->a()参考答案:B252.函数参数的默认值不允许为()。A、全局常量B、直接常量C、局部变量D、函数调用参考答案:C253.关于作用域与生存周期,说法错误的是()。A、局部对象只在定义它的函数体中有效B、全局对象的作用域是整个程序C、局部对象在定义它的函数第1次被调用时构造,以后可以直接使用D、全局对象在程序主函数运行前被调用,只构造1次参考答案:C254.关于文件包含,下列描述错误的是()_A、文件包含命令行必须以#include开头B、文件包含命令行的两种形式是有区别的,当#include后面的文件名用<>括起来时,应该先在源程序所在目录中进行搜索C、文件包含是可以嵌套的,即在被包含的文件中又使用文件包含命令行包含其他文件D、一个#include命令只能包含一个文件,当多个文件需要包含时,应使用多个#include命令行参考答案:B255.关于缺省(默认)构造函数的参数,下列描述错误的是()。A、可以无形参,也可以有形参B、若给出形参,则所有形参都有默认值C、可以给出对应实参值D、一定不能给出对应实参的值参考答案:D256.关于类和对象不正确的说法是()A、类是一种类型,它封装了数据和操作B、对象是类的实例C、一个类的对象只有一个D、一个对象必属于某个类参考答案:C257.关于局部变量,下面说法正确的是()。A、定义该变量的程序文件中的函数都可以访问B、定义该变量的函数中的定义处以下的任何语句都可以访问C、定义该变量的复合语句中的定义处以下的任何语句都可以访问D、定义该变量的函数中的定义处以上的任何语句都可以访问参考答案:C258.关于函数的调用下面正确的是()。A、f函数调用f1函数,f1函数调用f2函数,称为函数的递归调用B、函数可以嵌套定义,也可以嵌套调用C、一个函数可以自己调用自己,称为函数的嵌套调用D、函数返回时可以不带返回值,这时函数在定义时其返回值的类型用void表示参考答案:D259.关于函数的返回值说法正确的是()。A、由return语句返回时,只带回一值,其类型在函数定义时确定。B、其类型由调用表达式决定。C、函数可以没有返回值,这时在函数定义,函数的类型说明就没必要了。D、函数调用就要有返回值,否则调用就没意义了。参考答案:A260.关于动态存储分配,下列说法正确的是()。A、new和delete是C++语言中专门用于动态内存分配和释放的函数B、动态分配的内存空间也可以被初始化C、当系统内存不够时,会自动回收不再使用的内存单元,因此程序中不必用delete释放内存空间D、当动态分配内存失败时,系统会立刻崩溃,因此一定要慎用new参考答案:B261.关于C++主函数特性,下列叙述正确的是()A、主函数在同一个C++文件中可以有两个B、主函数类型必须是void类型C、主函数一定有返回值D、每个C++程序都必须有一个main()函数参考答案:D262.关于C++语言中return语句正确的说法是()A、只能在主函数中出现B、在每个函数中都必须出现C、可以在一个函数中出现多次D、只能在除主函数之外的函数中出现参考答案:C263.关于C++的特点下列说法不正确的是()。(题)A、C++是一种低级语言B、C++是以C语言为基础逐渐发展演变而成的C、C++是一种面向对象的程序设计语言D、C++语言是全兼容C语言参考答案:A264.关键字unsigned不能修饰的类型是()。A、charB、intC、floatD、longint参考答案:C265.构造函数是在()时被执行的。A、程序编译B、创建对象C、创建类D、程序装入内存参考答案:B266.分别以下列序列构造二叉排序树,与用其它三个序列所构造的结果不同的是()A、(100,80,90,60,120,110,130)B、(100,120,110,130,80,60,90)C、(100,60,80,90,120,110,130)D、(100,80,60,90,120,130,110)参考答案:C267.二叉树的第k层的结点数最多为A、2^k-1B、2K+1C、2K-1D、2^(k-1)参考答案:D268.对指针动态分配空间用的关键字是()A、defineB、intC、newD、float参考答案:C269.对于表达式boolx=5;inta=x==5;变量a的值为()。(题)A、1B、0C、5D、false参考答案:B270.对于int*tar

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论