字符串函数strcat(str1,str2)的作用是将字符串str2连接在字符串str1后.
第1题:
请补充函数fun(),该函数的功能是:把从主函数中输入的字符串str2接在字符串str1的后面。
例如:str1=“How do”,str2=“you do?”,结果输出: How do you do?
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:
include<stdio.h>
include<conio.h>
define N 40
void fun(char*str1,char *str2)
{
int i=0;
char *pl=str1;
char*p2=str2;
while(【 】)
i++;
for(;【 】;i++)
*(p1+i)=【 】;
*(p1+i)='\0';
}
main()
{
char str1[N],str2[N);
clrscr();
printf("*****Input the string str1 & Str2*****\n");
printf("\nstr1:");
gets(str1);
printf("\nstr2:");
gets(str2);
printf("**The string str1 & str2**\n");
puts(str1);
puts(str2);
fun(str1,str2);
printf("*****The new string *****\n");
puts(str1);
}
第2题:
下面函数的功能是 char*fun(char*strl,char*str2) { while((*strl)&&(*str2++=*strl++)); return str2;}
A.求字符串的长度
B.比较两个字符串的大小
C.将字符串str1复制到字符串str2中
D.将字符串str1接续到字符串str2中
第3题:
下列给定程序中,函数proc的功能是:首先把b所指字符串中的字符按逆序存放,然后将str1所指字符串中的字符和Str2所指字符串中的字符,按排列的顺序交叉合并到str所指数组中,过长的剩余字符接在str所指数组的尾部。例如,当str1所指字符串中的内容为ABCDEFG,str2 所指字符串中的内容为1234时,str所指数组中的内容应该为A483C2D1EFG;而当str1所指字符串中的内容为1234,str2所指字符串中的内容为ABCEDFG时,str所指数组中的内容应该为1G2F31:4DCBA。 请修改程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: include<stdlib.h> include<conio.h> include<stdio。h> include<string.h> void proc(char*strl,char*str2,char*str) { int i,j;char ch; i=0;j=strleu(str2)-1; //****found**** while(i>j) { ch=str2[i];str2[i]=str2[j];str2[j]=ch; i++;j--; } while(*str1||*str2) { if(*str1){*str=*str1;str++;str1++;) if(*str2){*str=*str2;str++;str2++;) } //****found**** *str=0: } void main { char s1[100],s2[100],t[200]; system("CLS"); printf("\nEnter s1 string:"); scanf("%s",sl); printf("\nEnter s2 string:"); scanf("%s",s2); proc(s1,s2,t); printf("\nThe result is:%s\n",t); }
(1)错误:while(i>j)
正确:while(i<j)
(2)错误:*str=0;
正确:*str='\0 ';
【解析】由函数proc可知,变量i和j分别存放的是字符串str前面和后面第i个字符的位置,当i<j时,两个位置的字符交换。因此,“while(i>j)”应改为“while(i<j)”;交叉合并完成后,要为新的字符串添加结束符,因此,“*str= 0;”应改为“*str='\0';”,
第4题:
请补充函数fun(),该函数的功能是:把从主函数中输入的字符串str2倒置后接在字符串str1后面。
例如:str1=“How do”,str2=“?od uoy”,结果输出:“How do you do?”。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
include<stdio.h>
include<conio.h>
define N 40
void fun(char *str1,char *str2)
{
int i=0,j=0,k=0,n;
char ch;
char *p1=str1;
char *p2=str2;
while(*(p1+i))
i++;
while(*(p2+j))
j++;
n=【 】;
for(;k=j/2;k++,j--)
{
ch=*(p2+k);
*(p2+k)=*(p2+j);
*(p2+j)=ch;
}
【 】;
for(;【 】;i++)
*(p1+i)=*p2++;
*(p1+i)='\0';
}
main()
{
char str1[N],str2[N];
int m,n,k;
clrscr();
printf("***Input the string str1 & str2
***\n");
printf("\nstr1:");
gets(str1);
printf("\nstr2:");
gets(str2);
printf("***The string str1 & str2 ***\n");
puts(str1);
puts(str2);
fun(str1,str2);
printf("*** The new string ***\n");
puts (str1);
}
第5题:
函数调用strcat(strcpy(str1,str2),str3)的功能是( )。
A.将字符串str1复制到字符串str2中后再连接到字符串str3之后
B.将字符串str1连接到字符串str2之后再复制到字符串str3之后
C.将字符串str2复制到字符串str1之后再将字符串str3连接到字符串str1之后
D.将字符串str2连接到字符串str1之后再将字符串strl复制到字符串str3中
第6题:
函数调用“strcat(strcpy(strl,str2),str3)”的功能是( )
A.将字符串strl复制到字符串str2中后再连接到字符串str3之后
B.将字符串strl连接到字符串str2中后再复制到字符率str3之后
C.将字符串str2复制到字符串strl中后再将字符串str3连接到字符串strl之后
D.将字符串str2连接到字符率strl之后再将字符串strl复制到字符串str3中
第7题:
函数strcpy(str1,str2)是将字符串str2连接到字符串str1之后。
第8题:
设有两字符串“Good”、“Morning”分别存放在字符数组str1[10]、str2[10]中,下面语句中能把“Morning”连接到“Good”之后的是()
第9题:
C语言标准库函数“strcat(strcpy(STR1,STR2),STR3)”的功能是()。
第10题:
函数调用strcat(strcpy(str1,str2),str3)的功能是()
第11题:
将字符串strl复制到字符串str2中,再连接到str3之后
将字符串strl连接到str2之后,再复制到字符串str3之后
将字符串str2复制到字符串strl中,再将字符串str3连接到strl之后
将字符串str2连接到strl之后,再将字符串strl复制到str3中
第12题:
str1=”Fujian”
strcpy(str1,str2)
strcpy(str2,str1)
str1=str2
第13题:
函数调用:strcat(strcpy(str1, str2), str3)的功能是______。
A.将串str1复制到串str2中后再连接到串str3之后
B.将串str1连接到串str2之后再复制到串str3之后
C.将串str2复制到串str1中后再将串sir3连接到串str1之后
D.将串str2连接到串str1之后再将串str1复制到串str3中
第14题:


第15题:
函数调用:strcat(strcpy(str1,str2,),str3)的功能是 ( )
A.将串str1复制到串str2中后再连接到串str3之后
B.将串str1连接到串str2之后再复制到串str3之后
C.将串str2连接到串str1之后再将串str3连接到串str1之后
D.将串str2连接到串str1之后再将串str1连接到串str3之后
第16题:
请补充函数proc(),该函数的功能是:把从主函数中输入的字符串str2接在字符串str1的后面。
例如,str1=”I am a”,str2=”student”,结果输出:I am a student。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。
试题程序:


【1】*(pl+i)【2】+p2【3】*p2++
【解析】要将字符串str2接在字符串str后面,首先要得到字符串str1的长度,因此【1】填“*(p1+i)”。然后将字符串str2中的每一个字符接在字符串str1所有字符的后面,因此【2】填“*p2”;【3】填“*p2++”。
第17题:
函数调用“streat(strcpy(str1,str2),str3)”的功能是 ______。
A.将字符串str1复制到字符串str2中后再连接到字符串str3之后
B.将字符串str1连接到字符串str2中后再复制到字符串str3之后
C.将字符串str2复制到字符串str1中后再将字符串str3连接到字符串str1之后
D.将字符串str2连接到字符串str1之后再将字符串str1复制到字符串str3中
第18题:
A.strcat(str1,str2);
B.strcat(str2,str1);
C.strcpy(str1,str2);
D.strcmp(str1,str2);
第19题:
假如有字符串str1和字符串str2,下列选项不能利用于比较这两个字符串是否相等的是()。
第20题:
如果strcmp(str1,str2)的返回值为0,则说明()
第21题:
在C语言中,将字符串str2连接到str1尾部的操作正确的是()
第22题:
设已定义:char str1[10],str2[10]=”Fujian”;则能将字符串”Fujian”赋给数组str1的正确语句是()
第23题:
string.Compare(str1,str2)
str1= =str2
string.Equals(str1,str2)
string.CompareTo(str1,str2)
第24题:
strcpy(str3, "HELLO!");
strcpy(str2, "HELLO!");
strcpy(str1, "HELLO!");
strcpy(str4, "HELLO!");