《C++开发基础》知识点必考必练题(含答案)_第1页
《C++开发基础》知识点必考必练题(含答案)_第2页
《C++开发基础》知识点必考必练题(含答案)_第3页
《C++开发基础》知识点必考必练题(含答案)_第4页
《C++开发基础》知识点必考必练题(含答案)_第5页
已阅读5页,还剩191页未读 继续免费阅读

下载本文档

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

文档简介

《C++开发基础》知识点必考必练题(含答案)单选题1.作用域运算符“::”的功能是()A、标识作用域的级别B、指出作用域的范围C、给定作用域的大小D、标识成员是属于哪个类2.字面常量42、4.2、42L的数据类型分别是()。3.字符串“a+b=12\n\t”的长度为()。4.转义字符“反斜杠线”的表示方法正确的是()。A、'\’参考答案:D5.重新定义标识符的作用域规定是外层变量被隐藏,()变量是可见的。C、外层和内层参考答案:B6.执行语句序列intn;cin>>n;switch(n){case1:case2:cout<<'1';case3:case4:Cout<<'2';break;default:cout<<'3';}时,若键盘输入1,则屏幕显示()(题)参考答案:A7.执行语句序列inta=10,b=15,C;c=a||(a+=b)I|(++b);后,变量a、b和c的值分别为()。8.执行语句for(inti=50;i>1;--i)cout9.执行语句boolx=5;inta=x==5;变量a的值为()。10.执行下列语句后,输出的结果是()。#include<iostream>Usingnamespacestd;Intmain(){Inta=3,b=5;Floatc=b<endl;Return0;}(题)A、不确定12.执行下列代码,程序的输出结果是(用下划线表示空格):()参考答案:D13.执行下列程序后,屏幕的输出是()。#include<iostream>Usingnamespacestd;Voidswap(intA,intb){Inttemp=a;Ax*f(x-1):2);}inti;i=fD、无限递归15.执+264:291行下列代码,程序的输出结果是:()cout参考答案:C16.长度为n的非空顺序表,若在第1个位置插入新的元素X,则i的取值范围是1≤i≤n+1,需要移动的元素个数为()17.在一棵具有5层的满二叉树中结点总数为18.在一棵二叉树中有30个叶子结点,仅有一个孩子的结点有20个,则该二叉树共有()个结点19.在一个链队列中,假定front和rear分别为队首和队尾指针,则删除一个结点的操作为20.在一个单链表head中,若要在指针p所指结点后插入一个q指针所指结点,则执行参考答案:D21.在学习插入排序时,下面和其平均时间复杂度相同的是B、希尔排序C、快速排序D、以上说法都不正确参考答案:A22.在下面的do-while循环语句中,其循环体语句被执行的次数为参考答案:C23.在下面存储类中,()的对象不是局部变量。A、外部静态类29.在编译指令中,嵌入指令是指()B、整型表达式C、整型常量或整型表达式D、任何类型的表达式参考答案:C34.在32位机器上,代码段的执行结果为()inta=100;doubleb=4.5;printf("%d,%d,%d,%d\参考答案:C35.运行如下程序,输出结果为()。#include<iostream>Usingnamespacestd;Intmain(){Intx=1,y=0;If(!x)y++;Elsf(x)y+=2;Elsey+=3;Cout<参考答案:D36.阅读下面的C++代码,关于ptrX,ptrY,ptrZ三个指针,下BaseX{Public:Virtual~BaseX(){};VirtualvoidFunlassClassY:publicBaseX{Public:VirtualvoidFuncttherZ:publicClassY{};Intmain(){FatherZaObject;BObject;ClassY*ptrY=&aObject;FatherZ*ptrZA、ptrX,ptrY,ptrZ的取值相同C、ptrX和ptrY不相同D、ptrZ不等于ptrX也不等于ptrY参考答案:A(){Intm=0,n=0;Charc='B';Cin><n;}若从键盘上输入:20A30<回车>,则输出结果是()。(题)参考答案:A38.有以下程序:#include<iostre{Chara='A',b;Cout<<++运行后的输出结果是()。(题)参考答案:D5};,则45在数组aa中的行列坐标各为()。参考答案:C45.有如下程序段:执行这个程序段后输出字符*的个数是()。inti=1;while(1){i++;if(i==30)break;if(i%参考答案:Cnue;Cout<<i<<",";}……其输出的结果为()。(题)参考答案:B47.有如下程序for(j=0;<=3;j++)a=1;执行后变量j的值是()48.有如下程序:#includeusingnamespacestd;voidconvert(intd){if参考答案:D49.有如下程序:#includeusingnamespacestndl;Return0;}执行后的输出结果是()。(题)ndl;}运行该程序的输出结果是()。(题)y=n;}};classB{Aa1(1);Aa2(2,2);Aa3();Aa4;};则下列描述中正确的是()。A、A类的定义有错B、B类的定义无错C、a1和a2的定义均有错D、a3和a4的定义均有错A、C++语言允许中重载运算符时改变运算符的操作数个数B、C++语言运行在重载运算符时改变运算符的优先级C、C++语言运行在重载运算符时改变运算符的结合性D、C++语言运行在重载运算符时改变运算符原来的功能54.有关析构函数的说法不正确的是()。A、析构函数有且只有一个B、析构函数和构造函数一样可以有形参C、析构函数的功能是用来释放一个对象D、析构函数无任何函数类型55.友元的作用是()。A、提高程序的运用效率;B、加强类的封装性;C、实现数据的隐藏性;D、增加成员函数的种类;参考答案:A56.友元的作用()。A、提高程序的运用效率B、加强类的封装性C、实现数据的隐藏性D、增加成员函数的种类57.以下正确的说法是()A、结构体类型变量不能初始化。B、结构体类型变量为外部变量或静态变量时能初始化。C、结构体数组不能初始化D、可以用赋值语句将一组常量赋给一个结构体变量58.以下正确的说法是()。A、用户若需要调用标准库函数,调用前必须先定义B、用户可以直接调用标准库函数C、用户可以定义和标准库函数同名的函数,但调用是调用的是系统库函数D、用户可以通过文件包含命令将系统库函数包含到用户源文件中,然后调用库函数59.以下正确的函数定义是()参考答案:A60.以下正确的二维数组定义是()。61.以下循环体的执行次数是()。intmain(){inti,j;for(i=0,j参考答案:C62.以下选项中不属于C++语言数据类型的是()。63.以下选项中不属于C++语言数据类型的是()。64.以下叙述中错误的是()。A、C++语言源程序经编译后生成后缀为.obj的目标程序B、C++语言经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件C、用C++语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中D、C++语言的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令参考答案:D65.以下叙述正确的是()。A、构造函数调用虚函数采用动态联编B、构造函数可以说明为虚函数C、当基类的析构函数是虚函数时,它的派生类的析构函数也是虚函数D、析构函数必须是虚函数66.以下说法中不正确的是()A、C++程序中必须有一个主函数main(),而且是从main()的第一条语句开始执行B、非主函数都是在执行主函数时,通过函数调用或嵌套调用而得以执行的C、主函数可以在任何地方出现D、主函数必须出现在固定位置67.以下哪个GCC编译环境下的链接器68.以下基类中的成员函数表示纯虚函数的是()69.以下关于this指针的描述正确的是()。A、this指针指向的是1个类B、this指针指向的是1个类对象C、this指针必须在类中显式的实现后才能使用D、可以通过类的对象名来调用this指针70.以下代码执行后,a、b、c的值分别为()。inta=8,b=10,c参考答案:B71.以下程序段的运行结果是()。Hara={‘a',‘b',‘\0',‘c',‘0’}Printf(""%s"",a);"参考答案:B72.以下程序的输出结果为()。Inta[3][3]={0,1,2,0,1,2,0,参考答案:B73.以下程序的输出结果是#include<iostream>Voidmain(){char*p[10]={”abc","aabdfg",'参考答案:B74.以下程序inta=15;a>>2;则a的值变为()。参考答案:A75.已知有如下函数模板定义:Template<classT>Tmax(TA,Tb){If(a>b)returna;Elsereturnb;}则下列函数调用有错误的是()。参考答案:C76.已知有定义:chars[20];,以下语句中不能从键盘上将多个字符输入到数组s的是()。参考答案:D77.已知以下代码:ClassA{}ClassB:publicA{}Aa;Bb;则以下说法正确的是()。A、赋值方式a=b是允许的B、赋值方式b=a是允许的C、a可以访问类B的所有成员D、a可以访问b的所有public成员78.已知以下代码:1classA2{3public:4inta;5public:6A(){f();}7virtualvoidf()=0;8voidfun();}则有错误的语句是()。"80.已知类A,a1和a2是类A的两个对象,x是A类的静态数据成员,则以下说法正确的是()。D、x在程序运行期间的值不能改变82.已知基类Employee只有一个构造函数,其定义如下Employee::Employee(intn):id(n){}Manager是Employee的派生类,则下列对Manager的构造函数的定义中,正确的是()。83.已知函数swap的定义为:voidswap(int&a,int&b){intt=a;a=b;b=t;}要交换变量x和y的值,下列调用方式正确的是:84.已知函数f的原型是:voidf(int*a,long&b);变量v1、v2的定义是:intv1;longv2;,正确的调用语句是()。参考答案:C85.已知二叉树后序遍历序列是bfegcda,中序遍历序列是badefcg,它的前序遍历序列是:86.已知定义int*p[3],则以下说法正确的是()。A、定义了1个int类型的指针变量,该变量具有3个指针B、定义了1个指针数组,该数组有3个元素,每个元素都是int类型的指针变量C、定义了1个名为*p的int类型数组,该数组含有3个int类型的变量D、定义了1个指向一维数组的指针变量p,该一维数组有3个int类型的元素参考答案:B87.已知print()函数是一个类的常成员函数,它无返回值,下列表示中正确的是88.已知n是一个int型变量,下列语句中错误的是()。89.已知intx=5;执行下列语句后,x的值为()。X+=x-=x*x;90.已知inti=0,x=1,y=0;在下列选项使i的值变成1的语句是()。91.已知inta=3;,则执行完表达式a+=a-=a*a后,a的值是()。参考答案:C92.已知inta[10],*p=a;,则下列对数组a中元素正确的引用是()。参考答案:D93.已知:chara[20]="abc",b[20]="defghi";则执行下列语句后的输出结果为()。Cout<<strlen(strcpy(a,b));D、以上答案都不正确参考答案:B94.一趟排序结束后不一定能够选出一个元素放在其最终位置上A、冒泡排序B、快速排序C、希尔排序D、以上说法都正确参考答案:C95.一棵树深度为K的完全二叉树至少有多少个结点96.一个最简单的C++程序,可以只有一个()。97.一个栈的入栈序列为1,2,3,…,n,其出栈序列是p1,p2,p3,...pn。若p2=3,则p3可能取值的个数是()98一个类的静态数据成员所表示属性()。B、只是对象的属性C、只是类的属性D、类和友元的属性99.要求打开文件D:\file.dat,并能够写入数据,正确的语句是()。100.循环队列A[0..m-1]存放其元素值,用front和rear分别表示队头和队尾,则当前队列中的元素数是101.循环while(inti=0)i--;执行次数是(A)。C、提取103.下述关于开关语句的描述中,()是正确的。A、开关语句中default子句可以没有,也可以有一个;B、开关语句中每个语句序列中必须有break语句;C、开关语句中default子句只能放在最后;D、开关语句中case子句后面的表达式可以是整形表达式104.下述程序中,含有错误的行是()。105.下面有关类说法不正确的是()A、一个类可以有多个构造函数B、一个类只有一个析构函数C、析构函数需要指定参数D、在一个类中可以说明具有类类型的数据成员参考答案:C参考答案:D107.下面描述哪一个是错误的()A、c++中引用类型不可以作为函数的返回类型B、一个变量最好只定义一个引用参考答案:A108.下面关于数组的初始化正确的是()。参考答案:A109.下面关于类的成员函数描述不正确的是:()A、静态成员函数内可以直接访问类的非静态成员数据B、静态成员函数内可以直接访问类的静态成员数据C、非静态成员函数可以直接访问类的非静态成员数据D、非静态成员函数可以直接访问类的静态成员数据110.下面关于对象概念的描述中错误的是()A、任何对象都必须有继承性B、对象是属性和方法的封装体C、对象间的通信靠消息传递D、操作是对象的动态属性111.下面关于C++lambda表达式说法正确的有A、[capture](params)->ret{body}这是一个完整的lambda表达式形式B、capture值为[a,&b]表示a的方式被捕获D、lambda表达式是属于C++14的新特性112.下面对析构函数的正确描述是()。A、系统不提供默认的析构函数B、析构函数必须由用户定义C、析构函数没有参数,也没有返回值D、析构函数可以设置默认参数113.下面对数组的初始化,不合法的是()。114.下面程序执行后的输出结果是(d;#defineN20voidfun(inta),intn,intm){intia[i+1]=a[i];}intmain(){inti;inta[N]={intmain(){charst[20]="hel3,4,5,6,7,8,9};For(i=0;i<3;i++)Cout<参考答案:B117.下面程序的输出结果为()#dfunc(unsignednum){unsignedd=1,k;do{k=nwhile(num);return(k);}intmain(){unsignedn参考答案:C118.下面程序的输出结果是()。#include<iostream>Usingnamespacestd;Intfun(char*);Intmain(){Cout<<fu0;}Intfun(char*s){Char*t=s;While(*t!='\0'D、语法错误A、删除栈顶元素B、删除栈底元素C、入栈D、栈置空120.下面()项是对构造函数和析构函数的正确定义。B、X::X(参数),X::~X()C、X::X(参数),X::~X(参数)D、voidX::X(参数),voidX::~X(参数)121.下面()数据结构常用于函数调用。D、数组122.下面()不是抽象类的特性。A、可以定义纯虚函数B、不能定义抽象类的对象C、用做基类,提供公共的接口D、可以定义虚构造函数参考答案:Df(i==0)break;Cout<<'*';}(题)124.下列有关内联函数的叙述中,正确的是()。A、内联函数在调用时发生控制转移B、内联函数必须通过关键字inline来定义C、内联函数是通过编译器来实现的D、内联函数函数体的最后一条语句必须是return语句125.下列有关继承和派生的叙述中,正确的是()。A、派生类不能访问基类的保护成员B、作为虚基类的类不能被实例化C、派生类应当向基类的构造函数传递参数D、虚函数必须在派生类中重新实现126.下列有关函数的说法正确的是()。A、在C++语言中,若对函数类型未加说明,则系统隐含类型为B、C++函数必须有返回值,否则无法使用。C、C++函数既可以嵌套定义,又可以可递归调用。D、C++函数中,形式参数必须指定为确定的类型。127.下列有关delete的描述中,错误的是()。B、它必须用于new返回的指针C、delete]可以删除任意维的动态数组D、对一个指针可以连续使用多次delete128.下列有关C++流的表述中,错误的是()。A、利用C++流进行输入操作时,eof()函数用于检测是否到达文件尾B、C++流操作符endl可以实现输出的回车换行C、C++流操作符setw设置的输出宽度永久有效D、利用C++流处理文件输入输出时,须包含头文件fstream129.下列选项中不能作为C++用户标识符为()。131.下列选项中,()不能交换变量a和b的值。(题)132.下列选项中,()不.能.交换变量a和b的值。133.下列叙述中错误的是()。A、一个函数中可以有多条return语句B、函数中通过return语句传递函数值C、调用函数必须在一条独立的语句中完成D、主函数名main也可以带有形参参考答案:C134.下列叙述中,正确的是()。A、只能在循环体内和switch语句体内使用break语句B、continue语句的作用是结束整个循环C、在循环体内使用break语句和continue语句可以起到同样的作用D、从多重循环中退出时,只能使用goto语句135.下列为文件的扩展名,能被计算机直接执行的是()。136.下列为纯虚函数的正确声明的是()137.下列说法中错误的是()。A、静态局部变量的初值是在编译时赋予的,在程序执行期间不再赋予初值B、若全局变量和某一函数中的局部变量同名,则在该函数中,此全局变量被屏蔽C、静态全局变量可以被其他的编辑单位所引用D、所有自动类局部变量的存储单元都是在进入这些局部变量所在的函数体(或复合语句)时生成,退出其所在的函数体(或复合语句)时消失138.下列说法正确的是()。A、字符型数组与整型数组可通用B、字符型数组与字符串其实没什么区别C、字符串的输出可以用存储它的数组来输出,也可以字符串的形式整体输出,结果没区别D、当字符串放在字符数组中,这时要求字符数组长度比字符串长1个单元,因为要放字符串终结符'\O'是:()。A、冒泡排序B、快速排序D、插入排序142.下列关于文件流的描述中,正确的是(B、建立一个文件流对象时,必须同时打开一个文件C、若输入流要打开的文件不存在,将建立一个新文件D、若输出流要打开的文件不存在,将建立一个新文件143.下列关于实参和形参说法错误的是()。A、实参可以是变量、常量、或表达式。B、实参与形参的类型必须一致,否则会发生“类型不匹配”的错误。C、实参对形参的数据传递是单向传递,调用结束后,实参单元被释放。D、形参必须是变量。参考答案:D144.下列关于类定义的叙述中,正确的是()A、类中可以定义成员变量,并赋初值B、类中可以声明成员函数,并可以给出参数的默认值C、类体不能为空,即必须定义成员变量及成员函数D、类中仅能包含成员变量145.下列关于类的权限描述错误的是()A、类本身的成员函数可以访问自己定义的任何成员B、类的对象只能访问公有成员C、普通函数只能通过对象访问类的公有成员D、一个类不能包含另一个类的对象作为成员146.下列关于类的权限的描述错误的是()A、类本身的成员函数只能访问自身的私有成员B、类的对象只能访问该类的公有成员C、普通函数不能直接访问类的公有成员,必须通过对象访问D、一个类可以将另一个类的对象作为成员147.下列关于函数重载的叙述中,错误的是()。A、重载函数的参数个数可以不同B、重载函数的参数类型可以不同C、重载函数的返回值类型必须不同D、重载函数的参数个数或参数类型必须有所不同148.下列关于函数默认参数值的叙述中,正确的是()。I)函数参教的默认值可以是表达式Ⅱ)只能在函数声明时设置函数参数的默认值III)设置函数参数默认值时,应该从右至左依次设置149.下列关于对象初始化的叙述中,正确的是()。A、定义对象的时候不能对对象进行初始化B、定义对象之后可以显式地调用构造函数进行初始化C、定义对象时将自动调用构造函数进行初始化D、在一个类中必须显式地定义构造函数实现初始化参考答案:C150.下列关于动态联编的描述中,错误的是()。A、动态联编是以虚函数为基础B、动态联编是运行时确定所调用的函数代码的C、动态联编调用函数操作是指向对象的指针或对象引用D、动态联编是在编译时确定操作函数的参考答案:D151.下列关于单目运算符++、--的叙述中正确的是()。A、它们的运算对象可以是任何变量和常量B、它们的运算对象可以是char型变量和int型变量,但不能是float型变量C、它们的运算对象可以是int型变量,但不能是double型变量量152.下列关于this指针的叙述中,正确的是()。A、任何与类相关的函数都有this指针B、类的成员函数都有this指针C、类的友元函数都有this指针D、类的非静态成员函数才有this指针153.下列关于switch语句的描述中,不正确的是()。A、switch语句中的default子句可以没有,也可以有一个B、switch语句中的每一个case子句中必须有一个break语句C、switch语句中的default子句可放在switch语句中的任何位置D、switch语句中的case子句后面的表达式只能是整型、字符或枚举类型常量参考答案:B154.下列关于C++流的叙述中,正确的是()。A、与键盘、屏幕、打印机和通信端口的交互都可以通过流类来实现B、cin是一个预定义的输入流类C、输出流有一个名为open的成员函数,其作用是生成一个新的流对象D、从流中获取数据的操作称为插入操作,向流中添加数据的操作称为提取操作155.下列关于C++函数的说明中正确的是()。A、内联函数就是定义在另一函数体内部的函数。B、函数体的最后一条语句必须是RETURN语句。C、标准C++要求在调用一个函数之前,必须先声明其原型。D、编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式。参考答案:D156.下列各组类型声明符中,含义相同的一组是()。(题)157.下列各函数中,()不是类的成员函数。A、构造函数B、析构函数C、友元函数D、拷贝构造函数158.下列符号中可以用作C++标识符的是()。(题)159.下列符号中不属于C++关键字的是()。(题)参考答案:A160.下列访问成员的方式哪个是正确的()C、对象名->对象成员名D、类名->对象成员名参考答案:A161.下列对于指针的描述错误的是()。A、地址就是指针B、指针不能用除0以外的常量赋值C、两个指针变量的加法无意义D、指向不同基类型的指针变量占用内存空间大小不同162.下列对引用的陈述中不正确的是()。A、每一个引用都是其所引用对象的别名,因此必须初始化B、形式上针对引用的操作实际上作用于它所引用的对象C、一旦定义了引用,一切针对其所引用对象的操作只能通过该引用间接进行D、不需要单独为引用分配存储空间参考答案:C163.下列对继承的描述中,错误的是()。A、派生类对象不能访问基类的保护成员B、派生类对基类成员的访问权限随着继承方式而改变C、派生类成员可以访问基类的私有成员D、派生类继承了基类的所有成员参考答案:C164.下列对构造函数和析构函数的描述中,错误的是()。A、析构函数可以重载B、析构函数名与类名相同C、构造函数中可以设置参数的缺省值D、类中只有一个析构函数165.下列对二维数组a的正确定义是()。参考答案:A166.下列程序的输出结果为()intmain(){intm=7,n=4;floata=38.4,b=6.4,x;x=m/2+n*a/b+1/2;printf("参考答案:A167.下列程序的输出结果是()复制代码#include<iostream>Usingnamespacestd;Intmain(void){Intx=1,i=1;For(;xf(x>=10)Break;If(x%2!=0){X+=3;Cont参考答案:Cain(){chara]="Hello,World";har*ptr=a;wh参考答案:A169.下列程序的输出结果是()。#(inta,intb){staticintm,i=2;i+=m+1;main(){intk=4,m=1,p;voidfun(intp){intd=5;d+=p171.下列不是函数重载所要求的条件是()A、函数名相同B、参数个数不同C、参数类型不同D、函数返回值类型不同172.下列表达式,哪一是声明P为指向常量的指针()参考答案:A173.下列for循环的循环体执行次数为()。For(inti(0),j(10);参考答案:D174.系统在处理完一个异常后,下一步是()。A、返回抛出异常的地方,执行下一句B、执行当前异常处理语句的catch语句块的下一句C、转到主函数结束的地方D、异常退出参考答案:B175.文件流的说法正确的是A、输出文件流是从外存文件流向内存的数据B、输入文件流是从内存流向外存文件的数据C、每一个文件流都有一个内存缓冲区与之对应D、以上说法都正确此函数应选择()。A、内联函数B、重载函数C、递归函数D、函数模板177.为了使类中的某个成员能够被类的所有对象共享,应该将该类成员定义为()。A、常成员B、静态成员C、公有成员D、保护成员参考答案:B178.图的邻接矩阵存储正确的是A、定义一个数组用来存储顶点和边信息B、定义一个数组用来存储权重C、定义两个数组存储顶点和边信息序180.所有在函数中定义的变量,连同形式参数,都是()B、局部变量一起,形成一个实体,这实体也就是()。182.所谓多态性是指()A、不同的对象调用不同名称的函数B、不同的对象调用相同名称的函数C、一个对象调用不同名称的函数D、一个对象调用不同名称的对参考答案:B183.数据结构排序算法中比较常见的不稳定排序算法是A、冒泡排序B、折半插入排序C、快速排序D、以上都是稳定的184.适宜采用inline定义函数情况是()A、函数体含有循环语句B、函数体含有递归语句C、函数代码少、频繁调用D、函数代码多、不常调用参考答案:C185.使用重载函数编程序的目的是()。A、使用相同的函数名调用功能相似的函数B、共享程序代码C、提高程序的运行速度D、节省存贮空间186.使用输入输出操作符setw,可以控制()。(题)A、输出宽度B、输出精度C、对齐方式D、填充字符187.使用派生类的主要原因是()A、提高代码的可重用性B、提高程序的运行效率C、加强类的封装性D、实现数据的隐藏参考答案:A188.生成派生类对象时,派生类构造函数调用基类构造函数的条件是()。A、无需任何条件B、基类中显式定义了构造函数C、派生类中显式定义了构造函数D、派生类构造函数明确调用了基类构造函数A、简化程序B、消除二义性C、提高运行效率D、减少目标代码190.设有说明constchar*constp="ABCD";,则下列选项中正确的是A、允许修改指针p本身,且允许通过p修改所指向的数据B、允许修改指针p本身,且禁止通过p修改所指向的数据C、禁止修改指针p本身,且允许通过p修改所指向的数据D、禁止修改指针p本身,且禁止通过p修改所指向的数据191.设有如下定义:int*(*ptr)();则以下叙述中正确的是()A、ptr是指向一维数组的指针变量B、ptr是指向int型数据的指针变量C、ptr是指向函数的指针,该函数返回一个int型数据D、ptr是指向函数的指针,该函数的返回值是指向int型数据的指针A、编译时产生出错信息,不能正确输出B、输出2002,2003C、输出值为2002D、输出值为2003193.设有程序段:intk=10;while(k=0)k=k-1;则下面描述中正确的是()A、while循环执行10次B、循环是无限循环C、循环体语句一次也不执行D、循环体语句执行一次194.设已有定义char*st="howareyou";下列程序中正确的是()。195.设已定义浮点型变量data,以二进制方式把data的值出文件流对象outfile中去,正确的语句是()。196.设存在函数intmax(int,int)返回两参数中较大值,若求22,59,70三者中最大值,下列表达式不正确的是()197.设x为整型变量,不.能.正确表达数学关系1<x<5的C++逻辑表达式是()。198.设x和y均为bool量,则x&&y为真的条件是()。200.设intx=2,y=4,z=7;则执行x=y--<=x||x+y!=z后x,y的201.设inti=1,j=2;则表达式i+++j的值为()。202.设inta=3,b=4,c=5;表达式a+b>c&&b==c203.设a为5,执行下列语句后,b的值不为2的是()。204.设a和b均为double型变量,且a=5.5,b=2.5,则表达式(int)a+b/b的值是()。下面哪个序列为不可能的出栈序列()。计算,结构变量b占用内存的字节数为()。207.若有以下说明,在类外使用对象objX成员的正确语句是()。ClassX{inta;Voidfun1();Public:Vo208.若有以下类Z说明,函数fStatic中访问数据a错误的是()。ClassZ{staticinta;Public:StaticvoidfStat209.若有以下标志符定义:charc='c';bled=1.212;则表达式c+a/(int)d+f的结果类型是()210.若有如下函数声明:voidFun(intx);,则下列()能与该函数进行重载。211.若有如下程序#includeusingnamespacestd;voidfun(int*x,ints,正确的地址表示是()。参考答案:D213.若有定义floatw;intA,b;,则合法的switch语句是()。参考答案:C214.若有定义“intx=17;",则语句“cout参考答案:C215.若已经声明了函数原型voidfun(inta,doubleb=0.0);,则下列重载函数声明中正确的是()。216.若一棵二叉树的前序遍历序列和后序遍历序列分别为1,2,3,4和4,3,2,1,则该二叉树的中序遍历序列不会是217.若对n个元素进行直接插入排序,在进行第i趟排序时,假218.若classB中定义了一个classA的类成员Aa,关于类成员的正确叙述是()。A、在类B的成员函数中可以访问A类的私有数据成员D、类A的构造函数可以调用类B的构造函数做数据成员初始化221.如果inta=1,b=2,c=3,d=4;,则条件表达式a222.请问对一个排好序的数组进行查找,用平均时间复杂度最小的算法,时间复杂度为()参考答案:B223.派生类的对象对它的基类成员中()是可以访问的。A、公有继承的公有成员;B、公有继承的私有成员;C、公有继承的保护成员;D、私有继承的公有成员。224.能正确表示逻辑关系:“O≤a≤10”的C++语言表达式是()。参考答案:C226.两个特殊类继承于同一个一般类,它们的同名操作的表现却不相同的现象称为:B、继承D、抽象227.类中定义的成员默认为()访问属性。参考答案:B228.类A是类B的友元,类B是类C的友元,则()是正确的。A、类B是类A的友元B、类C是类A的友元C、类A是类C的友元D、以上都不对参考答案:D229.考虑函数原型voidtest(intA,intb=7,charch=¹*'),下面的函数调用中,属于不合法调用的是()230.具有5个顶点的无向完全图有几条边231.结构化程序设计所规定的三种基本控制结构是()。C、顺序、选择、循环参考答案:C234.假设已经定义好了类student,现在要定义类derived,它是从student私有派生的,则定义类derived的正确写法是()参考答案:D235.假设类X以类Y作为它的一个基类,并且X类的名字func()支配Y类的名字func(),obj为类X的对象,则obj.func()语句实现的功能为()。A、先执行类X的func(),再执行访问类Y的func()B、先执行类Y的func(),再执行访问类X的func()D、执行类Y的func()则下列函数调用正确的是()237.假设i=2,执行下列语句后i的值为()。Switch(i){case1:i238.假设ClassY:publicX,即类Y是类X的派生类,则说明一个Y类的对象时和删除Y类对象时,调用构造函数和析构函数的次序分别为()。239.假如指针p已经指向整型变量x,则(*p)++相当于()。240.假定一个类的构造函数为A(intaa,intbb){a=a--;b=a*bb;},241.假定变量m定义为“intm=7;”,则定义变量p的正确语句()。参考答案:B242.假定AB为一个类,则执行"ABa(2),b[3],*p[4];"语句时共调用该类构造函数的次数为()。参考答案:B243.假定AA为一个类,a()为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数成员a()的格式为()。参考答案:B244.己知一个顺序存储的线性表,设每个结点需占m个存储单元,若第一个结点的地址al,则第i个结点的地址为245.和顺序栈相比,链栈有一个比较明显的优势是A、通常不会出现栈满的情况B、通常不会出现栈空的情况C、插入操作更容易实现D、删除操作更容易实现参考答案:A246.函数voidfoo(){staticintval;…变量val的内存地址位于()A、未初始化数据段B、已初始化数据段D、栈247.函数intsum(inta=1,intb=1,intc=3)可与下列哪个函数同时声明()A、该代码编译无法通过B、该代码编译正常通过,变量i的值为3C、该代码编译正常通过,变量i的值为1D、该代码编译正常通过,如果调用函数f则i的值变为3,否则249.关于文件包含,下列描述错误的是()A、文件包含命令行必须以#include开头B、文件包含命令行的两种形式是有区别的,当#include后面的文件名用<>括起来时,应该先在源程序所在目录中进行搜索C、文件包含是可以嵌套的,即在被包含的文件中又使用文件包含命令行包含其他文件D、一个#include命令只能包含一个文件,当多个文件需要包含时,应使用多个#include命令行250.关于内联函数说法错误的是()。A、不是任何一个函数都可定义成内联函数。B、内联函数的函数体内不能含有复杂的结构控制语句。C、递归函数可以被用来作为内联函数。D、内联函数一般适合于只有1~5行语句的小函数。251.关于内联函数,以下说法正确的是。()A、内联函数不需要经过编译B、内联函数适用于函数体比较复杂的情况C、内联函数可以提高程序执行效率D、声明内联函数只需要在函数声明前加inline关键字252.关于类和对象不正确的说法是()A、类是一种类型,它封装了数据和操作B、对象是类的实例C、一个类的对象只有一个D、一个对象必属于某个类253.关于类成员函数的重载、覆盖和隐藏,下面说法错误的是()A、重载函数必须要在同一个类中B、派生类函数覆盖基类函数,基类函数最好不要有virtual关键字C、如果派生类的函数与基类的函数名相同,通过派生类的实例也只能调用到派生类的函数。D、重载函数不必使用virtual关键字修饰参考答案:B254.关于delete运算符的下列描述中,()是错误的。A、它必须用于new返回的指针;B、使用它删除对象时要调用析构函数;C、对一个指针可以使用多次该运算符;D、指针名前只有一对方括号符号,不管所删除数组的维数。255.关于C++主函数特性,下列叙述正确的是()。A、主函数在同一个C++文件中可以有两个B、主函数类型必须是void类型C、主函数一定有返回值D、每个C++程序都必须有一个main()函数256.关系表达式的求值结果为()。C、任意正整数或0D、任意负整数或0257.关键字unsigned不能修饰的类型是()。参考答案:C258.构造异质链表的意义是()。A、用数组组织类对象B、用链表组织类对象C、用抽象类指针指向派生类对象D、用抽象类指针构造派生类对象链表259.构造函数是在()时被执行的。A、程序编译B、创建对象C、创建类D、程序装入内存260.分布式环境下是否可以通过套接字(Socket)实现两个进程(位于不同主机)的通讯?261.非空的循环单链表head的尾结点p满足=A::E::N*M};};templateclassA{public:enumE{NA、编译错误,定义数组时下标必须为常量B、能正确编译,数组a大小为24C、能正确编译,数组a大小为4D、能正确编译,数组a大小为10参考答案:B263.对于表达式boolx=5;inta=x==5;变量a的值为()。(题)参考答案:B264.对于C/C++语言的函数,下列叙述中正确的是()。A、函数的定义不能嵌套,但函数调用可以嵌套。B、函数的定义可以嵌套,但函数调用不能嵌套C、函数的定义和调用都不能嵌套。D、函数的定义和调用都可以嵌套265.对于"int*pa[5];"的描述中正确的是A、pa是一个指向数组的指针,所指向的数组是5个int型元素B、pa是一个指向某数组中第5个元素的指针,该元素是int型变量C、pa[5]表示某个元素的第5个元素的值D、pa是一个具有5个元素的指针数组,每个元素是一个int型指针266.对使用关键字new所开辟的动态存储空间,释放时必须使用参考答案:C267.逗号表达式(x=2*3,x=x*5),x+25的值为()。参考答案:B268.当执行以下程序段时()。y=-1;do{y--;}while(-y);coutA、循环体将执行一次B、循环体将执行两次C、循环体将执行无限次D、系统将提示有语法错误269.存在定义inta[10],x,*pa;,若pa=&a[0],下列的哪个选项和其他3个选项不是等价的?()。参考答案:A270.程序中主函数的名字为()。D、任意标识符参考答案:A271.常量4.2、4.3f、4L的数据类型分别是()。参考答案:B272.采用链结构存储线性表时,其地址A、必须是连续的B、连续不连续都可以274.不能作为函数重载判断的依据的是()275.编写C++程序一般需经过的几个步骤依次是()_。D、编译、编辑、连接、运行276.必须用一对大括号括起来的程序段是()。A、switch语句中的case标号语句B、if语句的分支C、循环语句的循环体D、函数的函数体参考答案:D277.比较C语言与C++语言,最明显的差异在于()。A、输入输出流B、数据结构C、流程控制278.按照标识符的要求,不能组成标识符的符号是()B、下划线C、大小写字母D、数字字符279.vector随机读的时间复杂度是?86thB、插入282.IO流中istream继承于()类A、读入一个字符串并返回它的值B、读入一个字符并返回它的值286.if语句的语法格式可描述为:格式1:if()或格式2:if()B、部分可以是一个循环语句,例如if(..)while(..)..C、部分可以是一个if语句,例如if(if(a==0)..)…D、部分可以是一个if语句,例如if(.)if(.)287.if语句的语法格式可描述为:格式1:if()或格式2:if()else关于上面的语法格式,下列叙述中错误的是()。A、如果在<条件>前加上逻辑非运算符!并交换<语句1>和<语句2>的位置,语句功能不变B、<语句>部分可以是一个循环语句,例如if(..)while(...)..C、<条件>部分可以是一个if语句,例如if(if(a==0).….)…D、<语句>部分可以是一个if语句,例如if(..)if(..)...288.if(a>b)max=a;elsemax=b;将该语句写成三目运算表达式语句是()。289.fstreamiofile说法正确的是A、只输入用B、既输入又输出用C、只输出用D、它是从ifstream类派生的。290.for(intx=0,y=0;lx&&y<=10;y++);语句执行循环的次数是D、无限参考答案:C291.C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符()A、必须为字母B、必须为下划线C、必须为字母或下划线D、可以是字母,数字和下划线中任一字符292.class的默认的继承访问权限是?293.C++中是否允许在类结构中定义函数()A、不允许B、允许C、仅允许定义构造函数D、只不允许定义构造函数294.C++源程序的实现一般要经过三个步骤,其中不包括()。A、编辑A、break语句只应用于循环体中。D、break和continue的跳转范围不够明确,容易产生问题。296.C++语言的函数体必须放在一对()中297.C++输入输出格式控制是在哪个头文件中定义的?()298.C++的继承性允许派生类继承基类的()。A、部分特性,并允许增加新的特性或重定义基类的特性B、部分特性,但不允许增加新的特性或重定义基类的特性C、所有特性,并允许增加新的特性或重定义基类的特性D、所有特性,但不允许增加新的特性或重定义基类的特性参考答案:C299.C++的合法注释是()。300.C++程序中的简单语句必须以()结束。(题)C、分号D、花括号301.c++11的智能指针类型不包括?参考答案:D302.Boost库是什么语言写的?参考答案:D303.[赋值兼容规则]下列程序的输出是:#includenamespacestd;ClassA{Public:voidshow(){cout<<"A";ublicA{Public:voidshow(){cout<<"B";}};Intmain()how();Aa1=b1;a1.show();Ret参考答案:D304.()是给变量取一个别名,它引入了变量的同意词。A、指针B、引用C、枚举参考答案:B305.()的功能是对象进行初始化。A、析构函数B、数据成员C、构造函数D、静态成员函数参考答案:C306.()不是构造函数的特征。A、构造函数的函数名与类名相同;B、构造函数可以重载;C、构造函数可以设置缺省参数;D、构造函数必须指定类型说明。307.#ifndefHEAD_FILE#defineHEAD_FILE#endif的作用是?A、头文件的标识,没有实质的作用B、防止头文件被重复包含1.栈和队列的共同特点不包括A、只允许在端点处插入和删除元素B、都是先进后出C、都是先进先出D、都是后进先出参考答案:BCD2.在学习队列时,下列关于队列的叙述中正确的是()A、在队列中只能插入数据B、在队列中只能删除数据C、队列是先进先出的线性表D、在队列中既能插入数据又能删除数据参考答案:CD3.在数据结构中,在队列中存取数据元素的原则是A、先进先出B、后进后出C、后进先出4.在数据结构中,链表具有如下的特点是A、可随机访问任一元素B、插入删除不需要移动元素C、不必事先估计存储空间D、所需空间与线性表长度成正比5.在二叉排序树(二叉搜索树)中,最小值结点的说法不正确的是A、其左孩子一定为空指针B、其右孩子一定为空指针C、其左、右指针均为空D、其左、右指针均不为空6.在对数据结构的使用中以下不属于用链表表示线性表的优点是A、便于随机存取B、便于进行插入和删除操作C、占用的存储空间较顺序表少D、元素的物理顺序与逻辑顺序相同7.在C++中,有函数原型voidfun1(int);以下正确的是()。8.以下序列中可能是一棵二叉查找树的后序遍历结构的是9.以下哪属于队列的基本运算的是A、在队列第1个元素之后插入一个元素B、从队头删除一个元素C、断一个队列是否为空D、读取队头元素的值10.以下关于函数指针说法正确的是()。A、1个函数的函数名就是该函数的入口地址B、函数指针变量不能进行算术运算C、可以用如下形式定义1个函数指针变量:int*pf()D、假设有1个函数指针pf和1个函数f(),则可以用如下形式给函数指针赋值:pf=f()11.以下关于哈希表的说法正确的是()。A、哈希表是有序存储的B、哈希表中存储了元素和与之一一对应的关键字C、在哈希表中查询元素可以根据元素对应的关键字查找D、哈希表中删除1个元素需要同时删除元素和元素对应的关键字12.以下对于Shell排序的说法中不正确的是A、Shell排序每的最后一趟排序的地址增量一定是1。B、Shell排序每的最后一趟排序的地址增量可能是2。C、Shell排序是一种插入排序D、Shell排序是一种选择排序13.以下不能唯一地确定一棵二叉树的是A、前序序列B、中序序列C、前序和后序序列D、中序和后序序列14.已知中序遍历的序列为abcdef,高度最小的可能的二叉树的叶是()。A、一次只能取a的1个成员的值B、sizeof(a)的运算结果是1012,因为内存对齐默认是4字节C、可以使用a.i调用联合类型a的成员iD、a不能作为结构类型的1个成员17.已知M,N,O顺序进栈(进的过程中允许出栈),下列可以18.一棵树可转换成为与其对应的二叉树,则下面叙述不正确的是A、树的先根遍历序列与其对应的二叉树的先序遍历相同B、树的后根遍历序列与其对应的二叉树的后序遍历相同C、树的先根遍历序列与其对应的二叉树的中序遍历相同D、只有A正确19.要想删除1个链表中的节点,必须的操作包括:()A、判断该节点是否是头节点B、删除该节点C、将前1节点的指针指向被删除节点的后1节点D、将被删除节点的指针设为空20.循环链表的优点不包括A、不再需要头指针了B、已知某个结点的位置后,能够容易找到它的直接前趋D、从表中任一结点出发都能扫描到整个链表21.循环队列存储在数据A[0..m]中,不是入队时的操作为22.线性结构和树形结构的前驱结点的说法正确的是A、在线性结构中,第一个结点没有前驱结点B、在树形结构中,树根结点没有前驱结点C、在线性结构中,第一个结点有前驱结点D、以上说法都正确23.线性表的链接实现不利于A、插入B、读元素D、定位24.下面哪些数据类型所占的内存一定不会大于10字节?()A、只包含基本数据类型的结构B、只包含基本数据类型的联合25.下面哪些数据结构是链表的变种?()A、顺序表D、二叉树A、在多个地方和场合会被用到的数据C、内存容量很大的局部变量A、线性表在链式存储时,查找第i个元素的时间同i值无关B、线性表在链式存储时,查找第1个元素的时间同i值成正比C、线性表在顺序存储时,查找第1元素的时间同i值无关D、线性表在顺序存储时,查找第1个元素的时间同i值成正比28.下面关于树的说法中正确的是()。A、1个树可能有1个根,也可能有多个29.下面关于快速排序和插入排序的选择正确的是A、若初始记录基本无序,则最好选用快速排序B、若初始数据基本正序,则选用插入排序C、若初始记录基本无序,则最好选用插入排序D、若初始数据基本正序,则选用快速排序30.下面关于对象概念的描述中正确的是A、对象就是C语言中的结构变量B、对象代表着正在创建的系统中的一个实体C、对象是一个状态和操作(或方法)的封装体D、对象之间的信息传递是通过消息进行的31.下列运算符中,()运算符在C++中能重载。32.下列选项中哪几个函数属于C++语言的标准库函数?()A、插入不方便B、删除不方便C、表长固定41.数据结构中栈和队的共同点不包括A、都是先进后出B、都是后进先出C、只允许在端点处插入和删除元素D、没有共同点42.数据结构中下面关于算法的说法正确的是()A、算法必须有输出B、算法必须在计算机上实现C、算法不一定有输入D、算法必须在有限步执行后能结束43.数据结构中,线性结构的特点描述正确的是A、研究数据元素之间的一对一关系B、除第一个和最后一个元素外,任何一个元素都有唯一的一个直接前驱和直接后继C、比树结构更复杂D、比图结构更复杂44.数据结构中,二叉树结点和说法正确的是A、二叉树中每个结点的两棵子树的高度差等于1B、二叉树中每个结点的两棵子树是有序的。C、二叉树中每个结点有两棵非空子树或有两棵空子树。D、具有12个结点的完全二叉树有5个度为2的结点。45.数据结构的算法分析的两个主要方面是什么A、空间复杂性B、正确性C、数据复杂性D、时间复杂性46.树的结点描述正确的是下列哪些A、树有且仅有一个特定的结点称为根B、树有且仅有一个特定的结点称为叶子C、一个结点的直接后继称为该结点的孩子结点D、一个结点的直接后继称为该结点的兄弟结点47.深度为k的完全二叉树,其叶子结点可能在哪几层上不能其判空条件是()A、冒泡排序一趟扫描的结果是HCQPAMSRDFXYB、快速排序一趟扫描的结果是FHCDPAMQRSC、快速排序一趟扫描的结果是HCQPAMSRDFXYD、冒泡排序一趟扫描的结果是FHCDPAMQRSYX50.若一棵二叉树的先序和中序序列分别是abfcde和bfadce,则其51.某队列允许在其两端进行入队操作,但仅允许在一端进行出队操作。若元素a、b、c、d、e依次入此队列后再进行出队操作,则可能得到的出队序列是()。参考答案:ABD52.面向对象程序设计方法的基本特征是()。B、封装D、消息53.每个C++程序可以有多个A、预处理命令B、主函数C、函数D、语句54.集合、栈、队列和二叉树哪些是线性表C、队列55.关于字符数组与字符串,说法正确的有()。A、字符数组可以用字符串进行赋值B、字符串是以’\0’为结尾标志的字符数组C、字符串有输入输出函数,而字符数组没有D、C语言中自带了字符串的数据类型56.关于自动类型转换,以下说法正确的有()。A、int型可以转换为long型B、int型可以转换为double型C、double型可以转换为float型D、char型不能参与算术运算57.关于循环队列下列叙述中不正确的是A、循环队列有队头和队尾两个指针,因此,循环队列是非线性B、在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C、循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D、循环队列中元素的个数是由队头指针和队尾指针共同决定58.关于算法的时间复杂度的描述中正确的是B、算法的时间复杂度与使用的计算机系统无关C、算法的时间复杂度与使用的程序设计语言无关D、算法的时间复杂度与实现算法过程中的具体细节无关59.关于二叉树的概念,下面正确的说法是A、在二叉树的第i(i≥1)层上至多有2^(i-1)个结点B、深度为k(k≥1)的完全二叉树至多2^k-1个结点C、深度为k(k≥1)的完全二叉树最少有2^(k-1)个结点D、以上说法都正确60.关于二叉树、满二叉树和完全二叉树的计算正确的是A、由3个结点所构成的二叉树有5种形态B、一棵深度为6的满二叉树有31个分支结点C、一棵深度为6的满二叉树有31个叶子D、以上计算都不正确61.关于查找的描述,下列说法不正确的是A、在查找树(二叉树排序树)中插入一个新结点,总是插入到叶结点下面B、查找相同结点的效率折半查找总比顺序查找高。C、对无序表用二分法查找比顺序查找快。D、任一查找树(二叉分类树)的平均查找时间都小于用顺序查找法查找同样结点的线性表的平均查找时间62.关于插入排序和希尔排序的稳定性分析正确的是A、直接插人排序是一种稳定的排序算法B、直接插人排序是一种不稳定的排序算法C、希尔排序是一种稳定的排序算法D、希尔排序是一种不稳定的排序算法63.关于for(表达式1;表达式2;表达式3)循环语句,以下说法正确的是()。A、如果表达式1为空,会出现编译错误B、如果表达式2为空,会进入死循环C、如果表达式3为空,会进入死循环D、3个表达式都可以在for()语句外部执行A、封装是一种信息隐藏技术B、标识符是由字母、数字、下划线组成的字符串,必须或下划线开头65.根据先序序列ABDEC和中序序树,关于该二叉树的说法正确的是D、是满二叉树66.二叉树是有()基本单元构成。A、根节点67.二叉排序树不可以得到一个从小到大的有序序列的是A、先序遍历B、中序遍历C、后序遍历D、前序遍历和后序遍历68.对于折半查找方法,下面的说法正确的是A、折半查找方法不适用于按值有序链接的链表的查找B、折半查找方法适用于按值有序的顺序表的查找C、折半查找方法适用于按关键字值大小有序排列的顺序文件的查找D、折半查找方法适用于排序连续顺序文件的查找69.对于静态表的顺序查找法,若在表头设置监视哨,查找方式不正确的是()A、从第0个元素往后查找该数据元素B、从第1个元素往后查找该数据元素C、从第n个元素往开始前查找该数据元素D、与查找顺序无关70.对一个算法的评价,包括如下()方面的内容A、可读性B、并行性C、正确性71.当在一个有序的顺序存储表上查找一个数据时,即可用折半查A、前者比后者的查找速度必定快B、前者比后者的查找速度必须不快C、前者比后者的查找速度在大部分情况下快D、前者比后者的查找速度取决于表递增还是递减72.大多数排序算法都有两个基本的操作是B、删除D、增加A、建立文件对象B、打开文件C、使用文件用于输入或输出D、关闭文件74.插入排序和希尔排序是数据结构中重要的排序算法,下面正确的是A、直接插人排序是一种稳定的排序算法B、直接插人排序是一种不稳定的排序算法C、希尔排序是一种稳定的排序算法D、希尔排序是一种不稳定的排序算法75.ostream是下面哪些的父类76.IO流中,ostream是哪些类的父类·77.C++中下列字符串中可以作为标示符的是78.C++语言中,从函数定义的角度出发,可以把函数分为()。B、用户定义函数C、有参函数D、无参函数判断题A、正确B、错误2.在有序表A[1..20]中,按二分查找方法进行查找,查找长度为5的元素个数是5B、错误3.在线性表的顺序存储结构中,逻辑上相邻的两个元素在物理位置上不一定相邻。参考答案:B4.在下列定义的类A中,成员y是私有的。ClassA{Public:Intx;Int参考答案:B5.在数据结构中,线性结构是针对数据元素一对一的关系B、错误6.在数据结构中,算法的优劣与算法描述语言无关,但与所用计算机有关B、错误7.在派生类的构造函数的初始化表中不能对包含基类的子对象B、错误式对应的部分。A、正确B、错误9.在单链表中和在顺序表中插入一个元素其时间复杂度均为O(n),因此说它们的执行时间是相等的A、正确B、错误10.在单链表中,要访问某个结点,只要知道该结点的地址即可;因此,单链表是一种随机存取结构。A、正确B、错误11.在c++中,传引用调用等同于传值调用。A、正确B、错误12.运算符重载后,原运算符的优先级和结合特性会改变A、正确B、错误参考答案:B13.运行以下程序后a的值为2:inta=1;if(a==1);a=2A、正确B、错误0时,需2次查找成功A、正确B、错误15.友元函数用于允许一个函数访问不相关类的私有部分,因此在程序设计时可以广泛使用友元函数。A、正确B、错误16.友元函数是类的成员函数,所以可以存取或修改该类中的私有成员A、正确B、错误A、正确宏展开后是:b=3+1*3+1=7则变量a的值为16。20.已知:inta(5),b(10);表达式++a+b++有二义性。B、错误22.循环链表不是线性表A、正确B、错误参考答案:B23.虚析构函数是为了解决基类的指针指向派生类对象,并用基

温馨提示

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

最新文档

评论

0/150

提交评论