c语言错题集锦讲解

下列链表中,其逻辑结构属于非线性结构的是

A) 二叉链表

B) 循环链表

C) 双向链表

D) 带链的栈

【解析】在定义的链表中,若只含有一个指针域来存放下一个元素地址,称这样的链表为单链表或线性链表。带链的栈可以用来收集计算机存储空间中所有空闲的存储结点,是线性表。在单链表中的结点中增加一个指针域指向它的直接前件,这样的链表,就称为双向链表(一个结点中含有两个指针),也是线性链表。循环链表具有单链表的特征,但又不需要增加额外的存贮空间,仅对表的链接方式稍做改变,使得对表的处理更加方便灵活,属于线性链表。二叉链表是二叉树的物理实现,是一种存储结构,不属于线性结构。答案为A选项。

设循环队列的存储空间为Q(1: 35),初始状态为front=rear=35。现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为 A) 15 B) 16 C) 20

D) 0或35 、

【解析】在循环队列中,用队尾指针rear指向队列中的队尾元素,用排头指针front指向排头元素的前一个位置。在循环队列中进行出队、入队操作时,头尾指针仍要加1,朝前移动。只不过当头尾指针指向向量上界时,其加1操作的结果是指向向量的下界0。由于入队时尾指针向前追赶头指针,出队时头指针向前追赶尾指针,故队空和队满时,头尾指针均相等。答案为D选项。

void fun(int m,int k,int xx[]) {

int i,j,n;

for(i=m+1,n=0;n

if(i%j==0) break;

if(j>=i) /*如果是素数,放入数组xx中*/ xx[n++]=i; }}

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

A) 循环队列有队头和队尾两个指针,因此,循环队列是非线性结构

B) 在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况 C) 在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况 D) 循环队列中元素的个数是由队头指针和队尾指针共同决定

【解析】循环队列有队头和队尾两个指针,但是循环队列仍是线性结构的,所以A)错误;在循环队列中只需要队头指针与队尾两个指针来共同反映队列中元素的动态变化情况,所以B)与C)错误。

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

A) 顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的 B) 顺序存储结构只针对线性结构,链式存储结构只针对非线性结构 C) 顺序存储结构能存储有序表,链式存储结构不能存储有序表 D) 链式存储结构比顺序存储结构节省存储空间

【解析】链式存储结构既可以针对线性结构也可以针对非线性结构,所以B)与C)错误。链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存储空间,所以D)错误。

三·数据流图中带有箭头的线段表示的是( )。 A) 控制流 B) 事件驱动 C) 模块调用 D) 数据流

【解析】数据流图中带箭头的线段表示的是数据流,即沿箭头方向传送数据的通道,一般在旁边标注数据流名。

四·在软件开发中,需求分析阶段可以使用的工具是( )。 A) N-S图 B) DFD图 C) PAD图

D) 程序流程图

【解析】在需求分析阶段可以使用的工具有数据流图DFD图,数据字典DD,判定树与判定表,所以选择B)。

五、在面向对象方法中,不属于\对象\基本特点的是( )。 A) 一致性 B) 分类性 C) 多态性

D) 标识唯一性

【解析】对象有如下一些基本特点:标识唯一性、分类性、多态性、封装性、模块独立性好。所以选择A)。

六、一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( )。 A) 一对一 B) 一对多 C) 多对一 D) 多对多

【解析】因为一间宿舍可以住多个学生即多个学生住在一个宿舍中,但一个学生只能住一间宿舍,所以实体宿舍和学生之间是一对多的关系。

七、在数据管理技术发展的三个阶段中,数据共享最好的是( )。 A) 人工管理阶段 B) 文件系统阶段 C) 数据库系统阶段 D) 三个阶段相同

【解析】数据管理发展至今已经历了三个阶段:人工管理阶段、文件系统阶段和数据库系统阶段。其中最后一个阶段结构简单,使用方便逻辑性强物理性少,在各方面的表现都最好,一直占据数据库领域的主导地位,所以选择C)。

八、有三个关系R、S和T如下:

由关系R和S通过运算得到关系T,则所使用的运算为( )。

A) 笛卡尔积 B) 交 C) 并 D) 自然连接

【解析】自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,所以根据T关系中的有序组可知R与S进行的是自然连接操作。

【解析】自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,所以B)错误。笛卡尔积是用R集合中元素为第一元素,S集合中元素为第二元素构成的有序对,所以C)错误。根据关系T可以很明显的看出是从关系R与关系S中取得相同的关系组所以取得是交运算,选择D)。

九、以下选项中,能用作数据常量的是( )。 A) 115L B) 0118 C) 1.5e1.5 D) o115

【解析】A)选项中115L表示115是长整型数据,合法。B)选项是八进制常量的表示方法,但是在八进制中不能含有数字8,所以B)错误。C)选项中e后面应该是整数不能是小数1.5,所以C)错误。D)选项中八进制常量应该是数字\0\开始,而不是字母\o\开始。

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4