设有两个串S1与S2,求串S2在S1中首次出现位置的运算称作()
A.求子串
B.连接
C.插入
D.模式匹配
第1题:
设有两个串p和q,求q在p中首次出现位置的运算称作
A.连接
B.模式匹配
C.求子串
D.求串长
第2题:
s1和s2已正确定义并分别指向两个字符串。若要求:当s1所指串大于s2所指串时,执行语句S。则以下选项中正确的是______。
A.if (s1>s2)S;
B.if(strcmp(s1, s2))S;
C.if(strcmp(s2, s1)>0)S;
D.if(strcmp(s1, s2)>0)S;
第3题:
以下说法中错误的是
A.strcpy(A,B)函数是将A字符串的内容复制到B字符串中
B.strlen(cha*s)返回字符串S的长度,未尾的字符不计算在内
C.char a[20]="string";中字符串长度为6
D.strstr(S1,S2)函数在字符串S1中从左边开始查找字符串S2,若查找成功则返回S2在S1中首次出现的位置,否则返回NULL,如果S2为"",则返回S1。
第4题:
判断字符串s1是否大于字符串s2,应该使用( )。
A.if(strcmp(s1,s2)<0)
B.if(s1>s2)
C.if(strcmp(s2,s1)<0)
D.if(strcmp(s1,s2))
第5题:
设有两个串T和P,求P在T中首次出现的位置的串运算称作【】
A.联接
B.求子串
C.子串定位
D.字符定位
第6题:
第7题:
设char *s1, *s2;分别指向两个字符串,可以判断字符串s1和s2是否相等的表达式为()
第8题:
设有两个串p和q,求q在p中首次出现的位置的运算称作()
第9题:
设有两个串S1和S2,求串S2在S1中首次出现位置的运算称作()。
第10题:
若REPLACE(S,S1,S2)表示用字符串S2替换字符串S中的子串S1的操作,则对于S=“Beijing&Nanjing”,S1=“Beijing”,S2=“Shanghai”,REPLACE(S,S1,S2)=()。
第11题:
连接
求子串
模式匹配
判断子串
第12题:
连接
求子串
模式匹配
求串长
第13题:
设有两个串s1和s2,求s2在s1中首次出现的位置的运算称为()。
A、求子串
B、求串长
C、联接
D、模式匹配
第14题:
阅读下列算法说明和算法,将应填入(n)处的语句写在对应栏内。
【说明】
本程序可以将字符串s1中出现的所有s2子串替换成s3,形成一个新串,但不破坏字符串s1。
【代码】
include<stdio.h>
include<stdlib.h>
include<string.h>
char*replace(char *s1, char *s2,char *s3)
{ char *p, *q, *r, *s; int |2,|3, i=0;
|2=strlen(s2);
|3=strlen(s3);
p=s1;
while((p=strstr(p,s2))!=NULL)
{ i++; /* 统计s2串出现的次数*/
(1);
}
i=(2);
s=r=(char*)malloc(i); /*分配动态内存存放新字符串*/
p=s1;
while(1)
{ q=strstr(p, s2); /* s2串是否在s1中出现,q是首次出现的位置*/
if(q!=NULL)
{ i=q-p;
(3);
r+=i;
(4);
r+=|3;
p=q+|2; /*将指向s1串的指针移到s2子串出现的位置后,
为下一次循环做好准备*/
}
else /*q为空,表示剩余的s1串中已经没有s2*/
{ (5);
break; /*终止循环*/
}
}
return(s); /*返回指向所形成的新串的指针*/
}
void main()
{ char *a="sabcababde", *b="ab", *c="efg", *d;
d=replace(a, b, c); printf("result=%s\n", d); free(d);
}
第15题:
设字符串s1='ABCDEFG',s2='PQRST',则运算s=CONCAT(SUB(s1,2,LEN(s2)),SUB(s1,LEN(s2,2))后的串值为(65)。
A.'ABCDEFEF'
B.'BCDEFG'
C.'BCPQRST'
D.'BCQR'
第16题:
下列选项中,能够满足“若字符串s1等于字符串s2,则执行ST”要求的是( )。
A.if(strcmp(s2,s1)==0)ST;
B.if(s1===s2)ST;
C.if(strcpy(s1,s2)==1)ST;
D.if(s1,s2==0)ST;
第17题:
设有两个串P和q,求q在P中首次出现的位置的运算称作______。
A.连接
B.模式匹配
C.求子串
D.求串长
第18题:
设有两个串p和q,求q在p中首次出现的位置的运算称为()。
第19题:
为了判断两个字符串s1和s2是否相等,应当使用()
第20题:
设字符串S1= “ABCDEF”,S2= “PQRS”,则运算S=CONCAT(SUB(S1,2,LEN(S2)),SUB(S1,LEN(S2),2))后的串值为()。
第21题:
设有串S1=’I an a student’,S2=’st’,其index(S1,S2)=()
第22题:
判断字符串s1是否大于字符串s2,错误的使用有()
第23题:
第24题: