计算机软件工程师冲刺复习题

以下关于函数说法不对的是()。

  • A、初等函数的导函数是初等函数
  • B、连续函数一定存在原函数
  • C、初等函数的原函数是初等函数
  • D、非初等函数没有原函数


正确答案:C

消费函数和储蓄函数的关系()。

  • A、消费函数和储蓄函数为互补关系
  • B、消费函数大于储蓄函数
  • C、消费函数小于储蓄函数
  • D、消费函数恒等于储蓄函数


正确答案:A

经济函数的边际就是其函数的()。

  • A、原函数
  • B、复合函数
  • C、导函数
  • D、乘积函数


正确答案:C

一个C程序由函数A、B、C和函数P构成,在函数A中分别调用了函数B和函数C,在函数B中调用了函数A,且在函数P中也调用了函数A,则可以说( )

A.函数B中调用的函数A是函数A的间接递归调用

B.函数A被函数B调用是函数A间接递归调用

C.函数P直接递归调用了函数A

D.函数P中调用的函数A是函数P的嵌套

正确答案:D

下列描述中正确的是( )。

A.构造函数可以为虚函数,析构函数不可以为虚函数

B.构造函数不可以为虚函数,析构函数可以为虚函数

C.构造函数可以为虚函数,析构函数可以为虚函数

D.构造函数不可以为虚函数,析构函数不可以为虚函数

正确答案:B
解析:构造函数不可以为虚函数,但可以调用虚函数;析构函数可以为虚函数。

通过lambda定义,没有函数名的函数是()

  • A、匿名函数
  • B、普通函数
  • C、递归函数
  • D、内置函数


正确答案:A

消费函数和储蓄函数的关系是()。
 
A.消费函数和储蓄函数互为补数
B.消费函数大于储蓄函数
C.消费函数小于储蓄函数
D.消费函数恒等于储蓄函数
答案:A
解析:
消费函数和储蓄函数互为补数,两者之和总是等于收入。这就是说,消费函数和储蓄函数中的一个确立,另一个也随之确立。
消费函数和储蓄函数的关系是()。
 
A.消费函数和储蓄函数互为补数
B.消费函数大于储蓄函数
C.消费函数小于储蓄函数
D.消费函数和储蓄函数互为对数
答案:A
解析:
消费函数和储蓄函数的关系是:消费函数和储蓄函数互为补数,二者之和总是等于收入.

一个C++程序由函数A( ),B( ),C( )和函数P( )构成,在函数A( )中分别调用了函数B( )和函数C ( ),在函数B( )中调用了函数A( ),且在函数P( )中也调用了函数A( ),则可以说

A.函数B( )中调用的函数A( )是函数A( )的间接递归调用

B.函数A( )被函数B( )调用是直接递归调用

C.函数P( )直接递归调用了函数A( )

D.函数P( )中调用的函数A( )是函数P( )的嵌套

正确答案:A
解析:本题考察递归调用。递归调用分为直接递归和间接递归。A()属于间接递归。
消费函数和储蓄函数的关系是( )。
 
A.消费函数和储蓄函数互为对数
B.消费函数和储蓄函数互为补数
C.消费函数小于储蓄函数
D.消费函数恒等于储蓄函数
答案:B
解析:
【知识点】 消费函数和储蓄函数的关系;
消费函数和储蓄函数的关系是:消费函数(APC)和储蓄函数(APS)互为补数,消费和储蓄之和总是等于收入,因此,APC和APS之和恒等于1。
单选题
以下关于函数说法不对的是()。
A

初等函数的导函数是初等函数

B

连续函数一定存在原函数

C

初等函数的原函数是初等函数

D

非初等函数没有原函数

正确答案: C
解析: 暂无解析
单选题
消费函数和储蓄函数的关系()。
A

消费函数和储蓄函数为互补关系

B

消费函数大于储蓄函数

C

消费函数小于储蓄函数

D

消费函数恒等于储蓄函数

正确答案: A
解析: 消费函数和储蓄函数的关系是:消费函数和储蓄函数互为补数,二者之和总是等于收人。

正弦函数的自相关函数仍是()

  • A、正弦函数
  • B、余弦函数
  • C、正切函数
  • D、余切函数


正确答案:A

下列函数中,能够得到一个字符串的一组函数是 ( )

A.Leh函数、Right函数、Mid函数

B.LTrim函数、RTrim函数、Trim函数

C.Len函数、LCase函数、UCase函数

D.Space函数、Len函数、Trim函数

