全国计算机等级考试二级c++题库13共17套

全国计算机等级考试二级c++题库13共17套
全国计算机等级考试二级c++题库13共17套

第十三套

1、下列关于队列的叙述中正确的是______。

A、在队列中只能插入数据

B、在队列中只能删除数据

C、队列是先进先出的线性表

D、队列是先进后出的线性表

队列是指允许在一端进行插入、而在另一端进行删除的线性表。它又称为"先进先出"或"后进后出"的线性表,体现了"先来先服务"的原则。

本题答案为C。

2、面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是______。

A、模拟现实世界中不同事物之间的联系

B、强调模拟现实世界中的算法而不强调概念

C、使用现实世界的概念抽象地思考问题从而自然地解决问题

D、鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考

面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是,使用现实世界的概念抽象地思考问题从而自然地解决问题。它强调模拟现实世界中的概念而不强调算法,它鼓励开发者在软件开发的绝大部分中都用应用领域的概念去思考。

本题答案为C。

3、希尔排序法属于哪一种类型的排序法______。

A、交换类排序法

B、插入类排序法

C、选择类排序法

D、建堆排序法

希尔排序法的基本思想是:将整个无序序列分割成若干小的子序列分别进行插入排序。所以希尔排序法属于插入类排序,但它对简单插入排序做了很大的改进。

本题答案为B。

4、信息隐蔽的概念与下述哪一种概念直接相关______。

A、软件结构定义

B、模块独立性

C、模块类型划分

D、模拟耦合度

信息隐蔽是指在一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说是不能访问的。

模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。

衡量软件的模块独立性的度量标准是耦合性和内聚性。一个模块的内聚性越强,则该模块的模块独立性越强。而内聚性是信息隐蔽和局部化概念的自然扩展。

本题答案为B。

5、数据库概念设计的过程中,视图设计一般有三种设计次序,以下各项中不对的是______。

A、自顶向下

B、由底向上

C、由内向外

D、由整体到局部

数据库概念设计的过程中,视图设计一般有三种设计次序,它们是:

1、自顶向下。这种方法是先从抽象级别高且普遍性强的对象开始逐步细化、具体化与特殊化。

2、由底向上。这种设计方法是先从具体的对象开始,逐步抽象,普遍化与一般化,最后形成一个完整的视图设计。

3、由内向外。这种设计方法是先从最基本与最明显的对象着手逐步扩充至非基本、不明显的其它对象。

本题答案为D。

6、对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为______。

A、N+1

B、N

C、(N+1)/2

D、N/2

在进行顺序查找过程中,如果线性表中被查的元素是线性表中的最后一个,或者被查元素根本不在线性表中,则为了查找这个元素需要与线性表中所有元素进行比较,这是顺序查找最坏的情况。

本题答案为B。

7、在结构化方法中,软件功能分解属于下列软件开发中的______阶段。

A、详细设计

B、需求分析

C、总体设计

D、编程调试

总体设计过程通常由两个主要阶段组成:系统设计,确定系统的具体实现方案;结构设计,确定软件结构。为确定软件结构,首先需要从实现角度把复杂的功能进一步分解。分析员结合算法描述仔细分析数据流图中的每个处理,如果一个处理的功能过分复杂,必须把它的功能适当地分解成一系列比较简单的功能。

本题答案为C。

8、按条件f对关系R进行选择,其关系代数表达式为______。

A、

B、

C、бf(R)

D、∏f(R)

选择运算是一个一元运算,关系R通过选择运算(并由该运算给出所选择的逻辑条件)后仍为一个关系。这个关系是由R中那些满足逻辑条件的元组所组成。如果关系的逻辑条件为f,则R满足f的选择运算可以写成:бf(R)。

本题答案为C。

9、软件调试的目的是______。

A、发现错误

B、改正错误

C、改善软件的性能

D、挖掘软件的潜能

由程序调试的概念可知:程序调试活动由两部分组成,其一是根据错误的迹象确定程序中错误的确切性质、原因和位置。其二,对程序进行修改,排除这个错误。所以程序调试的目的就是诊断和改正程序中的错误。

本题答案为B。

10、在下列选项中,哪个不是一个算法一般应该具有的基本特征______。

A、确定性

B、可行性

C、无穷性

D、拥有足够的情报

作为一个算法,一般应具有以下几个基本特征。

1、可行性

2、确定性

3、有穷性

4、拥有足够的情报

本题答案为C。

11、设"char **s;",以下正确的表达式是______。

A、s="computer"

