数据结构

设串sI="ABCDEFG",s2="PQRST",函数con(x,y)返回x和y串的连接串,subs(s,i,j)返回串s的从序号i的字符开始的j个字符组成的子串,len(s)返回串s的长度,则con(subs(s1,2,1en(s2)),subs(sl,len(s2),2))的结果串是()A、BCDEFB、BCDEFGC、BCPQRSTD、BCDEFEF

题目

设串sI="ABCDEFG",s2="PQRST",函数con(x,y)返回x和y串的连接串,subs(s,i,j)返回串s的从序号i的字符开始的j个字符组成的子串,len(s)返回串s的长度,则con(subs(s1,2,1en(s2)),subs(sl,len(s2),2))的结果串是()

  • A、BCDEF
  • B、BCDEFG
  • C、BCPQRST
  • D、BCDEFEF
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是( )。

A.char s[10]=="abcdefg";

B.char t[]="abcdefg",*s=t;

C.char s[10];s="abcdefg";

D.char s[10];strcpy(s,"abcdefg");


正确答案:C
解析:选项A中定义了一个字符型数组并使用字符串常量给它赋初值,故选项A正确。选项B定义了一个字符型数组t并初始化,然后定义了一个指针变量s并让它指向t,故选项B正确。选项C先定义了一个长度为10的字符型数组,然后再给它赋值,这时应该分别给数组中的每个元素赋值,故选项C不正确;选项D中先定义了一个长度为10的字符型数组s,然后通过字符串复制函数将字符串“abcdefg”赋值给它,选项D正确。所以,4个选项中选项C符合题意。

第2题:

阅读以下函数fun(char *sl,char *s2){ int i=0;while(sl[i]==s2[i]&&s2[i]!='\0') i++;return(sl[i]=='\0'&&s2[i]=='\0');}此函数的功能是

A.将s2所指字符串赋给s1

B.比较s1和s2所指字符串的大小,若s1比s2的大,函数值为1,否则函数值为0

C.比较s1和s2所指字符串是否相等,若相等,函数值为1,否则函数值为0

D.比较s1和s2所指字符串的长度,若s1比s2的长,函数值为1,否则函数值为0


正确答案:C

第3题:

设串sl=〃DataStructureswithJava〃,s2=〃it〃,则子串定位函数index(s1,s2)的值为()。

A、15

B、16

C、17

D、18


正确答案:D

第4题:

设字符串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'


正确答案:A
解析:s=CONCAT(SUB(s1,2,5),SUB(s1,5,2))=CONCAT(BCDEF,EF)=‘BDCEFEF’

第5题:

阅读以下函数 fun(char *sl,char *s2) { int i:0; while(sl[i]==s2[i]&&s2[i]!='\0') i++; return(sl[i]=='\0'&&s2[i]=='\0'); } 此函数的功能是

A.将s2所指字符申赋给s1

B.比较s1和s2所指字符串的大小,若s1比s2的大,函数值为1,否则函数值为0

C.比较s1和s2所指字符串是否相等,若相等,函数值为1,否则函数值为o

D.比较s1和s2所指字符串的长度,若s1比s2的长,函数值为1,否则函数值为o


正确答案:C
解析:在函数fun()中有两个字符型指针变量s1和s1,在函数中程序执行while循环,该循环退出条件有两个:一个是s1[i]!=s2[i](两个字符串不相等);第二个是sl[i]和s2[i]相等均为“\0”(两个字符串相等)。循环退出后,执行return语句,即两个字符串相等则返回1,不相等则返回0。所以,C选项为所选。

第6题:

实现字符串Unicode编码方式与州SI编码方式相互转换的函数是( )。

A.Str

B.Sbconv

C.Trim

D.Mid


正确答案:B

第7题:

在ASP中,len(“abcdefg”)函数的结果是?()

A.“abcdefg”

B.6

C.true

D.7


参考答案:D

第8题:

编写一个函数fun(),它的功能是:实现两个字符串的连接(不使用库函数strcat,即把p2所指的字符串连接到p1所指的字符串后。

例如,分别输入下面两个字符串:

FirstString

SecondString

则程序输出:

FirstStringSecondString

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号小填入所编写的若干语句。

试题程序:

include <stdio. h>

include<conio. h>

void fun (char pi[],char p2[])

{

}

main ( )

{

char s1[80],s2[40];

clrscr ();

printf("Enter s1 and s2:\n");

scanf ("%s%s", s1, s2);

printf ("s1=%s\n", s1);

printf("s2=%s\n",s2);

printf("Invoke fun(s1,s2) :\n");

fun(s1,s2);

printf("After invoking:\n");

printf ("%s\n", s1);

}


正确答案:void fun (char p1[]char p2[]) { int ij; for (i=0;p1 [i] !='\0'; i++); /*求出的i为p1字符的总长度包括结束标记位*/ for (j=0;p2 [j] !='\0'; j++) p1 [i++]=p2 [j]; /*将p2字符串连在p1字符串的后面*/ p1[i]='\0'; /*在字符串最后加上结束标记符*/ }
void fun (char p1[],char p2[]) { int i,j; for (i=0;p1 [i] !='\0'; i++); /*求出的i为p1字符的总长度,包括结束标记位*/ for (j=0;p2 [j] !='\0'; j++) p1 [i++]=p2 [j]; /*将p2字符串连在p1字符串的后面*/ p1[i]='\0'; /*在字符串最后加上结束标记符*/ } 解析:本题用两个循环,第1个循环的作用是将i走到第1个字符串的末尾。第2个循环的作用是将第2个字符串的字符连到第1个字符串的末尾。

第9题:

以下说法中错误的是

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。


正确答案:A
解析:strcpy( )函数的一般形式为:strcpy(to,from),该函数将from字符串中的内容复制到to字符串中,故A项错误。

第10题:

从字符串S="abcdefg"中返回子串"cd"的正确函数引用是( )。

A.id(S,3,2)

B.Right(Left(S,4),2)

C.Left(Right(S,5),2)

D.以上都可以


正确答案:D
解析:Mid(S,3,2)是从字符串左边第3个字符起截取2个字符;Left(S,N)是从字符串左边截取N个字符;Right(S,N)是从字符串右边截取N个字符。

更多相关问题