(11) s12和s2已正確定義并分別指向兩個(gè)字符串。若要求:當(dāng)s1所指串大于s2所指串時(shí),執(zhí)行語句S;則以下選項(xiàng)中正確的是_____
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;
(12) 有以下程序
main()
{char str[][10]={"China","Beijing"},*p=str;
printf("%s\n",p+10);
}
程序運(yùn)行后的輸出結(jié)果是
A) China B) Bejing C) ng D) ing
(13) 有以下程序
main()
{char s[]="ABCD",*p;
for(p=s+1;p<s+4;p++)printf("%s\n",p);
}
程序運(yùn)行后的輸出結(jié)果是
A) ABCD B) A C) B D) BCD
BCD B C CD
CD C D D
D D
(14) 有以下程序
main()
{ char s[]"Yes\n/No",*ps=s;
puts(ps+4);
*(ps+4)=0;
puts(s);
}
程序運(yùn)行后的輸出結(jié)果是(選項(xiàng)D中的第一行是空行)
A) n/No B) /No C) n/NO D)
Yes Yes Yes /No
/No /No Yes
(15) 有以下定義
#include <stdio.h>
char a[10],*b=a;
不能給數(shù)組a輸入字符串的語句是
A) gets(A) B) gets(a[0]) C) gets(&a[0]); D) gets(B) ;
(16) 有以下程序
main( )
{ char *p[10]={“abc”,”aabdfg”,”dcdbe”,”abbd”,”cd”};
printf(“%d\n”,strlen(p[4]));
}
執(zhí)行后輸出結(jié)果是
A) 2 B) 3 C) 4 D) 5
(17) 以下程序段中,不能正確賦字符串(編譯時(shí)系統(tǒng)會提示錯(cuò)誤)的是
A) char s[10]=”abcdefg”; B) char t[]=”abcdefg”,*s=t;
C) char s[10];s=”abcdefg”; D) char s[10];strcpy(s,”abcdefg”);
(18) 下列選項(xiàng)中正確的語句組是
A) char s[8]; s={"Beijing"}; B) char *s; s={"Beijing"};
C) char s[8]; s="Beijing"; D) char *s; s="Beijing";
(19) 以下程序中函數(shù)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]));/*庫函數(shù)strcpy對字符串進(jìn)行復(fù)制*/
strcpy(string,scmp(string,str[2]));
printf("%s\n",string);
}
運(yùn)行時(shí)依次輸入:abcd、abba和abc三個(gè)字符串,則輸出結(jié)果為
A) abcd B) abba C) abc D) abca
(20) 有以下程序
#include <string.h>
main()
{ char str[][20]={"Hello","Beijing"}, *p=str;
printf("%d\n",strlin(p+20));
}
程序運(yùn)行后的輸出結(jié)果是
A) 0 B) 5 C) 7 D) 20