题目
20.设有两个串S1和S2,求S2在S1中首次出现的位置的运算称作( )。A.求子串[1]B.判断是否相等C.模式匹配[2]D.连接
20.设有两个串S1和S2,求S2在S1中首次出现的位置的运算称作( )。
A.求子串[1]
B.判断是否相等
C.模式匹配[2]
D.连接
题目解答
答案
答案:C. 模式匹配
模式匹配是指在一个字符串中查找另一个字符串(模式)首次出现的位置。在本题中,S1是目标字符串,S2是要匹配的模式字符串,求S2在S1中首次出现的位置,因此运算称为模式匹配。
A. 求子串:求子串是指从一个字符串中提取出一个连续的子序列作为新的字符串。虽然S2在S1中出现可以看作是提取了一个子串,但问题描述中没有明确要求提取出该子串,只是要求求出首次出现的位置,因此不是求子串操作。
B. 判断是否相等:判断两个字符串是否相等并不涉及到S2在S1中出现的位置,因此不是本题描述的运算。
D. 连接:连接是指将两个字符串拼接在一起形成一个新的字符串。连接操作与S2在S1中出现的位置没有直接关系,因此不是本题描述的运算。
综上所述,本题选C。
解析
本题考查字符串的基本操作,核心在于理解不同操作的定义区别。题目要求找出S2在S1中首次出现位置的运算名称,需明确:
- 模式匹配的本质是定位模式字符串的首次出现位置;
- 其他选项(如求子串、判断相等、连接)的操作目标与题干描述不符。
选项分析
A. 求子串
- 求子串是从字符串中提取连续子序列,但题目要求的是位置而非提取子串本身,因此不符合题意。
B. 判断是否相等
- 判断相等仅比较两个字符串是否完全相同,与位置无关,无法解决题干中的查找问题。
C. 模式匹配
- 模式匹配的定义是:在目标字符串中查找模式字符串的首次出现位置。题干中S1是目标字符串,S2是模式字符串,完全匹配此定义。
D. 连接
- 连接是将两个字符串合并为新字符串,与查找位置无关,明显不符合题意。