正确答案:A
解析:本题是对常用的字符串函数的考查。B项中的LTrim、RTrim、Trim三个函数分别用来删除字符串左边的前导空格、删除右边的尾随空格、删除字符串前导和尾随的空格。它们的结果值不一定能得到一个字符串,排除选项B。Len函数用来返回字符串的长度,得到的是一数值而不是一个字符串,故又可排除C、D选项。只有选项A是正确的。

奇函数与偶函数的乘积函数是()。

  • A、奇函数
  • B、偶函数
  • C、常数函数
  • D、非奇非偶函数


正确答案:A

以下说法中不正确的是()。

A双向循环链表中每个结点需要包含两个指针域

B已知单向链表中任一结点的指针就能访问到链表中每个结点

C顺序存储的线性链表是可以随机访问的

D单向循环链表中尾结点的指针域中存放的是头指针


B

用链表作为栈的存储结构时,若要入栈操作成功,则( )。
 
A.必须先判断是否栈满
B.必须先判断是否栈空
C.必须先判断栈顶元素的类型
D.必须成功申请到入栈元素所需结点
答案:D
解析:
本题考查数据结构基础知识。
栈的修改要求是仅在表尾进行插入和删除操作,元素间的关系仍是线性的。对于删除操作(即出栈),无论在何种存储方式下实现该运算,栈不为空才能操作成功。对于插入操作(即入栈),要求为新加入的元素准备好存储空间,在链式存储方式下,不存在栈满的情形,只需判断是否为新元素成功申请到需要的结点。

一个栈中初始元素依次为A、B、C、D、E。现将元素1、2、3、4、5依次入栈,然后将所有的元素依次出栈,则元素出栈的顺序是A.12345ABCDE B.EDCBA54321 C.ABCDE12345 D.54321EDCBA

正确答案:D
栈是具有后进先出(LIFO)性质的线性表,表尾称为栈顶,表头称为栈底。栈的插入和删除操作都是在栈顶执行的,向栈内插入元素的操作称为入栈,从栈内删除元素的操作称为出栈。题目中所给出的栈的初始状态自栈底到栈顶的元素分别为A,B,C,D,E。此时的栈顶元素为E,向栈内插入元素1,2,3,4,5,插入操作结束时,栈内自栈底到栈顶的元素为A,B,C,D,E,1,2,3,4,5,栈顶元素为5。出栈操作是从栈顶开始的,顺序为5,4,3,2,1,E,D,C,B,A。

如果以链表作为栈的存储结构,则入栈操作时()。

A.必须判别栈是否满

B.必须判别栈是否为空

C.必须判别栈元素类型

D.可不做任何判断

正确答案:D
单向循环链表是单向链表的一种扩充,当单向链表带有头结点时,把单向链表中尾结点的指针域由空指针改为回答;当单向链表不带头结点时,则把单向链表中尾结点的指针域由空指针改为指向()。
 
参考答案:头结点的指针、指向第一个结点的指针

设有栈S和队列Q,初始状态均为空。首先依次将A,B,C,D,E,F入栈,然后从栈中退出三个元素依次入队,再将X,Y,Z入栈后,将栈中所有元素退出并依次入队,最后将队列中所有元素退出,则退队元素的顺序为( )。

A.DEFXYZABC

B.FEDZYXCBA

C.FEDXYZCBA

D.DEFZYXABC

正确答案:B
栈是一种特殊的线性表,它所有的插入与删除都限定在表的同一端进行。队列是指允许在一端进行插入,而在另一端进行删除的线性表。将A,B,C,D,E,F入栈后,栈中元素为ABCDEF,退出三个元素入队,队列元素为FED,将X,Y,Z人栈后栈中元素为ABCXYZ,全部入队后,队列元素为FEDZYXCBA,故B选项正确。
若栈采用链式存储且仅设头指针,则( )时入栈和出栈操作最方便。
 
A.采用不含头结点的单链表且栈顶元素放在表尾结点
B.采用不含头结点的单链表且栈顶元素放在表头结点
C.采用含头结点的单循环链表且栈顶元素随机存放在链表的任意结点
D.采用含头结点的双向链表且栈顶元素放在表尾结点
答案:B
解析:
本题考查数据结构基础知识。
栈的操作要求是后进先出,而且仅在表尾一端加入和删除元素。对单链表进行操作时,必须从头指针出发。根据栈的操作要求,单循环链表和双向链表都是没有必要的,而且选项c中将栈顶元素任意存放是错误的。
可以采用单链表作为栈的存储结构,将表头作为栈顶来使用。
含头结点的单链表如下图所示,其中La为头指针,La指向的结点为头结点。

不含头结点且栈顶元素放在表尾结点的单链表如下图所示,其中La为头指针,La指向的结点存储了先进入栈且没有出栈的元素。显然,因为要从La出发遍历至表尾才能进行入栈和出栈操作,在这种情况下出栈和入栈都是最低效的,时间复杂度都是O(n)。