B、*s="computer"

C、**s="computer"

D、*s='c'//char为字符

本题考查的是字符指针的使用。

”char **s“表示定义一个二级指针s,s存放一个字符指针的地址。故”*s”表示一个字符指针。

故本题选B。

12、对于常成员函数,下面说法正确的是______。

A、常成员函数只能修改常数据成员

B、常成员函数只能修改一般数据成员

C、常成员函数不能修改任何数据成员

D、常成员函数只能通过常对象调用

本题考查常成员函数的性质。

使用关键字const说明的函数称为常成员函数,常成员函数不能更新对象中的数据成员。

故本题答案是C。

13、类的默认的拷贝构造函数______。

A、在任何情况下都存在

B、仅当未定义拷贝构造函数时存在

C、仅当未定义有参构造函数时存在

D、仅当未定义任何构造函数时存在

本题考查拷贝构造函数的概念。

拷贝构造函数也是一种构造函数,因此函数名必需与类名相同,并且不能指定函数返回值类型。每个类必需有一个拷贝构造函数,如果没有声明一个拷贝构造函数,编译器会自动产生一个。

故本题选B。

14、有如下程序段:

……

for(int i = 1;i<4;i++)

{

if(i%2 == 0)

coutinue;

cout<

}

……

其输出的结果为______。

A、1,

B、1,3,4,

C、1,3

D、1,3,

本题考查continue语句的使用。

coutinue语句的作用是结束本次循环,接着开始判断决定是否继续执行下一次循环。

本题答案为D。

15、为了避免嵌套的if-else语句的二义性,C语言规定else总是与______组成配对关系。

A、缩排位置相同的if

B、在其之前未配对的if

C、在其之前未配对的最近的if

D、同一行上的if

本题考查if--else结构。

if--else语句中,else总是与它上面的最近的未配对的if配对。

故本题选C。

16、如下程序段的执行后a,b的值分别是______。

……

void m(int a,int &b);

int main()

{

int a=1,b=2;

m(a,b);

}

void m(int a,int &b) //传值和引用

{

int i;

i=a;

a=b;

b=i;

}

A、2,2

B、2,1

C、1,1

D、1,2

本题考查的是函数调用。

函数的调用方式有两种传值调用和传引用调用。引用调用时可以改变实参的值。

故本题答案为C。

17、对于类中定义的成员,其隐含访问权限为______。

A、static

B、public

C、protected

D、private

本题考查类的基本概念。

类成员的隐含访问权限为private,这是类和结构体的区别之一。

故本题选D。

18、不可以进行运算符重载的运算符为______。

A、[]

B、*

C、()

D、?:

本题考查了运算符重载的概念。

对于“.”,“.*”,“->*”,“::”,“?:”等操作符在C++中无法重载的。

故本题选D。

19、若x是一个bool型变量,y是一个值为100的int型变量,则表达式 !x && y>0 的值______。

A、为true

B、为false

C、与x的值相同

D、与x的值相反

本题考查的是逻辑运算符。

C++中有三种逻辑运算符!(非),||(或),&&(与)。运算的优先级从高到底依次为!,&&,||。

故本题选D。

20、for(i=0, x=0; !x&&i<=5; i++)循环的次数为______。

A、5

B、6

C、1

D、无限

本题考查的是循环语句。

!x值为true可不考虑,单独考虑i的值从0到5循环了6次。

故本题选B。

21、关于虚函数的描述中,正确的是______。

A、虚函数是一个static类型的成员函数

B、虚函数是一个非成员函数

C、基类中说明了虚函数后,派生类中将其对应的函数可不必说明为虚函数

D、派生类的虚函数与基类的虚函数具有不同的参数个数和类型

本题考查的虚函数的使用

在成员函数前加上virtual修饰,即把该函数声明为虚函数。在派生类中可以重新定义从基类继承下来的虚函数。

故本题选C。

22、已知:类A中一个成员函数说明如下:

void Set(A&a);

其中,A&的含义是______。

A、指向类A的指针为a

B、将a的地址值赋给变量Set

C、a是类A对象的引用,用来作函数Set()的参数

D、变量A与a按位与作为函数Set( )的参数

本题考查的引用的用法。

引用是为变量取个别名,声明的方式为类型 &引用名=变量名。引用可以作为一个函数的参数。

故本题选C。

23、对于C/C++语言的函数,下列叙述中正确的是______。

A、函数的定义不能嵌套,但函数调用可以嵌套

B、函数的定义可以嵌套,但函数调用不能嵌套

