下列对于线性链表的描述中正确的是

  • A+
所属分类:IT认证

答案查询网公众号已于近期上线啦

除基本的文字搜题外,准备上线语音搜题和拍照搜题功能!微信关注公众号【答案查询网】或扫描下方二维码即可体验。

(1)【◆题库问题◆】:[单选] 下列对于线性链表的描述中正确的是
A.存储空间不一定是连续的,且各元素的存储顺序是任意的
B.存储空间不一定是连续的,且前件元素一定存储在后件元素的前面
C.存储空间必须连续,且前件元素一定存储在后件元素的前面
D.存储空间必须连续,且各元素的存储顺序是任意的

【◆参考答案◆】:A

【◆答案解析◆】:【解析】本题考查的是线性链表、双向链表与循环链表的结构及其基本运算。在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。

·ℳ°.·※°∴ ╰☆╮ 。·ℳ°.·※°∴ ╰☆╮ 。·ℳ°.·※°∴ ╰☆╮ 。·ℳ°.·※°∴ ╰☆╮ 。·ℳ°.·※°∴ ╰☆╮ 。

(2)【◆题库问题◆】:[单选] 下面关于数据库三级模式结构的叙述中,正确的是(  )。
A.内模式可以有多个,外模式和模式只有一个
B.外模式可以有多个,内模式和模式只有一个
C.内模式只有一个,模式和外模式可以有多个
D.模式只有一个,外模式和内模式可以有多个

【◆参考答案◆】:B

【◆答案解析◆】:B) 【解析】数据库的三级模式结构是指数据库系统的外模式、模式和内模式。一个数据库可以有多个外模式,但只有一个模式和一个内模式。

·ℳ°.·※°∴ ╰☆╮ 。·ℳ°.·※°∴ ╰☆╮ 。·ℳ°.·※°∴ ╰☆╮ 。·ℳ°.·※°∴ ╰☆╮ 。·ℳ°.·※°∴ ╰☆╮ 。

(3)【◆题库问题◆】:[单选] 有以下程序 #include <stdio.h>#include <stdlib.h>fun(int *p1,int *p2,int*s){s=(int*)malloc(sizeof(int));*s=*p1+*p2;free(s);}void main(){ int a=1,b=40,*q=&a;fun(&a,&b,q);printf("%d",*q);}程序运行后的输出结果是
A.42
B.0
C.1
D.41

【◆参考答案◆】:C

【◆答案解析◆】:执行fun(&a,&b,q);语句时,在内存中开辟了一块内存空间,存放变量a 与b 的和,并用指针变量q 引用它,但是当这条语句执行结束,这块内存空间又释放了,指针这量q 仍然引用的是变量a的地址,所以输出结果为1。

·ℳ°.·※°∴ ╰☆╮ 。·ℳ°.·※°∴ ╰☆╮ 。·ℳ°.·※°∴ ╰☆╮ 。·ℳ°.·※°∴ ╰☆╮ 。·ℳ°.·※°∴ ╰☆╮ 。

(4)【◆题库问题◆】:[单选] 现有以下结构体说明和变量定义,如图所示,指针P、q、r分别指定一个链表中连续的3个结点。structnode{hardata;structnode*next;)*p,*q,*r;现要将q和r所指结点交换前后位嚣,同时要保持链表的结构,下列不能完成此操作的语句是(  )。
A.q->next=r->next;p->next=r;r->next=q;
B.q->next=r;q-->next=r->next;r->next=q;
C.q->next=r->next;r->next=q;p->next=r;
D.q->next=q;p->next=r;q->next=r->next;

【◆参考答案◆】:D

【◆答案解析◆】:D。【解析】由题目中线性链表的定义可知,要将q和r所指的结点交换前后位置,只要使q指向r的后一个结点,P指向r结点,r指向q结点即可。而在选项D中,r一>nextq,这时r指向的节点为q;p-->next—r,这对P指向的节点为r;q一>next—r-->next,因为r节点已经指向q,所以执行这个语句后q又指向q,所以选项I)不正确。

·ℳ°.·※°∴ ╰☆╮ 。·ℳ°.·※°∴ ╰☆╮ 。·ℳ°.·※°∴ ╰☆╮ 。·ℳ°.·※°∴ ╰☆╮ 。·ℳ°.·※°∴ ╰☆╮ 。

(5)【◆题库问题◆】:[单选] 顺序执行下面两条命令:N=123456.789@ 10,6 SAY N PICTURE ″$ $ 999,999.9″屏幕显示的结果是(  )
A.$ 123,456.7
B.$$ 123,456.7
C.$ 123,456.8
D.$$ 123,456.8

