判断
1-10
如果strcmp(s1,s2)返回的结果为0,表示字符串s1和s2不相同。 F
1-4
假设模式串是abababaab
,则KMP模式匹配算法中的next[j] = 0 1 1 2 3 4 5 6 2
。 T
1-3
(nueDS_C++)如果一个串中的所有字符均在另一串中出现,则说前者是后者的子串。 F
1-1
char *s=“C Language”;表示s是一个指向字符串的指针变量,把字符串的首地址赋予s。 T
1-2
字符串在内存中的起始地址称为字符串的指针,可以定义一个字符指针变量指向一个字符串。 T
1-4
(neuDS_C++)空串与空格串是相同的。 F
1-5
指针变量可以存放指针(地址)、数值和字符。 F
1-8
重载运算符可以保持原运算符的优先级和结合性不变。 T
1-12
字符串常量在内存中的存放位置由系统自动安排。 T
1-13
调用strcmp函数比较字符串大小时,通常较长的字符串会较大。 F
1-14
字符串常量就是用一对双引号括起来的字符序列,它有一个结束标志'\0'
。 T
1-15
对于两个字符串变量s1和s2,使用if(s1>s2)来比较大小是可以的。 F
1-16
判断字符串a和b是否相等的表达式为if (a==b)。 F
选择
2-14
令s=“abcabaa”,则它的特征向量next函数值和优化特征向量nextval函数值为(下标从0开始):( C )。
A.next={0,1,1,1,2,3,2},nextval={0,1,1,0,1,2,1}
B.next={-1,0,0,-1,0,2,1},nextval={-1,0,0,0,1,2,1}
C.next={-1,0,0,0,1,2,1},nextval={-1,0,0,-1,0,2,1}
D.next={-1,0,0,0,1,2,1},nextval={-1,0,0,0,1,2,1}
2-21
设主串 T = abaabaabcabaabc
,模式串 S = abaabc
,采用 KMP 算法进行模式匹配,到匹配成功时为止,在匹配过程中进行的单个字符间的比较次数是: ( B )
A.9
B.10
C.12
D.15
2-6
串“ababaabab”的nextval为( A )。
A.010104101
B.010102101
C.010100011
D.010101011
2-6
将两个字符串连接起来组成一个字符串时,选用函数( C )。
A.strlen( )
B.strcpy( )
C.strcat( )
D.strcmp( )
2-15
(neuDS)设有两个串p和q,其中q是p的子串,求q在p中首次出现的位置的算法称为( C )。
A.求子串
B.联接
C.模式匹配
D.求串长
2-16
(neuDS)串也是一种线性表,只不过( A )。
A.数据元素均为字符
B.数据元素是子串
C.数据元素数据类型不受限制
D.表长受到限制
2-17
KMP算法下,长为n的字符串匹配长度为m的字串的时间复杂度为 ( B )
A.O(N)
B.O(M+N)
C.O(M+Log N)
D.O(N+Log M)
2-18
下面关于串的叙述中,哪一个是不正确的 ( B )
A.串是字符的有限序列
B.空串是由空格构成的串
C.模式匹配是串的一种重要运算
D.串既可以采用顺序存储,也可以采用链式存储
2-19
若串S=“software”,其子串的数目是 ( B )
A.8
B.37
C.36
D.9
2-20
串的长度是指 ( B )
A.串中所含不同字母的个数
B.串中所含字符的个数
C.串中所含不同字符的个数
D.串中所含非空格字符的个数
2-7
下述对C语言字符数组的描述中错误的是( C )。
A.字符数组可以存放字符串
B.字符数组中的字符串可以整体输入、输出
C.可以在赋值语句中通过赋值运算符"="对字符数组整体赋值
D.不可以用关系运算符对字符数组中的字符串进行比较
2-8
(neuDS)设主串的长度为n,模式串的长度为m,则串匹配的KMP算法时间复杂度是( C )。
A.O(m)
B.O(n)
C.O(n + m)
D.O(n×m)
2-10
下面关于字符串的程序,其输出结果是 ( B )
#include <stdio.h>
void fun(char s[], char t) {
int i = 0;
while (s[i]) {
if (s[i] == t)
s[i] = t - 'a' + 'A';
i++;
}
}
int main() {
char str[100] = "abcdefg", c = 'd';
fun(str, c);
printf("%s\n", str);
return 0;
}
A.abcdefg
B.abcDefg
C.ABCdEFG
D.ABCDEFG
2-11
(neuDS_C++)设有两个串p和q,求q在p中首次出现的位置的运算称作( B )。
A.连接
B.模式匹配
C.求子串
D.求串长
2-12
(neuDS_C++)串是一种特殊的线性表,其特殊性体现在( B )。
A.可以顺序存储
B.数据元素是一个字符
C.可以链接存储
D.数据元素可以是多个字符
2-13
(neuDS_C++)设串s1=’ABCDEFG’,s2=’PQRST’,函数con (x,y)返回x和y串的连接串,subs(s,i,j)返回串s的从序号i的字符开始的j个字符组成的子串,len(s)返回串s的长度,则con (subs (s1,2,len (s2)), subs (s1,len (s2),2))的结果串是( D )。
A.BCDEF
B.BCDEFG
C.BCPQRST
D.BCDEFEF