如果采用不含头结点且栈顶元素放在表头的单链表,如下图所示,出栈和入栈操作都在表头,时间复杂度都为O(1)。
栈的特点是后进先出,若用单链表作为栈的存储结构,并用头指针作为栈顶指针,则( )。
 
A.入栈和出栈操作都不需要遍历链表
B.入栈和出栈操作都需要遍历链表
C.入栈操作需要遍历链表而出栈操作不需要
D.入栈操作不需要遍历链表而出栈操作需要
答案:A
解析:
本题用单链表作为栈的存储结构,因为栈的操作是先进后出,因此无论是入栈还是出栈,都只对栈顶元素操作,而在单链表中用头指针作为栈顶指针,此时无论是出栈还是入栈,都只需要对头指针指向的栈顶指针操作即可,不需要遍历链表。

下列叙述中正确的是( )。

A.有两个指针域的链表称为二叉链表

B.循环链表是循环队列的链式存储结构

C.带链的栈有栈顶指针和栈底指针,因此又称为双重链表

D.结点中具有多个指针域的链表称为多重链表.

正确答案:D
双向链表与二叉链表均是有两个指针域的链表,A选项错误。在单链表的第一个结点前增加一个表头结点,队头指针指向表头结点,最后一个结点的指针域的值由NULL改为指向表头结点,这样的链表称为循环链表。循环队列是队列的一种顺序存储结构。循环链表与循环队列是两种存储结构,B选项错误。双向链表结点有两个指针域,向前一个结点的指针和指向后一个结点的指针,而带链的栈是单链表形式,C选项错误。故正确答案为D选项。

用链表作为栈的存储结构时,若要入栈操作成功,则(38)。

A.必须先判断是否栈满

B.必须先判断是否栈空

C.必须先判断栈顶元素的类型

D.必须成功申请到入栈元素所需结点

正确答案:D
本题考查数据结构基础知识。栈的修改要求是仅在表尾进行插入和删防操作,元素间的关系仍是线性的。对于删除操作(即出栈),无论在何种存储方式下实现该运算,栈不为空才能操作成功。对于插入操作(即入栈),要求为新加入的元素准备好存储空间,在链式存储方式下,不存在栈满的情形,只需判断是否为新元素成功申请到需要的结点。

链表中元素的入栈顺序是ABCD,它的出栈顺序是【】

正确答案:DCBA
栈是一种先进后出的线性表,所以其出栈顺序为DCBA.

以下表中可以随机访问的是()。

A单向链表

B双向链表

C单向循环链表

D顺序表


D

下述各类表中可以随机访问的是()。

A单向链表

B双向链表

C单向循环链表

D顺序表


D

一个栈的初始状态为空。现将元素A,B,C,D,E依次入栈,然后依次退栈三次,并将退栈的三个元素依次入队(原队列为空),最后将队列中的元素全部退出。则元素退队的顺序为()。

A.ABC

B.CBA

C.EDC

D.CDE

正确答案:C

向栈中压入元素的操作是先(),后()。


正确答案:移动栈顶指针 存入元素

堆排序分为两个阶段,其中第一阶段将给定的序列建成一个堆,第二阶段逐次输出堆顶元素。设给定序列{48,62,35,77,55,14,35,98},若在堆排序的第一阶段将该序列建成一个堆(大根堆),那么交换元素的次数为()。
 
A.5
B.6
C.7
D.8
答案:B
解析:

在用堆排序算法排序时,如果要进行增序排序,则需要采用“大根堆”。


正确答案:正确

在一个小根堆中,堆顶结点的值是所有结点中的(),在一个大根堆中,堆顶结点的值是所有结点中的()。


正确答案:最小值;最大值

填空题
在一个小根堆中,堆顶结点的值是所有结点中的(),在一个大根堆中,堆顶结点的值是所有结点中的()。
正确答案: 最小值,最大值
解析: 暂无解析
就排序算法所用的辅助空间而言,堆排序、快速排序、归并排序的关系是()。A、堆排序<快速排序&l

就排序算法所用的辅助空间而言,堆排序、快速排序、归并排序的关系是()。

A、堆排序<快速排序<归并排序

B、堆排序<归并排序<快速排序

C、堆排序>归并排序>快速排序

D、堆排序>快速排序>归并排序

参考答案:A

E.堆排序:

procedure sift(i,m:integer);{调整以i为根的子树成为堆,m为结点总数}

var k:integer;

正确答案:

