线性表(小题——判断,选择)

1.直接访问就是直接利用变量的地址直接进行访问。(T)

2.int (*p)[4]它表示p是一个指针数组,它包含4个指针变量元素。(F)

解析:线性表(小题——判断,选择)_第1张图片

3.结构体类型本身不占用内存空间,结构体变量占用内存空间。 T

4.设h为不带头结点的单向链表。在h的头上插入一个新结点t的语句是:(D)

A.h=t; t->next=h->next;

B.t->next=h->next; h=t;

C.h=t; t->next=h;

D.t->next=h; h=t;

5.对于如下说明,语法和语义都正确的赋值是__C___。

int c, *s, a[]={1, 3, 5};

A.c=*s;

B.s[0]=a[0];

C.s=&a[1];

D.c=a;

解析:A、语法上正确(可能引起编译警告)。若非静态变量或全局变量,否则s没有被初始化,是随机值,*s的值无法确定,即没有确定的语义;若是静态变量或全局变量,s被初始化为0,对地址0的解引用操作没有确定的语义。
B、错误。理由同上,对随机地址的操作不具有确定的语义(s[0]等价于*s)。另外对随机地址单元的写操作(赋值)引起的后果不可预料。
C、正确,将a[1]的地址赋值给指针s。
D、语法错误,c(int)和a(const int*)的类型不匹配,会引起编译错误。

6.设有如下定义的链表,则值为7的表达式是(D)。

struct st{
      int n;
      struct st  *next;
} a[3] = {5, &a[1], 7, &a[2], 9, NULL}, *p = &a;

A.p->n

B.(p->n)++

C.++p->n

D.p->next->n

解析:a是个结构体数组,存了三组数据;结构体指针p指向a首元素的地址。
对于A:p->n 即为a[0]->n = 5
对于B:(p->n)++ 即为 5++ 结果是 6
对于C: ->(成员选择(指针))优先级最高,跟B没差别
对于D:p->next为a中第二个结构体{7,&a[2]},p->next->n即为7
7.下面定义结构变量的语句中错误的是(D)。

A.struct student{ int num; char name[20]; } s;

B.struct { int num; char name[20]; } s;

C.struct student{ int num; char name[20]; }; struct student s;

D.struct student{ int num; char name[20]; }; student s;

解析:注意B也是可以的。

8.数据的逻辑结构是指数据的各数据项之间的逻辑关系。(F)

解析:逻辑结构就是数据元素间的逻辑关系,而不是数据元素内部的数据项之间的关系。

9.抽象数据类型中基本操作的定义与具体实现有关。(F)

10.数据的()包括集合、线性结构、树形结构和图形结构四种基本类型。(B)

A.存储结构

B.逻辑结构

C.基本运算

D.算法描述

11.数据结构是一门研究非数值计算的程序设计问题中计算机的(A)以及它们之间的关系和运算等的学科。

A.操作对象

B.计算方法

C.逻辑存储

D.数据映象

12.数据在计算机内存中的表示是指(A) 。

A.数据的存储结构

B.数据结构

C.数据的逻辑结构

D.数据元素之间的关系

13.从物理存储上可以把数据结构分为(B)

A.动态结构、静态结构

B.顺序结构、链式结构

C.线性结构、树形结构、图形结构和集合结构

D.基本结构、构造型结构

14.与数据元素本身的形式、内容、相对位置、个数无关的是数据的(C)。

A.存储结构

B.存储实现

C.逻辑结构

D.运算实现

15.线性表采用链表存储时,结点和结点内部的存储空间可以是不连续的。F

解析:每个节点会占用一块连续的内存空间来存储数据元素和指针。节点内部的数据元素通常存储在数据域中,指向下一个节点的指针存储在指针域中。因此,节点内部的存储空间是连续的。只是节点之间的存储空间可以是不连续的。

16.集合与线性表的区别在于是否按关键字排序。F

解析:

集合是一种数学概念,指的是由一些互异的元素组成的整体。集合中的元素没有任何顺序关系,且每个元素只能出现一次。在计算机科学中,集合通常用来表示元素不重复的数据结构。例如,Python语言中的set类型就是一种集合。

线性表则是一种存储有序数据元素的数据结构,它包含了若干个节点,每个节点中存储了一个数据元素以及指向下一个节点的指针。线性表中的数据元素可以按照某种规则排列,也可以不排序。例如,数组就是一种线性表。

17.循环链表不是线性表。F

18.数据元素是数据的最小单位。F

19.记录是数据处理的最小单位。F

解析:数据元素是数据的基本单位。一个数据元素可由若干个数据项组成。数据项是不可分割的最小单位。

20.健壮的算法不会因非法的输入数据而出现莫名其妙的状态。T

21.算法可以用不同的语言描述,如果用C 语言或PASCAL语言等高级语言来描述,则算法实际上就是程序了。F

22.在顺序存储结构中,有时也存储数据结构中元素之间的关系。F

解析:顺序存储结构中,数据元素都是按顺序依次存放的,并没有存储元素之间的关系。像链表,除了存储数据外,还存储了下一个数据的指针,这才叫存储了数据元素之间的关系。

你可能感兴趣的:(数据结构)