计算机二级

下述语句中,在字符串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”);

题目

下述语句中,在字符串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”);

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下列语句中,在字符串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");


正确答案:B
解析:字符串比较不能用两个等于号(==)来进行比较, 应使用函数strcmp(s1,s2)来比较。 函数 strcmp(s1,s2)的功能是:当字符串s1和s2相等时,返回值为0。因此,当表达式!strcmp(s1,s2)=1时,条件成立,执行后面的语句,输出they are Equal。

第2题:

若有定义语句:“char*s1=”0K”,*s2=”ok”;”,以下选项中,能够输出“OK”的语句是( )。

A.if(strcmp(sl,s2)= =0)puts(s1);

B.if(strcmp(sl,s2)!=0)puts(s2);

C.if(strcmp(sl,s2)= =l)puts(s1);

D.if(stremp(sl,s2)!=0)puts(s1);


正确答案:D
此题考查strcmp函数,此函数是模糊比较两个字符串的大小,因为Strcmp(sl,s2)!=0,所以需要输出“0K”用puts函数,所以答案为D。

第3题:

若已包含头文件stdio.h且有说明chars1[5],s2[7];要给s1,s2赋值,下列语句中正确的是()

A、s1=getchar();s2=getchar();

B、scanf(“%s%s”,s1,s2);

C、scanf(“%c%c”,s1,s2);

D、gets(s1);s2=s1;


参考答案:B

第4题:

判断字符串s1是否大于字符串s2,应该使用()。A.if(strcmp(s1,s2)<0)B.if(s1>s2)C.if(strcmp(s2,s1)

判断字符串s1是否大于字符串s2,应该使用( )。

A.if(strcmp(s1,s2)<0)

B.if(s1>s2)

C.if(strcmp(s2,s1)<0)

D.if(strcmp(s1,s2))


正确答案:C
解析: 本题考查字符串比较函数strcmp()。调用形式:strcmp(s1,s2),其中s1、s2分别是字符串存储区的首地址。函数功能:比较字符串str1和str2,当str1str2时,返回值为负数;当str1=str2时,返回0;当str1>str2,返回值为正数(注意:不能使用关系运算符比较两个字符串的大小)。

第5题:

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


正确答案:C
解析:在函数fun()中有两个字符型指针变量s1和s1,在函数中程序执行while循环,该循环退出条件有两个:一个是s1[i]!=s2[i](两个字符串不相等);第二个是sl[i]和s2[i]相等均为“\0”(两个字符串相等)。循环退出后,执行return语句,即两个字符串相等则返回1,不相等则返回0。所以,C选项为所选。

第6题:

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


正确答案:C

第7题:

若有以下说明:chars1[]={"tree"},s2[]={"flower"};,则以下对数组元素或数组的输出语句中,正确的是()。

A.printf("%s%s",s1[5],s2[7]);

B.printf("%c%c",s1,s2);

C.puts(s1);puts(s2);

D.puts(s1,s2);


正确答案:C

第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;


正确答案:D
解析:在C语言中字符串的比较用strcmp()函数,该函数有两个参数,分别为被比较的两个字符串。如果第一个字符串大于第二个字符串返回值大于0,若小于返回值小于0,相等返回值为0。字符串比较大小的标准是从第一个字符开始依次向右比较,遇到某一个字符大,该字符所在的字符串就是较大的字符串,如果遇到某一个字符小,该字符所在的字符串就是较小的字符串。本题中要求当s1所指字符串大于s2所指字符串时,执行语句s,因此应该为strcmp(s1,s2)>0或者strcmp(s2,s1)0,所以,4个选项中选项D符合题意。

第9题:

s1和s2已正确定义并分别指向两个字符串。若要求:当s1所指串大于s2所指串时,执行语句S。则以下选项中正确的是______。

A.if (s1>s2)S;

B.if(strcmp(s1, s2))S;

C.if(strcmp(s2, s1)>0)S;

D.if(strcmp(s1, s2)>0)S;


正确答案:D
解析:C语言中,用strcmp(s1,s2)来比较串s1和s2的大小,当s1>s2时,strcmp的值为正数;当s1=s2时,strcmp的值为0;当s1s2时,strcmp的值为负数。因此D选项的if语句正确。

第10题:

下列的程序用来输出两个字符串前7个字符中对应相等的字符及其位置号,程序空白处应该填写的是( )。 #include<stdio.h> main() { Char sl[]="Chinese",s2[]="japnese"; int i; for(i=0;s1[i]!='\0'&&s2[i]!='\0';i++) if(s1[i]=s2[i]&&i<7) ____________________; }

A.putchar(s2[i];putchar(i)

B.puts(s1[i],i)

C.printf("%c%d\n",s2[i],i)

D.printf("%c",s1[i]);printf("%d\n",i)


正确答案:C
解析: putchar(s)的功能是把字符s输出到标准输出设备;puts(s1)是把s1指向的字符串输出到标准输出设备。

更多相关问题