$s1+$s2
“{$s1}{$s2}”
$s1.$s2
implode(‘’,array($s1,$s2))/
第1题:
若已包括头文件<string.h>且已有定义char s1[18],s2={"ABCDE"}和int i,现要将字符串 "ABCDE"赋给s1,下列语句错误的是( )
A.strcpy(s1,s2)
B.strcpy(s1,"ABCDE");
C.s1="ABCDE";
D.for(i=0;i<6;i++) s1[i]=s2[i];
第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
第3题:
编写一个函数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);
}
第4题:
以下程序中函数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
第5题:
以下说法中错误的是
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。
第6题:
下列语句中,在字符串s1和s2相等时显示"they are Equal"的是( )。
A.if(*s1==*s2) puts("they are Equal");
B.if(!strcmp(s1,s2)) puts("they are Equal");
C.if(s1==s2) Puts("they are Equal");
D.if(strcmp(s1,s2) ) puts("they are Equal");
第7题:
阅读以下函数 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
第8题:
s1和s2已正确定义并分别指向两个字符串。若要求:当s1所指字符串大于s2所指字符串时,执行语句S;则以下选项中正确的是( )。
A.if(sl>s2)S;
B.if(strcmp(s1,s2))S;
C.if(strcmp(s2,s1>0)S;
D.if(strcmp)(s1,s2)>0)S;
第9题:
以下程序中函数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
第10题:
判断字符串s1是否大于字符串s2,应该使用( )。
A.if(strcmp(s1,s2)<0)
B.if(s1>s2)
C.if(strcmp(s2,s1)<0)
D.if(strcmp(s1,s2))