1. 定义了一维 int 型数组 a[10] 后,下面错误的引用是( C )
A.a[0] = 1;
B.a[0] = 5*2;
C.a[10] = 2;
D.a[1] = a[2] * a[0];
解析:数组的角标是从0开始的,一维数组中一共10个元素,所以最后一个元素的角标应该是9。
2.一维数组与线性表的区别是( A )。
A.前者长度固定,后者长度可变
B.后者长度固定,前者长度可变
C.两者长度均固定
D.两者长度均可变
解析:数组的长度是固定不变的,我们定义多少就是多少。但是数组是线性表的一种,线性表形式多样,长度可变。
3.下列哪个查找方法的平均查找长度与查找表中数据元素个数无关?( A )
A.哈希(散列)查找
B.顺序查找
C.折半查找
D.B+树查找
解析:顺序查找方法和折半查找方法的平均查找长度都与元素的个数有关,由于散列结构是由事先准备好的散列函数关系与处理冲突的方法来确定数据元素在散列表中的存储位置的,因此散列表查找方法的平均查找长度与元素的个数无关。
4.若已定义: int a[]=[0,1,2,3,4,5,6,7,8,9],*p=a,i; 其中0≤i≤9,则对a数组错误的引用是( D )
A.a[p-a]
B.*(&a[i])
C.p[i]
D.a[10]
解析:角标最大为9。
5.众里寻他千百度,蓦然回