【◆参考答案◆】:A

·ℳ°.·※°∴ ╰☆╮ 。·ℳ°.·※°∴ ╰☆╮ 。·ℳ°.·※°∴ ╰☆╮ 。·ℳ°.·※°∴ ╰☆╮ 。·ℳ°.·※°∴ ╰☆╮ 。

(6)【◆题库问题◆】:[单选] 下列各种形式的循环中,输出"*"的个数最少的循环是(  )。
A.a=5:b =8 Do Print "*" a=a+1Loop While a<b
B.a=5:b =8 Do Print "*" a=a+1 Loop Until a<b
C.a=5:b =8 DoUntil a-b Print "*" b =b +1Loop
D.a=5:b =8 Do Until a>b Print "*" a=a+1Loop

【◆参考答案◆】:C

【◆答案解析◆】:选项A.B先打印*,然后判断条件是否符合条件,而选项C.D 先判断后打印,显然选项A.B要多打印*,排除。重点比较Until a -b 和Until a>b 两个条件,选项C不打印*,故选项C符合条件。

·ℳ°.·※°∴ ╰☆╮ 。·ℳ°.·※°∴ ╰☆╮ 。·ℳ°.·※°∴ ╰☆╮ 。·ℳ°.·※°∴ ╰☆╮ 。·ℳ°.·※°∴ ╰☆╮ 。

(7)【◆题库问题◆】:[单选] 某二叉树共有7个结点,其中叶子结点只有l个,则该二叉树的深度为(假设根结点在第l层)(  )。
A.3
B.4
C.6
D.7

【◆参考答案◆】:D

【◆答案解析◆】:D。【解析】有一个叶子结点而结点的总个数为7,根据题意,这个二叉树的深度为7。

·ℳ°.·※°∴ ╰☆╮ 。·ℳ°.·※°∴ ╰☆╮ 。·ℳ°.·※°∴ ╰☆╮ 。·ℳ°.·※°∴ ╰☆╮ 。·ℳ°.·※°∴ ╰☆╮ 。

(8)【◆题库问题◆】:[单选] 以下叙述中正确的是( .。
A.调用printf函数时,必须要有输出项
B.使用putChar函数时,必须在之前包含头文件stdio.h
C.在C语言中,整数可以以十二进制、八进制或十六进制的形式输出
D.调用getChar函数读入字符时,可以从键盘上输入字符所对应的ASCIl码

【◆参考答案◆】:B

【◆答案解析◆】:本题考查的是标准输入输出函数。在使用标准输入输出库函数(除了printf和scanf)前,必须要用预编译命令”#include”将头文件”stdio.h”包括到用户源文件中。调用printf函数时可以没有输出项,比如printf(””)是允许的。c语言中整数的输出形式中没有十二进制的形式。getchar函数读人字符时可以得到第一个输入字符的ASCIl码,无法通过输入相应字符的ASCIl得到该字符。

·ℳ°.·※°∴ ╰☆╮ 。·ℳ°.·※°∴ ╰☆╮ 。·ℳ°.·※°∴ ╰☆╮ 。·ℳ°.·※°∴ ╰☆╮ 。·ℳ°.·※°∴ ╰☆╮ 。

(9)【◆题库问题◆】:[单选] 以下程序的主函数中调用了在其面前定义的fun函数 #include<stdio.h>...main(  ){doublea[15],k; k=fun(a); ...}则以下选项中错误的fun函数首部是(  )。 、
A.double fun(double a[l5])
B.double fun(double *a) 。
C.double fun(double a[])
D.double fun(double a)

【◆参考答案◆】:D

·ℳ°.·※°∴ ╰☆╮ 。·ℳ°.·※°∴ ╰☆╮ 。·ℳ°.·※°∴ ╰☆╮ 。·ℳ°.·※°∴ ╰☆╮ 。·ℳ°.·※°∴ ╰☆╮ 。

(10)【◆题库问题◆】:[单选] 在软件设计中不使用的工具是(  )。
A.系统结构图
B.PAD图
C.数据流图(DFD图)
D.程序流程图

【◆参考答案◆】:C

【◆答案解析◆】:C【解析】系统结构图是对软件系统结构的总体设计的图形显示。在需求分析阶段,已经从系统开发的角度出发,把系统按功能逐次分割成层次结构,是在概要设计阶段用到的。PAD图是在详细设计阶段用到的。程序流程图是对程序流程的图形表示,在详细设计过程中用到。数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型,是在可行性研究阶段用到的而非软件设计时用到,所以选择C。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: