专升本数据结构试题解析(19)
时间:2025-07-11
时间:2025-07-11
第2部分 习题解析 亱店↘打烊oO
else
{sq->front=(sq->front+1)%MAXSIZE;
x=sq->data[sq->front];
}
if(sq->front==sq->rear) flag=0;
return x;
}
第4章 串
4.1 选择题
1.下面关于串的的叙述中,哪一个是不正确的?( )
A)串是字符的有限序列
B)空串是由空格构成的串
C)模式匹配是串的一种重要运算
D)串既可以采用顺序存储,也可以采用链式存储
【答案】B
【解析】空串是不含任何字符的串,即空串的长度是零。空格串是由空格组成的串,其长度等于空格的个数。
2.设有两个串p和q,其中q是p的子串,求q在p中首次出现的位置的算法称为( )
A)求子串 B)联接 C)匹配 D)求串长
【答案】C
3.若串s="software",其子串个数是( )
A)8 B)37 C)36 D)9
【答案】C
【解析】s的长度为8,长度为8的子串有1个,长度为7的子串有2个,长度为6的子串有3个,长度为5的子串有4个,…,长度为1的子串有8个,共有(1+8)*8/2=36个。
4.串的长度是指( )
A)串中所含不同字母的个数
B)串中所含字符的个数
C)串中所含不同字符的个数
D)串中所含非空格字符的个数
【答案】B
5.若串S1="ABCDEFG",S2="9898",S3="###",S4="012345",则执行concat(replace(S1,substr(S1,length(S2),length(S3)),S3),substr(S4,index(S2, '8'),length(S2)))其结果为( )
A)ABC###G0123 B)ABCD###2345
C)ABC###G2345 D)ABC###G1234
【答案】D
【解析】函数concat(x,y)返回x和y的连接串,substr(s,i,j)返回串s的从序号i的字符开始的j个字符组成的子串,length(s)返回串s的长度。replase(s,t,v)用v替换s中出现的所有与t相等的子串,index(s,t,i)当s中存在与t值相同的子串时,返回它在s中的第i个字符之后第一次出现的位置。
substr(S1,length(S2),length(S3))=substr(S1,4,3)= "DEF";
replase(S1,substr(S1,length(S2),length(S3)),S3)=replase(S1, "DEF",S3)= "ABC###G";
substr(S4,index(S2, '8'),length(S2))=substr(S4,2,4)= "1234";
concat(replace(S1,substr(S1,length(S2),length(S3)),S3),substr(S4,index(S2,
'8'),length(S2)))=concat("ABC###G", "1234")= "ABC###G1234"
4.2 填空题
1.空格串是指_____________,其长度等于_____________。
【答案】(1)由空格字符(ASCII值32)所组成的字符串 (2)空格个数
2.组成串的数据元素只能是_____________。
【答案】字符
【解析】串是一种特殊的线性表,其特殊性在于串中的元素只能是字符型数据。