以下程序中函数sCmp的功能是返回形参指针sl和s2所指字符串中较小字符串的首地址。若运行时依次输入:abCd、abba和abC三个字符串,则输出结果是( )。A.abCdB.abbaC.abCD.abCa

题目

以下程序中函数sCmp的功能是返回形参指针sl和s2所指字符串中较小字符串的首地址。若运行时依次输入:abCd、abba和abC三个字符串,则输出结果是( )。

A.abCd

B.abba

C.abC

D.abCa


相似考题
更多“ 以下程序中函数sCmp的功能是返回形参指针sl和s2所指字符串中较小字符串的首地址。若运行时依次输入:abCd、abba和abC三个字符串,则输出结果是( )。A.abCdB.abbaC.abCD.abCa ”相关问题
  • 第1题:

    对于下面的程序includeincludechar *scmp(char*s1,char*s2){if(strcmp(s1,

    对于下面的程序 #include<stdio.h> #include<string.h> char *scmp(char*s1,char*s2) { if(strcmp(s1,s2)<0)return(s1); else return(s2); } main() { int i:char string[20],sb[3][20]; for(i=0;i<3;i++)gets(str[i]); strcpy(string,scmp(str[0],str[1])); strcpy(string,scmp(string,str[21)); printf("%s\n",string); } 若运行时依次输入abcd、abba和abc三个字符串,则输出结果为______。

    A.abcd

    B.abba

    C.abc

    D.abca


    正确答案:B
    解析:本题自定义函数scrnp()的作用是比较字符串s1和s2的大小,如果s1s2,函数返回s1的值,否则返回s2的值。若运行时依次输入abcd、abba和abc三个字符串,执打strcpy(string,scmp(str[0],str[1]));后,string的值为abba,再执行strcpy(string,scmp(string,str[2]));,由于scmp(string,str[2])返回string的值abba,再拷贝到字符串数组string中,所以本题输出abba。

  • 第2题:

    以下程序中函数scmp的功能是返回形参指针s1和s2所指字符串中较小字符串的首地址

    #include <stdio.h>

    #include <string.h>

    char *scmp(char *s1, char *s2)

    { if(strcmp(s1,s2)<0)

    return(s1);

    else return(s2);

    }

    main( )

    { int i; char string[20], str[3][20];

    for(i=0;i<3;i++) gets(str[i]);

    strcpy(string,scmp(str[0],str[1])); /*库函数strcpy对字符串进行复制*/

    strcpy(string,scmp(string,str[2]));

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

    }

    若运行时依次输入:abcd、abba和abc三个字符串,则输出结果为

    A.abcd

    B.abba

    C.abc

    D.abca


    正确答案:B
    解析:当第一次执行strcpy()函数时,把输入的前两个串中的较小者复制到string中,第二次调用strcpy()函数时,则是把前两者中的较小者与第三个串进行比较返回较小者,并复制到string中,故string存放了3个输入串中的最小者。

  • 第3题:

    以下程序中函数scmp功能是返回形参指针s1和s2所指字符串中较小字符串的首地址。#includ<string. h>char *scmp(char *s1,char *s2){ if(strcmp(s1,s2)<0) return(s1); else return(s2);}main(){ int i;char string[20],str[3][20]; for(i=0;i<3;i++) gets(str[i]); strcpy(string,scmp(str[0],str[1])); //库函数 strcpy 对字符串进行复制 strcpy(string,scmp(stfing,str[2])); puts(string); }若运行时依次输入: abed、abba 和abc三个字符串,则输出结果为( )。

    A.abed

    B.abba

    C.abc

    D.abca


    正确答案:B

  • 第4题:

    以下函数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。

  • 第5题:

    下列函数的功能是( )。 A.将a所指字符串赋给b所指空间B.使指针b指向a所指字符串SXB

    下列函数的功能是( )。

    A.将a所指字符串赋给b所指空间

    B.使指针b指向a所指字符串

    C.将a所指字符串和b所指字符串进行比较

    D.检查a和b所指字符串中是否有’\0


    正确答案:A
    表达式*b=*a是将a所指的字符赋给b所指的空间,然后,指针a和b依次后移,直到到达指针a所指字符串的结尾。

  • 第6题:

    下列给定程序中,函数fun的功能是:从形参SS所指字符串数组中,删除所有串长超过k的字符串,函数 返回剩余字符串的个数。ss所指字符串数组中共有N个字符串,且串长小于M。

    请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANKl.C中。

    不得增行或删行.也不得更改程序的结构!


    正确答案:
    (1)N(2)k(3)ss[i]【考点分析】本题考查:for循环语句;ff语句条件表达式;字符串拷贝函数strcpy的使用。【解题思路】填空1:for循环语句作用是遍历字符串数组中的每一个字符串,所以循环变量i的循环条件是i<N。填空2:题目要求删除串长度小于k的字符串,所以if条件语句的条件表达式是len<=k。。填空3:通过字符串拷贝函数将串长不大于k的字符串另存,并记录个数。【解题宝典】字符串拷贝函数strcpy,其格式为:strcpy(字符数组名1,字符数组名2)功能:把字符数组2中的字符串拷贝到字符数组l中。字符串结束标识‘、0’也一同拷贝。字符数名2,也可以是一个字符串常量。这时相当于把一个字符串赋予一个字符数组。

  • 第7题:

    下列给定程序中,函数fun的功能是:在形参SS所指字符串数组中查找与形参t所指字符串相同的串,找到后返回该串在字符串数组中的位置(即下标值),若未找到则返回一1。SS所指字符串数组中共有N个内容不同的字符串,且串长小于M。

    请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANKl.C中。

    不得增行或删行,也不得更改程序的结构!


    正确答案:
    (1)N(2)i(3)一1【考点分析】本题考查:for循环语句;函数返回值;if语句条件表达式。【解题思路】填空1:变量i是循环变量,它的取值范围是在0到N之间。填空2:如果ss所指字符串数组中的字符串和t所指字符串相同的话,则返回其下标值,即ltttlFni;否则返回一1,即retum一1;填空3:在main函数中输出最后结果,判断函数返回值n,如果n=一1,说明没有找到,否则输出n。

  • 第8题:

    以下程序中函数scmp的功能是返回形参指针s1和s2所指字符串中较小字符串的首地址。 #include<string> char*scmp(char*s1,char*s2) { if(strcmp(s1,s2)<0) return(s1); else retrun(s2); } main() { int i;char string[20],str[3][20]; for(i=0;i<3;i+

    A.abcd

    B.abba

    C.abc

    D.abca


    正确答案:B

  • 第9题:

    给定程序中,函数fun的功能是:利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排序,并输出排序结果。ss所指字符串数组中共有N个字符串,且串长小于M。

    请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

    注意:源程序存放在考生文件夹下的BLANKl.C中。

    不得增行或删行,也不得更改程序的结构!


    正确答案:(1)i (2)ps[j] (3)tp
    (1)i (2)ps[j] (3)tp 解析:本题中函数fun的功能是利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排序,并输出排序结果。在fun函数中采用了选择排序法,在选择排序法中的降序排序,首先从数组中挑选一个最大的元素,把它和第一元素交换,接着从剩下的n-1个元素中再挑出一个最大的元素,把它和第二个元素交换,不断重复以上过程,直到比较完最后两个元素。

  • 第10题:

    给定程序MODll.C中函数fun的功能是:将s所指字符串的正序和反序进行连接,形成一个新串放在t所指的数组中。

    例如,当s所指字符串为:“ABCD”时,则t所指字符串中的内容应为:“ABCDDCBA”。

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

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


    正确答案:(1)void fun(char*s char*t) (2)t[2*d]=‘\0’;
    (1)void fun(char*s, char*t) (2)t[2*d]=‘\0’; 解析:本题中函数的功能是将字符串的正序和反序进行连接。题目中首先由字符串的起始位置正序取字符,然后再由串尾逆序取字符,实现正序和逆序的连接。

  • 第11题:

    假定输入的字符串中只包含字母和*号。请编写函数proc(),它的功能是:除了尾部的*号之外,将字符串中其他*号全部删除。形参P已指向字符串中最后一个字母。在编写函数时,不得使用C语言的字符串函数。 例如,若字符串中的内容为****a*bc*def*g****,删除后,字符串中的内容应当是abcdefg****。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填人所编写的若干语句。 试题程序:


    正确答案:

    题目中要求除了尾部的*号之外,将字符串中其他*号全部删除。首先将所有不是*的字符放在字符串str中,然后将尾部的*接在字符的后面,最后为字符串str加上结束符。

  • 第12题:

    若给fun函数的形参S传送字符串:”abe.6354abc”,则函数的返回值是_________。(字符串中包括空格)


    正确答案:

  • 第13题:

    以下说法中错误的是

    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项错误。

  • 第14题:

    以下程序十函数scmp的功能是返回形参指针s1和s2所指字符串中较小字符串的首地址: #include <stdio.h> #include <string.h> char *scrap(char *s1,char *s2) { if(strcmp(s1,s2)<0) return(s1); else return(s2); } main() { int i; char string[20], str[3][20]; for(i=0;i<3;i++) gets(str[i]); strcpy(string,scmp(str [0],str[1]));/*库函数strcpy对宁符中进行复制*/ strcpy(string,scmp(string,str[2])); printf("%s\n",string); } 若运行时依次输入:abcd、4bba和abc三个宁符市,则输出结果为

    A.abcd

    B.abba

    C.abc

    D.abca


    正确答案:A
    解析:字符串比较大小的标准是从第一个字符开始依次向右比较,遇到某一个字符ASCII码值较大时,该字符所在的字符串就是较大的字符串。主函数中调用了函数scmp(),分析不难知道该函数的作用是返回参加比较的两个字符串中的较小的字符串,它的主函数中定义了一个二维字符数组来存放三个字符串.接着通过for循环给每个字符串赋值,赋值后三个字符串分别为“abcd”、“abba”、“abc”,接着比较str[0]和str[1]的大小,根据字符串大小比较标准可知str[0]较小,然后通过函数strcpy()把str[0]中的字符串,拷贝到string中,然后比较string和str[2]的大小,比较结果是string较小,最后输出string的值为“abcd”,所以,4个选项中选项A符合题意。

  • 第15题:

    以下程序中函数scmp的功能是返回形参指针s1和s2所指字符串中较小字符串的首地址 #include<stdio.h> #include<string.h> char *scmp(char *s1,char *s2) { if(strcmp(s1,s2)<0) return(s1); else return(s2); } main() { int i;char string[20],str[3][20]; for(i=0;i<3;i++)gets(str[i]); strcpy(string,scmp(str[0],str[1]));/*库函数strcpy对字符串进行复制*/ strcpy(string,scmp(string,str[2])); printf("%s\n",string); } 若运行时依次输入:abcd、abba和abc三个字符串,则输出结果为

    A.abcd

    B.adba

    C.abc

    D.abca


    正确答案:A
    解析:字符串比较大小的标准是从第一个字符开始依次向右比较,遇到某一个字符ASCII码值较大时,该字符所在的字符串就是较大的字符串。主函数中调用了函数scmp(),分析不难知道该函数的作用是返回参加比较的两个字符串中的较小的字符串,它的主函数中定义了一个二维字符数组来存放三个字符串。接着通过for循环给每个字符串赋值,赋值后三个字符串分别为“abcd”、“abba”、“abc”,接着比较str[0]和str[1]的大小,根据字符串大小比较标准可知str[0]较小,然后通过函数strcpy()把str[0]中的字符串,拷贝到string中,然后比较string和str[2)的大小,比较结果是string较小,最后输出string的值为“abcd”。

  • 第16题:

    下列函数的功能是

    fun(char *a,char *B)

    { while((*b=*A)! =‘\O’) {a++;b++;}}

    A.将a所指字符串赋给b所指空间

    B.使指针b指向a所指字符串

    C.将a所指字符串和b所指字符串进行比较

    D.检查a和b所指字符串中是否有‘\O’


    正确答案:A
    解析:表达式*b=*a是将a所指的字符赋给b所指的空间,然后,指针a和b依次后移,直到到达指针a所指字符串的结尾。

  • 第17题:

    下列函数的功能是( )。

    A.将a所指字符串赋给b所指空间

    B.使指针b指向a所指字符串

    C.将a所指字符串和b所指字符串进行比较

    D.检查a和b所指字符串中是否有‘、O’


    正确答案:A
    While循环条件为:(_h=}a)f-‘、0’,执行时先把指针a所指向的字符赋给指针b所在内存单元,如果该字符不是结束标识‘\0’,执行循环体a++;b++;,指针a.b分别指向下一个字符单元。再判断循环条件,如果成立,继续把指针a所指向的字符赋给指针b所在内存单元,直到遇到结束标识为止。因此A选项正确。

  • 第18题:

    编写函数fun,其功能是:求ss所指字符串中指定字符的个数,并返回此值。例如,若输入字符串123412132,输入字符为1,则输出3。

    注意:部分源程序在文件PROCl.C中。

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


    正确答案:
    intfun(char*ss,charc)inti=0;for(;*ss!=’\0‘;ss++)if(}ss==ci++/*求出*所指字符串中指定字符的个数*/returni;【考点分析】本题考查:for循环语句遍历字符串,并通过if条件语句,判断字符串是否结束。【解题思路】从字符串中查找指定字符,需要使用循环判断结构,循环语句用来遍历字符串,循环条件为字符串没有结束,即当前字符不是‘\0’,判断语句用来判断当前字符是否为指定字符。最后返回指定字符的个数。

  • 第19题:

    下列给定程序中,函数fun的功能是:求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指的变量中。ss所指字符串数组中共有M个字符串,且串长小于N。请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。


    正确答案:
    (1)M(2)<(3)k【考点分析】本题考查:for循环语句的循环条件;if语句条件表达式;return语句完成函数值的返回。【解题思路】填空1:题目指出88所指字符串数组中共有M个字符串,所以for循环语句循环条件是i<M。填空2:要求求长度最短的字符串,tn中存放的是已知字符串中长度最短的字符串的长度,这里将当前字符串长度与+nl七较,若小于tn,则将该长度值赋给+n,因此if语句的务件表达式为len<+n。填空3:将最短字符串的行下标作为函数值返回,变量-储存行下标的值。

  • 第20题:

    给定程序中,函数fIm的功能是:将形参s所指字符串中的所有数字字符顺序前移,其他字符顺序后移,

    处理后新字符串的首地址作为函数值返回。

    例如。s所指字符串为asdl23fgh543df,理后新字符串为l23543asdfghdf。

    请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

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

    不得增行或删行,也不得更改程序的结构!

    试题程序:


    正确答案:

  • 第21题:

    下列选项中,能够满足“只要字符串sl等于字符串s2,则执行sT”要求的是( )。

    程序执行后的输出结果是( )。

    A.2

    B.1

    C.3

    D.0


    正确答案:A
    比较两个字符串的大小可以用strCmp函数,选项A)正确。

  • 第22题:

    给定程序中,函数fun的功能是:在形参ss所指字符串数组中,查找含有形参substr所指子串的所有字符串并输出,若没找到则输出相应信息。ss所指字符串数组中共有N个字符串,且串长小于M。程序中库函数strstr(s1,s2)的功能是在s1串中查找s2子串,若没有,函数值为0,若有,为非0。

    请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

    注意:源程序存放在考生文件夹下的BLANKl.C中。

    不得增行或删行,也不得更改程序的结构!


    正确答案:(1)N (2)substr (3)0
    (1)N (2)substr (3)0 解析:本题中函数fun的功能是在形参ss所指字符串数组中,查找含有形参substr所指子串的所有字符串并输出,若没找到则输出相应信息。
    在fun函数中,利用循环逐个查找ss所指字符串数组中的每一个字符串,并判断是否含有substr所指的子串,有则输出。

  • 第23题:

    以下程序中函数scmp的功能是返回形参指针s1和s2所指字符串中较小字符串的首地址: #include <stdio.h> #include <string.h> char *scmp (char *S1,char *s2) {if(strcmp(s1,s2)<0) return(s1); else return(s2); } main() { int i; char string[20],str[3] [20]; for(i=0;i<3;i++) gets(str[i]); strcpy(string,scmp(str[0],str[1]));/*库函数strcpy对字符串进行复制*/ strcpy(string,scmp(string,str[2])); printf("%s\n",string); } 若运行时依次输入abed、abba和abc三个字符串,则输出结果为( )。

    A.abed

    B.abba

    C.abc

    D.abca


    正确答案:B
    解析:本题首先从键盘读入3个字符串放到二维数组str中,然后通过两次比较,每次把较小的字符串复制到字符数组string中,所以执行完以后,string中存放的是最小的字符串,输入的3个字符串前两个字符都是“ab”,而第3个字符‘e’、‘b’、‘c’中‘b’最小,所以最小字符串是“abba”,故应该选择B。