(16) 有以下程序
| 以下是引用片段: main( ) { char *p[10]={“abc”,”aabdfg”,”dcdbe”,”abbd”,”cd”}; printf(“%d\n”,strlen(p[4])); } |
执行后输出结果是
A) 2
B) 3
C) 4
D) 5
(17) 以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是
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) 下列选项中正确的语句组是
A) char s[8]; s={"Beijing"}; B) char *s; s={"Beijing"};
C) char s[8]; s="Beijing"; D) char *s; s="Beijing";
(19) 以下程序中函数scmp的功能是返回形参指针s1和 s2所指字符串中较小字符串的首地址
| 以下是引用片段: #include #include 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
(20) 有以下程序
| 以下是引用片段: #include main() { char str[][20]={"Hello","Beijing"}, *p=str; printf("%d\n",strlin(p+20)); } |
程序运行后的输出结果是
A) 0
B) 5
C) 7
D) 20
(21) 已定义以下函数
fun(char *p2, char *p1)
{ while((*p2=*p1)!=‘\0’){p1++;p2++; } }
函数的功能是
A) 将p1所指字符串复制到p2所指内存空间
B) 将p1 所指字符串的地址赋给指针 p2
C) 对p1和p2两个指针所指字符串进行比较
D) 检查p1和p2两个指针所指字符串中是否有‘\0’
(22) 有以下程序
| 以下是引用片段: main() { char *s[]={"one","two","three"},*p; p=s[1]; printf("%c,%s\n",*(p+1),s[0]); } |
执行后输出结果是
A) n,two
B) t,one
C)w,one
D) o,two
(23) 阅读以下函数
| 以下是引用片段: fun(char *s1,char *s2) { int i=0; while(s1[i]==s2[i]&& s2[i]!=‘\0’)i++; return(s1[i]== && 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
(24) 有以下程序
| 以下是引用片段: main() { char str[]="xyz",*ps=str; while(*ps)ps++; for(ps--;ps-str>=0;ps--) puts(ps); } |
执行后的输出结果是
A) yz B) z C) z D) x
xyz yz yz xy
xyz xyz
(25) 有以下程序
| 以下是引用片段: #include main() { char *p=“abcde\Ofghjik\0”; printf(“%d\n”,strlen(p)); } |
程序运行后的输出结果是
A) 12
B) 15
C) 6
D) 5
(26) 有以下程序
| 以下是引用片段: void ss(char *s,char t) { while(*s) { if(*s==t) *s=t-‘a’+’A’; s++; } } main() { char str1[100]=“abcddfefdbd”,c=’d’; ss(str1,c); printf(“%s\n”,str1); } |
程序运行后的输出结果是
A) ABCDDEFEDBD
B) abcDDfefDbD
C) abcAAfefAbA
D) Abcddfefdbd
(27) 以下程序的输出结果是
| 以下是引用片段: char cchar(char ch) { if(ch>=‘A’&&ch<=‘Z') ch=ch-‘A'+‘a'; return ch; } main() { char s[]="ABC+abc=defDEF",*p=s; while(*p) { *p=cchar(*p); p++; } printf("%s\n",s); } |
A) abc+ABC=DEFdef
B) abc+abc=defdef
C) abcaABCDEFdef
D) abcabcdefdef
(28) 以下程序段的输出结果是
char s[]="\\141\141abc\t";
printf ("%d\n",strlen(s));
A) 9
B) 12
C) 13
D) 14
(29) 以下程序的输出结果是
| 以下是引用片段: main() { char cf[3][5]={"AAAA","BBB","CC"}; printf("\"%s\"\n",ch[1]); } |
A) "AAAA"
B) "BBB"
C) "BBBCC"
D) "CC"
(30) 以下程序的输出结果是
| 以下是引用片段: #include #include main() { char b1[8]="abcdefg",b2[8],*pb=b1+3; while (--pb>=b1) strcpy(b2,pb); printf("%d\n",strlen(b2)); } |
A) 8
B) 3
C) 1
D) 7