begin
a[0]:=a[i]; k:=2*i;{在完全二叉树中结点i的左孩子为2*i,右孩子为2*i+1}
while k<=m do begin
if (k<m) and (a[k]<a[k+1]) then inc(k);{找出a[k]与a[k+1]中较大值}
if a[0]<a[k] then begin a[i]:=a[k];i:=k;k:=2*i; end
else k:=m+1;
end;
a[i]:=a[0]; {将根放在合适的位置}
end;

procedure heapsort;
var
j:integer;
begin
for j:=n div 2 downto 1 do sift(j,n);
for j:=n downto 2 do begin
swap(a[1],a[j]);
sift(1,j-1);
end;
end;

队列适用于下列( )应用。

A.表达式求值

B.堆排序算法的实现

C.树的层次次序周游算法的实现

D.二叉树对称序周游算法的实现

正确答案:C
队列又称先进先出表,仅允许在表的一端进行插入,而在另一端进行删除。
填空题
假定一组记录为(46,79,56,38,40,84),则利用堆排序方法建立的初始小根堆为()
正确答案: (38,40,56,79,46,84)
解析: 暂无解析
堆是一种数据结构,分为大顶堆和小顶堆两种类型。大(小)顶堆要求父元素大于等于(小于等于)其左右孩子元素。则(请作答此空)是一个小顶堆结构。堆结构用二叉树表示,则适宜的二叉树类型为( )。对于10个结点的小顶堆,其对应的二叉树的高度(层数)为( )。堆排序是一种基于堆结构的排序算法,该算法的时间复杂度为( )。
 
A.10,20,50,25,30,55,60,28,32,38
B.10,20,50,25,38,55,60,28,32,30
C.60,55,50,38,32,30,28,25,20,10
D.10,20,60,25,30,55,50,28,32,38
答案:A
解析:
将元素按照层次遍历的方式压入二叉树,只有选项A满足小顶堆的要。求小顶堆是一种经过排序的完全二叉树,对于一个完全二叉树,第1层为最多1个结点,第2层最多2个结点,第n层最多2^ (n- 1 )个结点,本题1 0个结点=1 +2+4+3 ,所以需要4层

堆是一种数据结构,分为大顶堆和小顶堆两种类型。大(小)顶堆要求父元素大于等于(小于等于)其左右孩子元素。则( )是一个小顶堆结构。堆结构用二叉树表示,则适宜的二叉树类型为( )。对于10个结点的小顶堆,其对应的二叉树的高度(层数)为( )。堆排序是一种基于堆结构的排序算法,该算法的时间复杂度为(请作答此空)。
 
A.lgn
B.nlgn
C.n
D.n2
答案:B
解析:
将元素按照层次遍历的方式压入二叉树,只有选项A满足小顶堆的要。求小顶堆是一种经过排序的完全二叉树,对于一个完全二叉树,第1层为最多1个结点,第2层最多2个结点,第n层最多2^ (n- 1 )个结点,本题1 0个结点=1 +2+4+3 ,所以需要4层

队列适用于下列哪一种应用?

A.表达式求值

B.堆排序算法的实现

C.树的层次次序周游算法的实现

D.二叉树对称序周游算法的实现

正确答案:C

假定一组记录为(46,79,56,38,40,84),则利用堆排序方法建立的初始小根堆为()


正确答案:(38,40,56,79,46,84)

堆是一种数据结构,分为大顶堆和小顶堆两种类型。大(小)顶堆要求父元素大于等于(小于等于)其左右孩子元素。则( )是一个小顶堆结构。堆结构用二叉树表示,则适宜的二叉树类型为(请作答此空)。对于10个结点的小顶堆,其对应的二叉树的高度(层数)为( )。堆排序是一种基于堆结构的排序算法,该算法的时间复杂度为( )。
 
A.普通二叉树
B.完全二叉树
C.二叉排序树
D.满二叉树
答案:B
解析:
将元素按照层次遍历的方式压入二叉树,只有选项A满足小顶堆的要。求小顶堆是一种经过排序的完全二叉树,对于一个完全二叉树,第1层为最多1个结点,第2层最多2个结点,第n层最多2^ (n- 1 )个结点,本题1 0个结点=1 +2+4+3 ,所以需要4层

假定对元素序列(7, 3, 5, 9, 1, 12)进行堆排序,并且采用小根堆,则由初始数据构成的初始堆为()。

  • A、 1, 3, 5, 7, 9, 12
  • B、 1, 3, 5, 9, 7, 12
  • C、 1, 5, 3, 7, 9, 12
  • D、 1, 5, 3, 9, 12, 7


正确答案:B

判断题
在用堆排序算法排序时,如果要进行增序排序,则需要采用“大根堆”。
A

B

正确答案: 错
解析: 暂无解析


相关考题:

最新考题