1.直接访问就是直接利用变量的地址直接进行访问。(T)
2.int (*p)[4]它表示p是一个指针数组,它包含4个指针变量元素。(F)
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
解析:顺序存储结构中,数据元素都是按顺序依次存放的,并没有存储元素之间的关系。像链表,除了存储数据外,还存储了下一个数据的指针,这才叫存储了数据元素之间的关系。