函数substr(”13088888888”,3,8)的输出结果为()。A、88888888B、08888888C、888D、以上都不是

题目

函数substr(”13088888888”,3,8)的输出结果为()。

  • A、88888888
  • B、08888888
  • C、888
  • D、以上都不是

相似考题
参考答案和解析
正确答案:B
更多“函数substr(”13088888888”,3,8)的输出结果”相关问题
  • 第1题:

    编写一个函数findStr(),该函数统计一个长度为2的子字符串在另一个字符串中出现的次数。例如,假定输入的字符串为"asd asasdfg asd as zx67 asd mklo",子字符串为"as",函数返回值是6。

    函数ReadWrite()实现从文件in.dat中读取两个字符串并调用函数findStr(),最后把结果输出到文件out.dat中。

    注意:部分程序已经给出。

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

    include <stdio.h>

    include <string.h>

    include <conio.h>

    int findStr(char *str,char *substr)

    {

    }

    main()

    {

    char str[81],substr[3];

    int n;

    clrscr();

    printf("输入原字符串");

    gets(str) ;

    printf("输入子字符串:");

    gets(substr);

    puts(str);

    puts(substr);

    n=findStr(str, substr);

    printf("n=%d\n", n);

    ReadWrite();

    }

    ReadWrite()

    {

    char str[81],substr[3],ch;

    int n, len,i=0;

    FILE *rf, *wf;

    rf=fopen("in.dat", "r");

    wf=fopen("out.dat", "w");

    while(i<25)

    {

    fgets(str, 80, rf);

    fgets(substr, 10, rf);

    len=strlen(substr)-1;

    ch=substr[len];

    if(ch=='\n' || ch==0xla)substr[len]=0;

    n=findStr(str, substr);

    fprintf(wf, "%dkn", n);

    i++;

    }

    fclose(rf);

    fclose(wf);

    }


    正确答案:int findStr(char *strchar *substr) { int n; char *p *r; n=0; while( *str ) { p=str; r=substr; while(*r) if(*r==*p) { r++; p++; } else break; if(*r=='\O') n++; str++; } return n; }
    int findStr(char *str,char *substr) { int n; char *p , *r; n=0; while( *str ) { p=str; r=substr; while(*r) if(*r==*p) { r++; p++; } else break; if(*r=='\O') n++; str++; } return n; } 解析:该程序属于按条件查找类型的题目,考核的知识点为:
    (1)在给定的字符串中查找指定字符;
    (2)统计查找后满足条件的个数。
    本题的解题思路是:对原字符串中的字符进行扫描,若原字符串中含有子字符串,即原字符串的其中一部分与子字符串完全相同时,统计出个数。判断原字符串是否含有子字符串,可以将原字符串中的元素逐个与子字符串相比较,当两字符串中各个元素都相同且子字符串结束时,则证明原字符串包含一个子字符串。在统计个数的时候需要设置一个记录变量,每当原字符串包含子字符串一次的时候,该记录变量自动加1。
    程序的流程是:首先通过键盘接收两个字符串,其中一个作为原字符串,另一个作为子字符串,然后调用findStr()函数对两字符串进行比较,处理后的结果由ReadWrite()函数写回文件out.dat中。
    答案解析如下:
    int findStr(char *str,char *substr)
    {
    int n;/*定义变量,n代表子符串出现次数*/
    char p,r;/*定义指针变量*/
    n=0;
    while(str)
    /*当原字符串不为空,即*str不为空时进入到外层while,此时循环中原字符串指针str和子字符串指针substr都指向其字符串内的第一个元素*/
    {
    p=str;/*将字符串的指针str赋给p*/
    r=substr;/*将字符串的指针substr赋给r*/
    while(*r)/*当子字符串也不为空时,即*r不空时进入内嵌的while循环*/
    if(*r==*p)/*将原字符串与子字符串逐个元素进行比较看是否相等*/
    {
    r++;
    p++;
    }
    /*将原字符串与子字符串分别后移一个字符*/
    else
    break;/*否则结束循环*/
    if(*r=='\0')/*结束while循环的情况有两种:(1)比较完毕,即原字符串中包含该子字符串,此时子字符串的指针指向串尾(为“\0”);(2)未比较完毕,此时子字符串的指针不指向串尾。if语句的功能是通过判断子字符串的指针是否指向串尾进而来判断内层while循环结束的原因*/
    n++;/*出现的次数加1*/
    str++;/*牟字符串指针也指向下一个字符*/
    }
    return n;/*返回出现的次数*/
    }

  • 第2题:

    下列给定程序中,函数fun()的功能是:统计字符串substr在字符串srt中出现的次数。例如,若字符串为aaas 1 kaaas,子字符串为as,则应输出2。

    请改正程序中的错误,使它能得出正确的结果。

    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

    试题程序:

    include <stdio.h>

    fun (char *str, char *substr)

    {int i, j, k, num=0;

    /*************found**************/

    for (i=0, str [i], i++)

    for (j=i, k=O; substr [k]==str [ j ]; k++, j ++ )

    if (substr [k+l]==' \0')

    {num++;

    break;

    }

    return num;

    }

    main ( )

    { char str[80],substr[80];

    printf("Input a string: ");

    gets (str);

    printf("Input a sbustring: ");

    gets (substr);

    printf ("%d\n ", fun (str, substr) );


    正确答案:错误:for(i=0srt[i]i++) 正确:for(i=0;str[i];i++)
    错误:for(i=0,srt[i],i++) 正确:for(i=0;str[i];i++) 解析:从字符串s中找出子字符串的方法是:从第1个字符开始,对字符串进行遍历;若s串的当前字符等于t串的第1个字符,两字符串的指针自动加1,继续比较下一个字符;若比较至字符串的结尾,则跳出循环;若s串的字符和t串的字符不对应相同,则继续对s串的下一个字符进行处理。

  • 第3题:

    在以下四组函数运算中,结果相同的是( )。

    A.LEET(“Visual FoxPro”,6)与SUBSTR(“Visual FoxPro”,1,6)

    B.YEAR(DATE())与SUBSTR(DTOE(DATE);7,2)

    C.VARTYPE(“36-5*4”)与VARTYPE(36-5*4)

    D.假定A=”THIS”,B=”IS A STRING”,MB与MB


    正确答案:A

  • 第4题:

    以下函数返回结果为数值型的是( )。

    A)TRIM(”等级考试”)

    B)OCCURS(”ab”,”abcab”)

    C)SUBSTR(”abcc",2,2)

    D)LIKE(“ABC”,“ AbC”)


    正确答案:B
    TRIM函数返回指定字符表达式去掉尾部空格后形成的字符串。OCCURS(<字符表达式1x字符表达式2>)函数返回第一个字符串在第二个字符串中出现的次数,函数值为数值型。SUBSTR函数从指定表达式值的指定起始位置取指定长度的子串作为函数值。LIKE(<字符表达式1><字符表达式2>1函数比较两个字符串对应位置上的字符,若所有对应字符都相匹配,函数返回逻辑真,否则返回逻辑假。

  • 第5题:

    在下面的函数中,()返回的函数值是C型的。

    • A、FOUND()
    • B、RECNO()
    • C、ASC()
    • D、SUBSTR()

    正确答案:D

  • 第6题:

    若想从字符串“宜春市”中取出汉字“春”应该使用函数()。

    • A、SUBSTR(“宜春市”,2,2)
    • B、SUBSTR(“宜春市”,2,1)
    • C、SUBSTR(“宜春市”,3,1)
    • D、SUBSTR(“宜春市”,3,2)

    正确答案:B

  • 第7题:

    S1="good",S2="morning",执行函数SubStr(S2,4,LenStr(S1))后的结果为()。

    • A、"good"
    • B、"ning"
    • C、"go"
    • D、"morn"

    正确答案:B

  • 第8题:

    在以下四组函数运算中,结果相同的是()。

    • A、LEFT("Visual FoxPro",6)与SUBSTR("Visual FoxPro",1,6)
    • B、YEAR(DATE())与SUBSTR(DTOC(DATE),7,2)
    • C、VARTYPE("36-5*4")与VARTYPE(36-5*4)
    • D、假定A="this",B="isastring",A-B与A+B

    正确答案:A

  • 第9题:

    $str = "My name is Jack, and what is your name?";echo substr_count ($str,“name”);程序的输出结果为()。

    • A、1
    • B、2
    • C、3
    • D、4

    正确答案:B

  • 第10题:

    单选题
    $str = "My name is Jack, and what is your name?";echo substr_count ($str,“name”);程序的输出结果为()。
    A

    1

    B

    2

    C

    3

    D

    4


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

  • 第11题:

    单选题
    S="morning",执行求子串函数SubStr(S,2,2)后的结果为()。
    A

    mo

    B

    or

    C

    in

    D

    ng


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

  • 第12题:

    单选题
    函数Substr("Ab12Cd",2,2)的返回结果是()。
    A

    12

    B

    Cd

    C

    Ab

    D

    Ab12Cd


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

  • 第13题:

    编写一个函数findStr(),该函数统计一个长度为2的字符串在另一个字符串中出现的次数。例如,假定输入的字符串为"asd asasdfg asd as zx67 asd mklo",子字符串为“as”,函数返回值是6。

    函数ReadWrite()的功能是实现从文件in40.dat中读取两个字符串,并调用函数findstr(),最后把结果输出到文件out40.dat中。

    注意:部分源程序已给出。

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

    include<stdio.h>

    include<string.h>

    include<conio.h>

    int findStr(char *str,char *substr)

    {

    main ( )

    {

    char str[81],substr[3];

    int n;

    clrscr();

    printf("输入原字符串: ");

    gets(str);

    printf ("输入子字符串: ");

    gets(substr);

    puts(str);

    puts(substr);

    n=findStr(str,substr);

    printf("n=%dkn",n);

    ReadWrite();

    }

    ReadWrite()

    {

    char ch, str[81],substr[3];

    int n,len, i=0;

    FILE *rf,*wf;

    rf=fopen("in40.dat","r");

    wf=fopen("out40.dat","w");

    while(i<5)

    {

    fgets(str,80,rf);

    fgets(substr,10,rf);

    len=strlen(substr)-1;

    ch=substr[len];

    if(ch=='\n'||ch==Oxla)

    substr[len]=0;

    n=findStr(str,substr);

    fprintf(wf,"%dln",n);

    i++;

    }

    fclose(rf);

    fclose(wf);

    }


    正确答案:int findStr(char *strchar*substr) {int n; char *p*r; n=0; while(*str) { p=str; /*指针p指向字符串首地址*/ r=substr; /*指针r指向子字符串首地址*/ while(*r) if(*r==*p) /*如果子字符串的第一个字符等于字符串中的该字符则继续比较下一个字符*/ { r++; p++; } else break; /*否则退出循环*/ if(*r=='\0') /*如果子字符串在字符串中出现了一次*/ n++; /*则n加1进行统计*/ str++; /*指向字符串中的下一个字符*/ } return n; /*返回n*/ }
    int findStr(char *str,char*substr) {int n; char *p,*r; n=0; while(*str) { p=str; /*指针p指向字符串首地址*/ r=substr; /*指针r指向子字符串首地址*/ while(*r) if(*r==*p) /*如果子字符串的第一个字符等于字符串中的该字符,则继续比较下一个字符*/ { r++; p++; } else break; /*否则退出循环*/ if(*r=='\0') /*如果子字符串在字符串中出现了一次*/ n++; /*则n加1,进行统计*/ str++; /*指向字符串中的下一个字符*/ } return n; /*返回n*/ } 解析:本题考查的知识点如下:
    (1)指针的相关操作。
    (2)强行退出———break的使用。
    指针是C语言中的一个难点。在这里,我们要使用指针实现对数组的访问继而进行字符韵比较。使用数组存放字符串时,存放的字符个数要比数组的容量小1,因为数组最后一个位置存放的是空格或者结束标志位。我们可利用这一点来判断一个字符串是否已经结束。在循环结构中常常要出现强行退出的情况,这里要使用到bleak语句强行退出一层循环。当字符串中的某个字符与子字符串的第一个字符不同时,则将字符串中的下一个字符与子字符串中的第一个字符比较,而不是与子字符串中的第二个字符比较。

  • 第14题:

    编写一个函数findStr(char*str,char*substr),该函数统计一个长度为2的子字符串substr在另一个字符串str中出现的次数,该次数作为函数值返回。例如,假定输入的字符串为”asd asasdfg asd as zx67 asdmklo”,子字符串为”as”,函数返回值是6。 函数ReadWrite实现从文件in.dat中读取两个字符串,并调用函数findStr,最后把结果输出到文件out.dat中。 注意:部分源程序存在test.c文件中。请勿改动主函数main和其他函数中的任何内容,仅在函数findStr的花括号中 填入你编写的若干语句。


    正确答案:
    【审题关键句】统计一个长度为2的子字符串在另一个字符串中出现的次数。
    【解题思路】
    ①定义字符指针p,q,并且q指向字符串str。定义计数整型变量cnt,设置其值等于0。
    ②在while循环中调用C语言的字符串库函数strstr,返回子字符串substr在字符串q第一次出现的位置,赋给变量P。用if语句判断,如果p的值为空,则说明在字符串str没有找到子字符串,退出循环。否则,变量cnt加1,再把P的值加2(因为子字符串substr的长度为2)赋给变量q,执行下一次循环。直到字符串中不存在子字符串时,退出循环结束。
    ③最后,返回子字符串substr在字符串str中出现的次数。
    【参考答案】

  • 第15题:

    下列函数中,函数值是“奥运会”的是( )。

    A)SUBSTR(”2008奥运会”,5,6)

    B)SUBSTR(”2008奥运会”,6)

    C)RIGHT(”2008奥运会”,1,6)

    D)LEFT(”2008奥运会”,6)


    正确答案:A
    LEFT(<字符表达式>,<长度>)
    功能:从指定表达式值的左端取一个指定长度的子串作为函数值。
    RIGHT(<字符表达式>,<长度>)
    功能:从指定表达式值的右端取一个指定长度的子串作为函数值。
    SUBSTR(<字符表达式>,<起始位置>[,(长度>])
    功能:从指定表达式值的指定起始位置取指定长度的子串作为函数值。若缺省第3个自变量<长度>,则函数从指定位置一直取到最后一个字符。
    由于一个汉字占用两个字符,再根据函数的功能,选项B)截取字符的起始位置不正确,得到是乱码;选项C)的函数格式错误,选项D)的结果是“2008奥”。

  • 第16题:

    函数Substr("Ab12Cd",2,2)的返回结果是()。

    • A、12
    • B、Cd
    • C、Ab
    • D、Ab12Cd

    正确答案:A

  • 第17题:

    $funName=”substr”;echo $funName(“abcdefg”,3);输出结果是()。

    • A、abc
    • B、defg
    • C、efg
    • D、程序报错

    正确答案:B

  • 第18题:

    S="morning",执行求子串函数SubStr(S,2,2)后的结果为()。

    • A、"mo"
    • B、"or"
    • C、"in"
    • D、"ng"

    正确答案:B

  • 第19题:

    若想从字符串"上海市"中取出"海"字,应用函数()。

    • A、SUBSTR("上海市",2,2)
    • B、SUBSTR("上海市",2,1)
    • C、SUBSTR("上海市",3,1)
    • D、SUBSTR("上海市",3,2)

    正确答案:D

  • 第20题:

    下列()是Excel中系统提供的函数。

    • A、COUNT
    • B、AVERAGE
    • C、MAX
    • D、MIN
    • E、substr

    正确答案:A,B,C,D

  • 第21题:

    单选题
    $funName=”substr”;echo $funName(“abcdefg”,3);输出结果是()。
    A

    abc

    B

    defg

    C

    efg

    D

    程序报错


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

  • 第22题:

    单选题
    函数SUBSTR(“12345678”,3,2)的结果是()
    A

    23

    B

    34

    C

    12

    D

    6


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

  • 第23题:

    单选题
    S1="good",S2="morning",执行函数SubStr(S2,4,LenStr(S1))后的结果为()。
    A

    good

    B

    ning

    C

    go

    D

    morn


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