C、函数的定义和调用都不能嵌套

D、函数的定义和调用都可以嵌套

本题考查函数定义的基本概念。

函数的定义不可以嵌套,即不能在一个函数的内部定义另外一个函数。但是函数的调用可以嵌套。可以在一个函数的内部调用另外一个函数。

故本题选A。

24、对于"int *pa[5];"的描述中,______是正确的。

A、pa是一个指向数组的指针,所指向的数组是5个int型元素

B、pa是一个指向某数组中第5个元素的指针,该元素是int型变量

C、pa [5]表示某个元素的第5个元素的值

D、pa是一个具有5个元素的指针数组,每个元素是一个int型指针

本题考查的是指针数组。

*pa[5]是具有五个元素的指针数组,int *pa[5]则表示每个元素都是整型的指针。

故本题选D。

25、在"int a[ ][3]={{1},{3,2},{4,5,6},{0}};"中,a[2][2]的值是______。

A、1

B、0

C、6

D、2

本题考查二维数组的使用。

数组可以在定义的时候给出其初始化的值,如果所给的比数组的大小少,则后面缺省的是0。

故本题选C。

26、下面的哪个保留字不能作为函数的返回类型______。

A、new

B、int

C、void

D、long

本题考查函数的定义。

函数的返回值可以是基本的数据类型也可以是用户自定义类型。new不是基本的数据类型,所以不能用它来作为函数的返回值。

故本题选A。

27、______不是构造函数的特征。

A、构造函数的函数名与类名相同

B、构造函数可以重载

C、构造函数可以设置缺省参数

D、构造函数必须指定类型说明

本题考查构造函数的基本概念。

构造函数是特殊的成员函数,它必需与类名相同,不能指定返回值类型,可以有一个或者多个参数可以重载。

故本题选D。

28、当类中一个字符指针成员指向具有n个字节的存储空间时,它所能存储字符串的最大长度为______。

A、n-2

B、n-1

C、n

D、n+1

本题考查的是字符指针。

C++中,字符串总是以'\0'作为字符串结束的标志的。

故本题选B。

29、已知数组A和指针p定义为:int A[20][10],*p;,要使p指向A的首元素,正确的赋值表达式是______。

A、p=&A 或 p=A[0][0]

B、p=A[0] 或 p=&A[0][0]

C、p=A 或 p=&A[0][0]

D、p=&A[0] 或 p=A[0][0]

本题考查的指针和二维数组的概念。A[0]表示指针,其存放的是

A[0][0]的地址,A[0][0]表示数组A的第一个值,所以要在A[0][0]前加"&"。

故本题选B。

30、在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用______。

A、内联函数

B、重载函数

C、递归调用

D、嵌套调用

本题考查的是内联函数。

内联函数像宏函数一样展开,没有参数的压栈和退栈操作,因此执行的效率更高。

故本题选A。

31、当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为______。

A、ios::in

B、ios::out

C、ios::in | ios::out

D、没有

本题考查的是文件的操作。

在C++中用fstream流类定义一个流对象并打开一个磁盘文件时,没有隐含的打开方式。

故本题选D。

32、在下面的一维数组定义中,______有语法错误。

A、int a[]={1,2,3}

B、int a[10]={0}

C、int a[]

D、int a[5]

本题考查的是数组的定义。

数组定义时需要指定数组的大小,如果给出初始值,可以省略数组的大小,系统会根据所给的元素自动计算出其大小。但是不可以在没有给出初始值的情况下缺省大小。

故本题选C。

33、已知某应用系统中已经定义了函数fun,其原形是int fun(char ='A'); 则下列函数中,可以在同一系统中加以重载的是

______。

A、int fun();

B、int fun(char);

C、int fun(char,int);

D、int fun(char,double=0.0);

本题考查的重载函数的定义。

重载的函数要求它们参数的个数或者类型不同。

所以本题选C。

34、在下列表示引用的方法中,______是正确的。已知:int m=10;

A、int &x=m

B、int &y=10

C、int &z

D、float &t=&m

本题考查的是引用的定义。

引用是给变量起个别名,引用定义形式为:类型 &引用名=变量名。

故本题选A。

35、由C++目标文件连接而成的可执行文件的缺省扩展名为______。

A、cpp

B、exe

C、lik

D、obj

本题考查C++的基本概念。

由C++编辑器编辑好的程序叫源程序扩展名为.cpp,由编译程序编译过的程序扩展名为.obj,由连接程序连接而成的可程序叫做可执行程序,扩展名为.exe。

