以下关于字符串类型的操作的描述,错误的是()。A、str.replace(x,y)方法把字符串str中所有的x子串都替换成yB、想把一个字符串str所有的字符都大写,用str.upper()C、想获取字符串str的长度,用字符串处理函数str.len()D、设x=’aa’,则执行x*3的结果是‘aaaaaa’

题目

以下关于字符串类型的操作的描述,错误的是()。

  • A、str.replace(x,y)方法把字符串str中所有的x子串都替换成y
  • B、想把一个字符串str所有的字符都大写,用str.upper()
  • C、想获取字符串str的长度,用字符串处理函数str.len()
  • D、设x=’aa’,则执行x*3的结果是‘aaaaaa’

相似考题
参考答案和解析
正确答案:C
更多“以下关于字符串类型的操作的描述,错误的是()。A、str.replace(x,y)方法把字符串str中所有的x子串都替换成yB、想把一个字符串str所有的字符都大写,用str.upper()C、想获取字符串str的长度,用字符串处理函数str.len()D、设x=’aa’,则执行x*3的结果是‘aaaaaa’”相关问题
  • 第1题:

    下述函数功能是______。 int fun(char*x) { char*y=x; while(*y++); return y-x-1; }

    A.求字符串的长度

    B.求字符串存放的位置

    C.比较两个字符串的大小

    D.将字符串x连接到字符串y后面


    正确答案:A
    解析:在函数体内定义一字符型指针并指向形参,然后遍历其中各字符直到NULL,最后返回字符串首尾地址的差值,即字符串的长度。

  • 第2题:

    在下面函数的横线处填上适当的内容,使该函数能够利用递归方法求解字符串str的长度 (不得使用系统提供的字符串处理函数)。

    int GJetLen(char*str)

    {

    if(【 】) return 0;

    else return 1+GetLen (str+1);

    }


    正确答案:*str==NULL
    *str==NULL

  • 第3题:

    下面函数的功能是 char*fun(char*strl,char*str2) { while((*strl)&&(*str2++=*strl++)); return str2;}

    A.求字符串的长度

    B.比较两个字符串的大小

    C.将字符串str1复制到字符串str2中

    D.将字符串str1接续到字符串str2中


    正确答案:C
    解析:while语句的一般形式为:while(表达式)语句;其中表达式是循环条件,语句为循环体,while语句的语义是:计算表达式的值,当值为真(非0)时,执行循环体语句。本题中逻辑与符号连接的表达式值为真,*str2++=*strl++语句是将strl的内容逐个复制到str2字符串。

  • 第4题:

    阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。

    【函数1说明】

    函数palindrome(char s[])的功能是:判断字符串s是否为回文字符串。若是,则返回0,否则返回-1。若一个字符串顺读和倒读都一样时,则可称该字符串是回文字符串。例如,“LEVEL”是回文字符串,而“LEVAL”不是。

    【函数1】

    int palindrome(char s[]{

    char *pi, *pj;

    pi=s; pj=s+strlen(s)-1;

    while(pi<pj&&(1)){

    pi++; pj--;

    }

    if((2))return-1;

    else return 0;

    }

    【函数2说明】

    函数f(char *str, char del)的功能是:将非空字符串str分割成若干个子字符串并输出,del表示分割时的标志字符。

    例如,若str的值为“33123333435”,del的值为“3”,调用此函数后,将输出三个子字符串,分别为“12”、“4”和“5”。

    【函数2】

    void f(char *str, char del){

    int i,j, len;

    len=strlen(str);

    i=0;

    while(i<len){

    While((3)) i++; /*忽略连续的标志字符*/

    /*寻找从str[i]开始直到标志字符出现的一个子字符串*/

    j=i+1;

    while(str[j]!=del && str[j]!='\0')j++;

    (4)='\0'; /*给找到的字符序列置字符串结束标志*/

    printf("%s\t",&str[i]);

    (5);

    }

    }


    正确答案:(1)*pi==*pi (2)pipj或*pi!=*pj (3)str[i]==del (4)str[j] (5)i=j+1
    (1)*pi==*pi (2)pipj或*pi!=*pj (3)str[i]==del (4)str[j] (5)i=j+1 解析:本题考查在C语言中对字符串的处理。
    【函数1】
    使用数组s[n]来存储一个字符串,因为要根据回文字符串的定义来判断一个串是否是回文字符串,所以需要循环比较。
    (1)拿该字符串的第一个元素s[0]和最后一个元素s[n-1]比较,如果s[0]不等于s[n-1],则s不是回文字符串。
    (2)如果s[0]等于s[n-1],则拿第二个元素s[1]和倒数第二个元素s[n-2]比较,如果 s[1]不等于s[n-2],则s不是回文字符串。
    (3)依次类推,直到最中间的两个元素也比较完毕(如果s有偶数个元素),或者只剩下中间的一个元素(如果s有奇数个元素)。
    当上述循环结束时,如果最中间的元素没有进行比较,就说明s不是回文字符串;如果进行了比较,则s是回文字符串。
    在函数1中,pi和pj是两个指向字符的指针,程序首先将s的首地址赋给pi(即*pi =a[0]),将元素s[strlen(s)-1]的地址赋给pj(即*pj=s[strlen(s)-1]),当pipj并且pi和pj所指向的值相等时进行循环:pi自增,pj自减。
    退出循环后,如果pipj,则s是回文字符串(如果s有偶数个元素,则为pi>pj;如果s有奇数个元素,则为pi=pj);如果pipj,则s不是回文字符串。
    【函数2】
    由函数2说明可知,此函数对给定的字符串进行从左至右的扫描,找出不包含标志字符的子字符串。
    在函数2中,i的初值为0,len表示字符串的长度。当ilen时进行循环:如果当前字符是标志字符,则不作处理,继续扫描。当退出该循环时,当前字符str[i]不是标志字符,这时从str[i]开始寻找,直到找到在标志字符中出现的一个子字符串(i保持不变,用i标记寻找的过程),给找到的字符序列置字符串结束标志,以便于后面语句的输出。
    输出语句结束后,就要继续寻找后面的不包含标志字符的子字符串,这时,需要把指针i移动至j的后面,继续扫描。

  • 第5题:

    在C语言中,关于字符串描述错误的是( )。

    A.C中的字符串是作为字符数组来处理的

    B.C语言规定:以‘\0’作为字符串结束标志

    C.char str[]={"hello\nworld!"}; puts(str); 输出: hello\n world!

    D.可以利用strlen(字符数组)测试字符串的长度


    正确答案:C

  • 第6题:

    下面函数的功能是 ( ) int funl(char * X) { char * y=X; whar(* y + + ); return (y - x - 1);}

    A.求字符串的长度

    B.比较两个字符串的大小

    C.将字符串x复制到字符串y中

    D.将字符串x连接到字符串y后面


    正确答案:A

  • 第7题:

    阅读以下说明和C函数,填补代码中的空缺(1)~(5),将解答填入答题纸的对

    应栏内。

    【说明】

    函数removeDuplicates(char *str)的功能是移除给定字符串中的重复字符,使每种字

    符仅保留一个,其方法是:对原字符串逐个字符进行扫描,遇到重复出现的字符时,设

    置标志,并将其后的非重复字符前移。例如,若str指向的字符串为“aaabbbbscbsss”,

    则函数运行后该字符串为“abse”。

    【c代码】

    void removeDuplicates (char *str)

    int i,len = strlen (str); /*求字符串长度*/

    If( (l) )return;/*空串或长度为1的字符串无需处理*l

    for(i=0;i<len;i++) {

    Int flag =O; /*字符是否重复标志*/

    int m:

    for(m =( 2 ); m<len; m++){

    if(str[i]==str[m] ) {

    __(3)_;break;

    }

    }

    if (flag){

    Int n,idx = m;

    /*字符串第idx字符之后、与str [i]不同的字符向前移*/

    For( n=idx+l; n<len. n++)

    if ( str[n]!= str[i]) {

    str[idx]= str[n]; (4);

    }

    Str[(5)]=\0; /* 设置字符串结束标志*/

    }

    }

    }


    正确答案:
    本题考查C语言基本应用。题目要求在阅读理解代码说明的前提下完善代码。字符串的运算处理是c程序中常见的基本应用。根据注释,空(1)处应填入的内容很明确,为“len=1”或其等价表示。要消除字符串中的重复字符,需要扫描字符串,这通过下面的代码来实现:For(i=0;ilen;i++){intflag=Oj;/*字符是否重复标志*/intm:for(m=(2);m<len;m++)(if(str[i]==str[m]{(3),break;}*}......上面代码中.循环变量i用于顺序地记下字符串中每个不同字符首次出现的位置,那么后面的处理就是从i的下一个位置开始,考查后面的字符中有没有与它相同的(str[i]=sir[m]),因此空(2)应填入“i+l”或其等价表示。显然,当发现了重复字符时,应设置标志,空(3)处应填入“flag=l”或者给flag赋值为任何一个不是0的值。根据说明,发现与str[i]相同的第一个字符str[m]后,需要将其后所有与str[i]不同的字符前移,以覆盖重复字符str[m],对应的代码如下;if(flag){intn,idx=m;/*将字符串第idx字符之后、与str[1]不同的字符向前移*/for(n=idx+l,n<len.n++)if(str[n]!=str[i]}{str[idx]=str[n];(4)}Str[(5)]=’\0’;/*设置字符串结束标志*/}初始时,idx等于m,使str[n]覆盖str[idx]后,需要将idx自增,以便将后面与str[i]不同的字符继续前移,因此空(4)处应填入“idx++”或等价表示。由于后面字符前移了,所以字符串结束标志也需重新设置,空(5)处应填入“idx”。试题二参考答案(1)len2或len=l或等价表示(2)i+1或等价表示(3)flag=l或给flag赋值为任何一个不是O的值(4)idx++或idx=idx+l或等价表示(5)idx或等价表示

  • 第8题:

    在Visual Basic的转换函数中将数值转换为字符串的函数是Str(x);将数字字符串转换为数值的函数是()。

    AAcs(x)

    BSrt(x)

    CAsc(x)

    DVla(x)


    D

  • 第9题:

    Visual Basic.NET中,字符串处理函数中返回Str字符串的长度的是()。

    • A、Mid(Str,Start,Lengh)
    • B、Len(Str)
    • C、Instr(Star,String1,String2,Compare)
    • D、Ltrim(Str)

    正确答案:B

  • 第10题:

    在Visual Basic的转换函数中将数值转换为字符串的函数是Str(x);将数字字符串转换为数值的函数是()。

    • A、Acs(x)
    • B、Srt(x)
    • C、Asc(x)
    • D、Vla(x)

    正确答案:D

  • 第11题:

    单选题
    函数streat(strcpy(str1,str2),str3)的功能是()
    A

    将字符串strl复制到字符串str2中,再连接到str3之后

    B

    将字符串strl连接到str2之后,再复制到字符串str3之后

    C

    将字符串str2复制到字符串strl中,再将字符串str3连接到strl之后

    D

    将字符串str2连接到strl之后,再将字符串strl复制到str3中


    正确答案: D
    解析: 暂无解析

  • 第12题:

    单选题
    Visual Basic.NET中,字符串处理函数中返回Str字符串的长度的是()。
    A

    Mid(Str,Start,Lengh)

    B

    Len(Str)

    C

    Instr(Star,String1,String2,Compare)

    D

    Ltrim(Str)


    正确答案: C
    解析: 暂无解析

  • 第13题:

    函数f_str(char *str,char del)的功能是;将非申字符串str分割成若干个子字符串并输出,del表示分割时的标志字符。例如,若str的值为“66981636666257”,del的值为“6”,调用此函数后,将输出3个子字符串,分别为“981”、“3”和“257”。请将函数f_str中(6)~(8)空缺处的内容填写完整。

    [函数]

    void f_str(char *str,char del)

    { int i,j,len;

    len = strlen(str);

    i = 0;

    while (i<len) {

    while ( (6) )

    i++; /* 忽略连续的标志字符 */

    /* 寻找从srt[i]开始直到标志字符出现的一个子字符串 */

    j = i+1;

    while (str[j] !=del && str[j] !='\0')

    j++;

    (7)="\0"; /* 给找到的字符序列置字符串结束标志 */

    printf (" %s\t", & str [i]);

    (8);

    }

    }


    正确答案:函数f_str(char*strchar del)的功能是:将非空字符串str以分割标志字符为界线分割成若干个子字符串并输出。由函数说明和C代码可知该函数对给定的字符串进行从左至右的扫描找出不包含标志字符(变量del的值)的子字符串。在该函数C代码中变量i的初值为0len表示字符串的长度。当 ilen时进入循环体。如果当前字符(即str[i]的值)是标志字符则不做处理继续扫描以处理标志字符连成一串的情况。因此(6)空缺处所填写的内容是“str[i]==del”或其等价形式。 当退出第2个while循环时当前字符str[i]不是标志字符此时从str[i]开始继续寻找直到标志字符出现的…个子字符串(变量i保持不变用j标记寻找的过程)给找到的字符序列置字符串结束标志以便于后面语句的输出。因此(7)空缺处所填写的内容是“str[j]”。 printf输出语句结束之后就要继续寻找后面不包含标志字符的子字符串。此时需要把数组指针i移至j的后面再继续扫描。因此(8)空缺处所填写的内容是“i=j+1”。
    函数f_str(char*str,char del)的功能是:将非空字符串str以分割标志字符为界线,分割成若干个子字符串并输出。由函数说明和C代码可知,该函数对给定的字符串进行从左至右的扫描,找出不包含标志字符(变量del的值)的子字符串。在该函数C代码中,变量i的初值为0,len表示字符串的长度。当 ilen时进入循环体。如果当前字符(即str[i]的值)是标志字符,则不做处理,继续扫描以处理标志字符连成一串的情况。因此(6)空缺处所填写的内容是“str[i]==del”或其等价形式。 当退出第2个while循环时,当前字符str[i]不是标志字符,此时从str[i]开始继续寻找,直到标志字符出现的…个子字符串(变量i保持不变,用j标记寻找的过程),给找到的字符序列置字符串结束标志,以便于后面语句的输出。因此(7)空缺处所填写的内容是“str[j]”。 printf输出语句结束之后,就要继续寻找后面不包含标志字符的子字符串。此时,需要把数组指针i移至j的后面,再继续扫描。因此(8)空缺处所填写的内容是“i=j+1”。

  • 第14题:

    以下函数fun的功能是返回str所指字符串中以形参c中字符开头的后续字符串的首地址,例如,str所指字符串为Hello!,c中的字符为e,则函数返回字符串ello!的首地址。若str所指字符串为空或不包含c中的字符,则函数返回NULL,请填空。char *fun(char *str,char c){ int n=0; char *p=str; if(p!=NULL) while(p[n]!=c&&p[n]!=’\0’) n++; if(p[n]==’\0’) return NULL; return();}


    正确答案:p+n
    在本题中,函数fun的功能是返回str所指字符串中以形参c中字符开头的后续字符串的首地址。
    在本题的程序中,fun函数带有两个形参,其中一个是指针str,它指向字符串的首地址,另一个是字符变量c。程序首先定义了一个整型变量n,从程序中可知,它是字符串str中参数c相对于首地址的偏移量,然后定义了一个指针变量p,指向字符串str的首地址,然后执行条件语句,如果字符串不为空,则执行循环语句,循环结束的条件是要么字符串结束,要么找到形参c中对应的字符。根据循环结束的条件我们可以判断,其非死循环,循环结束后,从程序中可以看出,判断循环结束的原因是否因为字符串结束而结束的,如果是,说明没找到形参c中对应的字符,返回NULL。
    如果不是,则说明是因为找到了形参c中对应的字符而结束循环的。根据题目要求,需要返回以形参c中字符开头的后续字符串的首地址,而这时以形参c中字符开头的后续字符串的首地址为p+n。

  • 第15题:

    下述函数功能是______。 int fun(char*x) { char*y=x; while(*y++) retumy-x-1; }

    A.求字符串的长度

    B.求字符串存放的位置

    C.比较两个字符串的大小

    D.将字符串x连接到字符串y后面


    正确答案:A
    解析:在函数体内定义—字符型指针并指向形参,然后遍历其中各字符直到NULL,最后返回字符串首尾地址的差值,即字符串的长度。

  • 第16题:

    函数调用strcat(strcpy(str1,str2),str3)的功能是( )。

    A.将字符串str1复制到字符串str2中后再连接到字符串str3之后

    B.将字符串str1连接到字符串str2之后再复制到字符串str3之后

    C.将字符串str2复制到字符串str1之后再将字符串str3连接到字符串str1之后

    D.将字符串str2连接到字符串str1之后再将字符串strl复制到字符串str3中


    正确答案:C
    strcat(s1,s2)函数的功能是把s2字符串连接到s1字符串末尾,strcpy(s1,s2)是把s2字符串复制到s1字符串,要保证sl的容量。

  • 第17题:

    函数调用“strcat(strcpy(strl,str2),str3)”的功能是( )

    A.将字符串strl复制到字符串str2中后再连接到字符串str3之后

    B.将字符串strl连接到字符串str2中后再复制到字符率str3之后

    C.将字符串str2复制到字符串strl中后再将字符串str3连接到字符串strl之后

    D.将字符串str2连接到字符率strl之后再将字符串strl复制到字符串str3中


    正确答案:C
    函数调用strcat(s1,s2)是将s2字符串复制连接到s1字符串之后,使s1字符串变得更长。函数调用strcpy(s1,s2)是将s2字符串复制到s1,使s1字符串的内容与s2字符串的内容相同。函数调用strcat(strcpy(strl,str2),str3)是先执行strcpy(strl,str2),然后再执行strcat(strl,str3),所以其功能是将字符串str2复制到字符串strl中,然后再将字符串str3复制连接到字符串strl之后。正确的选择是C。

  • 第18题:

    下面函数的功能是( )。 int fun(char *x) { char *y=X; while(*y++); return (y-x-1); }

    A.求字符串的长度

    B.比较两个字符串的大小

    C.将字符串x复制到字符串y

    D.将字符串x连接到字符串y后面


    正确答案:A
    解析:函数中,首先让字符串指针指向字符串x,然后通过while循环使y指向字符串x的尾部。再通过两指针之间的算术运算得出字符串x的长度。

  • 第19题:

    阅读以下说明和C函数,填补代码中的空缺,将解答填入答题纸的对应栏内。
    [说明]
    函数removeDuplicates(chai *str)的功能是移除给定字符串中的重复字符,使每种字符仅保留一个,其方法是:对原字符串逐个字符进行扫描,遇到重复出现的字符时,设置标志,并将其后的非重复字符前移。例如,若str指向的字符串为"aaabbbbscbsss",则函数运行后该字符串为"absc"。

    [C代码] voidremoveDuplicates(char *str) { inti,len=strlen(str); /*求字符串长度*/ if(______)return; /*空串或长度为1的字符串无需处理*/ for(i=0;i<len;i++){ int flag=0; /*字符是否重复标志*/ int m; for(m=______; m<len;m++){ if(Str[i]==str[m]){ ______; break; } } if (flag) { int n,idx=m; /*将字符串第idx字符之后、与str[i]不同的字符向前移*/ for(n=idx+1; n<len; n++) if(Str[n]!=str[i]){ str[idx]=str[n];______; } str[______]='\0'; /*设置字符串结束标志*/ } } }


    答案:
    解析:
    len<2 或len<=1 或等价表示
    i+1 或等价表示
    flag=1 或给flag赋值为任何一个不是0的值
    idx++ 或idx=idx+1 或等价表示
    idx 或等价表示

  • 第20题:

    函数strcpy(str1,str2)是将字符串str2连接到字符串str1之后。


    正确答案:错误

  • 第21题:

    在VB中,求字符串的字符长度的函数是()。

    • A、Len(x)
    • B、Str(x)
    • C、Val(x)
    • D、Sqr(x)

    正确答案:A

  • 第22题:

    函数调用strcat(strcpy(str1,str2),str3)的功能是()

    • A、将字符串str2复制到字符串str1中后再将字符串str3连接到字符串str1之后
    • B、将字符串str1复制到字符串str2中后再连接到字符串str3之后
    • C、将字符串str1复制到字符串str2中后再复制到字符串str3之后
    • D、将字符串str2连接到字符串str1中后再将字符串str1复制到字符串str3中

    正确答案:A

  • 第23题:

    单选题
    在Visual Basic的转换函数中将数值转换为字符串的函数是Str(x);将数字字符串转换为数值的函数是()。
    A

    Acs(x)

    B

    Srt(x)

    C

    Asc(x)

    D

    Vla(x)


    正确答案: B
    解析: 暂无解析