最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

第四、五章自测题答案

IT圈 admin 48浏览 0评论

2024年4月10日发(作者:查曼岚)

第4~5章 串和数组 自测卷答案 姓名 班级

题号

题分

得分

20

15

20

15

30

总分

100

一、填空题

(每空1分,共20分)

1. 不包含任何字符(长度为0)的串 称为空串; 由一个或多个空格(仅由空格符)组成的串 称

为空白串。

(对应严题集4.1①,简答题:简述空串和空格串的区别)

2. 设S=“A;/document/”,则strlen(s)= 20 , “/”的字符定位的位置为 3 。

6. 若n为主串长,m为子串长,则串的古典(朴素)匹配算法最坏的情况下需要比较字符的总次数为

(n-m+1)*m 。

7. 假设有二维数组A

6

×

8

,每个元素用相邻的6个字节存储,存储器按字节编址。已知A的起始存储位置

(基地址)为1000,则数组A的体积(存储量)为 288 B ;末尾元素A

57

的第一个字节地址为

1282 ;若按行存储时,元素A

14

的第一个字节地址为 (8+4)×6+1000=1072 ;若按列存储时,元

素A

47

的第一个字节地址为 (6×7+4)×6+1000)=1276 。

(注:数组是从0行0列还是从1行1列计算起呢?由末单元为A

57

可知,是从0行0列开始!)

8. 〖00年计算机系考研题〗设数组a[1„60, 1„70]的基地址为2048,每个元素占2个存储单元,若以列

序为主序顺序存储,则元素a[32,58]的存储地址为 8950 。

答:不考虑0行0列,利用列优先公式: LOC(a

ij

)=LOC(a

c

1,

c

2

)+[(j-c

2

)*(d

1

-c

1

+1)+i-c

1

)]*L

得:LOC(a

32,58

)=2048+[(58-1)*(60-1+1)+32-1]]*2=8950

9. 三元素组表中的每个结点对应于稀疏矩阵的一个非零元素,它包含有三个数据项,分别表示该元素

的 行下标 、 列下标 和 元素值 。

10.求下列广义表操作的结果:

(1) GetHead【((a,b),(c,d))】=== (a, b) ; //头元素不必加括号

(2) GetHead【GetTail【((a,b),(c,d))】】=== (c,d) ;

(3) GetHead【GetTail【GetHead【((a,b),(c,d))】】】=== b ;

(4) GetTail【GetHead【GetTail【((a,b),(c,d))】】】=== (d) ;

二、单选题

(每小题1分,共15分)

( B )1. 〖李〗串是一种特殊的线性表,其特殊性体现在:

A.可以顺序存储 B.数据元素是一个字符

C.可以链式存储 D.数据元素可以是多个字符

( B )2. 〖李〗设有两个串p和q,求q在p中首次出现的位置的运算称作:

A.连接 B.模式匹配 C.求子串 D.求串长

( D )3. 〖李〗设串s1=’ABCDEFG’,s2=’PQRST’,函数con(x,y)返回x和y串的连接串,subs(s, i, j)

1

返回串s的从序号i开始的j个字符组成的子串,len(s)返回串s的长度,则con(subs(s1, 2, len(s2)), subs(s1,

len(s2), 2))的结果串是:

A.BCDEF B.BCDEFG C.BCPQRST D.BCDEFEF

解:con(x,y)返回x和y串的连接串,即 con(x,y)=‘ABCDEFGPQRST’;

subs(s, i, j)返回串s的从序号i开始的j个字符组成的子串,则

subs(s1, 2, len(s2))=subs(s1, 2, 5)=’ BCDEF’; subs(s1, len(s2), 2)=subs(s1, 5, 2)=’ EF’;

所以con(subs(s1, 2, len(s2)), subs(s1, len(s2), 2))=con(’ BCDEF’, ’ EF’)之连接,即BCDEFEF

( A )4. 〖01年计算机系考研题〗假设有60行70列的二维数组a[1„60, 1„70]以列序为主序顺序存

储,其基地址为10000,每个元素占2个存储单元,那么第32行第58列的元素a[32,58]的存储地址为 。

(无第0行第0列元素)

A.16902 B.16904 C.14454 D.答案A, B, C均不对

答:此题与填空题第8小题相似。(57列×60行+31行)×2字节+10000=16902

( B )5. 设矩阵A是一个对称矩阵,为了节省存储,将其下三角部分(如下图所示)按行序存放在一维

数组B[ 1, n(n-1)/2 ]中,对下三角部分中任一元素a

i,j

(i≤j), 在一维数组B中下标k的值是:

A.i(i-1)/2+j-1 B.i(i-1)/2+j C.i(i+1)/2+j-1 D.i(i+1)/2+j

解:注意B的下标要求从1开始。

先用第一个元素去套用,可能有B和C;

再用第二个元素去套用B和C,B=2而C=3(不符);

所以选B

a

1,1

a

2,1

A

a

n,1

a

2,2

a

n,2

a

n,n

6.

【91初程P78】 从供选择的答案中,选出应填入下面叙述 ? 内的最确切的解答,把相应编号写

在答卷的对应栏内。

有一个二维数组A,行下标的范围是0到8,列下标的范围是1到5,每个数组元素用相邻的4个字

节存储。存储器按字节编址。假设存储数组元素A[0,1]的第一个字节的地址是0。

存储数组A的最后一个元素的第一个字节的地址是 A 。若按行存储,则A[3,5]和A[5,3]的第一个字节的

地址分别是 B 和 C 。若按列存储,则A[7,1]和A[2,4]的第一个字节的地址分别是 D 和 E 。

供选择的答案:

A~E:①28 ② 44 ③ 76 ④ 92 ⑤ 108

⑥ 116 ⑦ 132 ⑧ 176 ⑨ 184 ⑩ 188

答案:ABCDE=8, 3, 5, 1, 6

7.【94程P12】 有一个二维数组A,行下标的范围是1到6,列下标的范围是0到7,每个数组元素用相

邻的6个字节存储,存储器按字节编址。那么,这个数组的体积是 A 个字节。假设存储数组元素A[1,0]

的第一个字节的地址是0,则存储数组A的最后一个元素的第一个字节的地址是 B 。若按行存储,

则A[2,4]的第一个字节的地址是 C 。若按列存储,则A[5,7]的第一个字节的地址是 D 。

供选择的答案

A~D:①12 ② 66 ③ 72 ④ 96 ⑤ 114 ⑥ 120

⑦ 156 ⑧ 234 ⑨ 276 ⑩ 282 (11)283 (12)288

2

2024年4月10日发(作者:查曼岚)

第4~5章 串和数组 自测卷答案 姓名 班级

题号

题分

得分

20

15

20

15

30

总分

100

一、填空题

(每空1分,共20分)

1. 不包含任何字符(长度为0)的串 称为空串; 由一个或多个空格(仅由空格符)组成的串 称

为空白串。

(对应严题集4.1①,简答题:简述空串和空格串的区别)

2. 设S=“A;/document/”,则strlen(s)= 20 , “/”的字符定位的位置为 3 。

6. 若n为主串长,m为子串长,则串的古典(朴素)匹配算法最坏的情况下需要比较字符的总次数为

(n-m+1)*m 。

7. 假设有二维数组A

6

×

8

,每个元素用相邻的6个字节存储,存储器按字节编址。已知A的起始存储位置

(基地址)为1000,则数组A的体积(存储量)为 288 B ;末尾元素A

57

的第一个字节地址为

1282 ;若按行存储时,元素A

14

的第一个字节地址为 (8+4)×6+1000=1072 ;若按列存储时,元

素A

47

的第一个字节地址为 (6×7+4)×6+1000)=1276 。

(注:数组是从0行0列还是从1行1列计算起呢?由末单元为A

57

可知,是从0行0列开始!)

8. 〖00年计算机系考研题〗设数组a[1„60, 1„70]的基地址为2048,每个元素占2个存储单元,若以列

序为主序顺序存储,则元素a[32,58]的存储地址为 8950 。

答:不考虑0行0列,利用列优先公式: LOC(a

ij

)=LOC(a

c

1,

c

2

)+[(j-c

2

)*(d

1

-c

1

+1)+i-c

1

)]*L

得:LOC(a

32,58

)=2048+[(58-1)*(60-1+1)+32-1]]*2=8950

9. 三元素组表中的每个结点对应于稀疏矩阵的一个非零元素,它包含有三个数据项,分别表示该元素

的 行下标 、 列下标 和 元素值 。

10.求下列广义表操作的结果:

(1) GetHead【((a,b),(c,d))】=== (a, b) ; //头元素不必加括号

(2) GetHead【GetTail【((a,b),(c,d))】】=== (c,d) ;

(3) GetHead【GetTail【GetHead【((a,b),(c,d))】】】=== b ;

(4) GetTail【GetHead【GetTail【((a,b),(c,d))】】】=== (d) ;

二、单选题

(每小题1分,共15分)

( B )1. 〖李〗串是一种特殊的线性表,其特殊性体现在:

A.可以顺序存储 B.数据元素是一个字符

C.可以链式存储 D.数据元素可以是多个字符

( B )2. 〖李〗设有两个串p和q,求q在p中首次出现的位置的运算称作:

A.连接 B.模式匹配 C.求子串 D.求串长

( D )3. 〖李〗设串s1=’ABCDEFG’,s2=’PQRST’,函数con(x,y)返回x和y串的连接串,subs(s, i, j)

1

返回串s的从序号i开始的j个字符组成的子串,len(s)返回串s的长度,则con(subs(s1, 2, len(s2)), subs(s1,

len(s2), 2))的结果串是:

A.BCDEF B.BCDEFG C.BCPQRST D.BCDEFEF

解:con(x,y)返回x和y串的连接串,即 con(x,y)=‘ABCDEFGPQRST’;

subs(s, i, j)返回串s的从序号i开始的j个字符组成的子串,则

subs(s1, 2, len(s2))=subs(s1, 2, 5)=’ BCDEF’; subs(s1, len(s2), 2)=subs(s1, 5, 2)=’ EF’;

所以con(subs(s1, 2, len(s2)), subs(s1, len(s2), 2))=con(’ BCDEF’, ’ EF’)之连接,即BCDEFEF

( A )4. 〖01年计算机系考研题〗假设有60行70列的二维数组a[1„60, 1„70]以列序为主序顺序存

储,其基地址为10000,每个元素占2个存储单元,那么第32行第58列的元素a[32,58]的存储地址为 。

(无第0行第0列元素)

A.16902 B.16904 C.14454 D.答案A, B, C均不对

答:此题与填空题第8小题相似。(57列×60行+31行)×2字节+10000=16902

( B )5. 设矩阵A是一个对称矩阵,为了节省存储,将其下三角部分(如下图所示)按行序存放在一维

数组B[ 1, n(n-1)/2 ]中,对下三角部分中任一元素a

i,j

(i≤j), 在一维数组B中下标k的值是:

A.i(i-1)/2+j-1 B.i(i-1)/2+j C.i(i+1)/2+j-1 D.i(i+1)/2+j

解:注意B的下标要求从1开始。

先用第一个元素去套用,可能有B和C;

再用第二个元素去套用B和C,B=2而C=3(不符);

所以选B

a

1,1

a

2,1

A

a

n,1

a

2,2

a

n,2

a

n,n

6.

【91初程P78】 从供选择的答案中,选出应填入下面叙述 ? 内的最确切的解答,把相应编号写

在答卷的对应栏内。

有一个二维数组A,行下标的范围是0到8,列下标的范围是1到5,每个数组元素用相邻的4个字

节存储。存储器按字节编址。假设存储数组元素A[0,1]的第一个字节的地址是0。

存储数组A的最后一个元素的第一个字节的地址是 A 。若按行存储,则A[3,5]和A[5,3]的第一个字节的

地址分别是 B 和 C 。若按列存储,则A[7,1]和A[2,4]的第一个字节的地址分别是 D 和 E 。

供选择的答案:

A~E:①28 ② 44 ③ 76 ④ 92 ⑤ 108

⑥ 116 ⑦ 132 ⑧ 176 ⑨ 184 ⑩ 188

答案:ABCDE=8, 3, 5, 1, 6

7.【94程P12】 有一个二维数组A,行下标的范围是1到6,列下标的范围是0到7,每个数组元素用相

邻的6个字节存储,存储器按字节编址。那么,这个数组的体积是 A 个字节。假设存储数组元素A[1,0]

的第一个字节的地址是0,则存储数组A的最后一个元素的第一个字节的地址是 B 。若按行存储,

则A[2,4]的第一个字节的地址是 C 。若按列存储,则A[5,7]的第一个字节的地址是 D 。

供选择的答案

A~D:①12 ② 66 ③ 72 ④ 96 ⑤ 114 ⑥ 120

⑦ 156 ⑧ 234 ⑨ 276 ⑩ 282 (11)283 (12)288

2

发布评论

评论列表 (0)

  1. 暂无评论