故本题选B。

36、数据流的类型有______和事务型。

标准答案为:变换型

典型的数据流类型有两种:变换型和事务型。

变换型:是指信息沿输入通路进入系统,同时由外部形式变换为内部形式,进入系统的信息通过变换中心,经加工处理以后再沿输出通路变换成外部形式离开软件系统。

事务型:在很多软件应用中,存在某种作业数据流,它可以引发一个或多个处理,这些处理能够完成该作业要求的功能,这种数据流就叫做事务。

37、栈的基本运算有三种:入栈、退栈和______。

标准答案为:读栈顶元素或读栈顶的元素或读出栈顶元素

栈的基本运算有三种:入栈、退栈和读栈顶元素。

入栈运算是指在栈顶位置插入一个新元素。这个运算有两个基本操作:首先将栈顶指针进一(即top 加1),然后将新元素插入到栈顶指针指向的位置。

退栈运算是指取出栈顶元素并赋给一个指定的变量。这个运算有两个基本操作:首先将栈顶元素(栈顶指针指向的元素)赋给一个指定的变量,然后将栈顶指针退一(即top减1)。

读栈顶元素是指将栈顶元素赋给一个指定的变量。这个运算不删除栈顶元素,只是将它的值赋给一个变量。

38、关系模型的数据操纵即是建立在关系上的数据操纵,一般有______、增加、删除和修改四种操作。标准答案为:查询

关系模型的数据操纵即是建立在关系上的数据操纵,一般有查询、增加、删除和修改四种操作。

数据查询:用户可以查询关系数据库中的数据,它包括一个关系内的查询以及多个关系间的查询。

数据删除的基本单位是一个关系内的元组,它的功能是将指定关系内的指定元组删除。

数据插入仅对一个关系而言,在指定关系中插入一个或多个元组。

数据修改是在一个关系中修改指定的元组和属性。

39、在面向对象方法中,信息隐蔽是通过对象的______性来实现的。

标准答案为:封装

软件工程的基本原则包括抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。

信息隐蔽是指采用封装技术,将程序模块的实现细节隐藏起来,使模块接口尽量简单。

40、数据库系统中实现各种数据管理功能的核心软件称为______。

标准答案为:数据库管理系统或 DBMS

数据库管理系统是数据库的机构,它是一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等。数据库管理系统是数据库系统的核心。

41、使用const语句定义一个标识符常量时,则必须对它同时进行______。

标准答案为:初始化

定义常量必需对其进行初始化。

42、假定P所指对象的值为25,p+1所指对象的值为46,则执行"(*p)++;"语句后,P所指对象的值为______。标准答案为:26

本题考查的是指针使用。

(*p)++首先是将p所指向的内存单元的数值取出,然后加1。故本题答案为26。

43、已知'A'~'Z'的ASCII码为65~90,当执行"char ch=14*5+2;cout<

标准答案为:H

ASCII码为72的字符为'H'。在系统容许的情况下,赋值符“=”总是试着将右边的表达式向左边变量的类型转换。

44、用new动态申请的内存空间,必须用______来释放。

标准答案为:delete

用new动态申请的内存空间,必须用delete来释放。new和delete是相对应的。

45、字符串"hello,world"在内存中存放时,占用______个字节的空间。

标准答案为:12

字符串中有一个字符串的结束符'\0',需要占一个字节的空间。

46、基类中被说明为______的成员只能被其派生类的成员函数访问,不能被外界函数访问。

标准答案为:protected

基类中被说明为protected的成员只能被其派生类的成员函数访问,不能被其它的函数访问。

47、若需要把一个函数"void F();"定义为一个类AB的友元函数,则应在类AB的定义中加入一条语句:______。

标准答案为:friend void F( );

友元函数定义时在函数前面加上关键字friend。

48、说明指向______类型的指针,说明以后,这个指针就可指向各种不同类型的数据对象。

标准答案为:void

空类型void用于显示说明一个函数不返回任何值。还可以说明指向void类型的指针,说明以后,这个指针就可指向各种不同类型的数据对象。

49、将两个字符串连接起来组成一个字符串时,用______函数。

标准答案为:strcat

函数strcat的作用是将两个字符串连接起来组成一个字符串。

50、设px是指向一个类动态对象的指针变量,则执行"delete px;"语句时,将自动调用该类的______函数。

标准答案为:析构

(本资料素材和资料部分来自网络,仅供参考。请预览后才下载,期待您的好评与关注!)

相关主题
相关文档
最新文档