(76) 下面各语句行中,能正确进行赋字符串操作的语句行是
A) char st[4][5]={"ABCDE"};
B) char s[5]={'A','B','C','D','E'};
C) char *s; s="ABCDE";
D) char *s; scanf("%s",s);
(77) 请读程序:
| 以下是引用片段: #include f(char *s) { char *p=s; while( *p!='\0') p++; return(p-s); } main() { printf("%d\n",f("ABCDEF"));} |
上面程序的输出结果是
A) 3
B) 6
C) 8
D) 0
(78) 请读程序片段:
char str[]="ABCD", *p=str;
printf("%d\n",*(p+4));
上面程序的输出结果是
A) 68
B) 0
C) 字符"D"的地址
D) 不确定的值
(79) 请读程序片段(字符串内没有空格):
printf("%d\n",strlen("ATS\n012\1\\"));
上面程序片段的输出结果是
A) 11
B) 10
C) 9
D) 8
(80) 请读程序:
| 以下是引用片段: #include #include main() { char*s1="AbCdEf", *s2="aB"; s1++; s2++; printf("%d\n",strcmp(s1,s2)); } |
上面程序的输出结果是
A) 正数
B) 负数
C) 零
D) 不确定的值
(81) 请读程序:
| 以下是引用片段: #include char fun(char *c) { if( *c<='Z' && *c>='A') *c-='A'-'a'; return *c; } main() { char s[81], *p=s; gets(s); while(*p) {*p=fun(p); putchar(*p); p++;} putchar('\n'); } |
若运行时从键盘上输入OPEN THE DOOR
| 以下是引用片段: A) oPEN tHE door B) open the door C) OPEN THE DOOR D) Open The Door (82) 请读程序: #include #include void fun( char *s) { char a[10]; strcpy( a, "STRING"); s=a; } main() { char *p; fun(p); x=f(a, 3); printf("%s\n",p); } |
上面程序的输出结果是(└┘表示空格)
A) STRING└┘└┘└┘└┘
B) STRING
C) STRING└┘└┘└┘
D) 不确定的值
(83) 请读程序:
| 以下是引用片段: #include #include void fun( char *w, int m) { char s, *p1, *p2; p1=w; p2=w+m-1; while (p1 { s=*p1++; *p1=*p2--; *p2=s;} } main() { char a[]="ABCDEFG"; fun( a, strlen(a)); puts(a); } |
上面程序的输出结果是
A) GFEDCBA
B) AGADAGA
C) AGAAGAG
D) GAGGAGA
(84) 请选出以下语句的输出结果
printf("%d\n",strlen("\t\"\065\xff\n"));
A) 5
B) 14
C) 8
D) 输出项不合法,无正常输出
(85) 设有如下的程序段:
char str[ ]="Hello";
char *ptr;
ptr=str;
执行上面的程序段后,*(ptr+5)的值为
A) 'o'
B) '\0'
C) 不确定的值
D) 'o'的地址
(86) 设有static char str[ ]="Beijing";则执行printf("%d\n", strlen(strcpy(str,"China")));后的输出结果为
A) 5
B) 7
C) 12
D) 14
(87) 请选出以下程序段的输出结果
| 以下是引用片段: #include main() { char sl[10], s2[10], s3[10], s4[10]; scanf("%s%s",s1,s2); gets(s3); gets(s4); puts(s1); puts(s2); puts(s3); puts(s4); } |
输入数据如下:(此处
aaaa bbbb
cccc dddd
A) aaaa B) aaaa C) aaaa D) aaaa bbbb
bbbb bbbb bbbb cccc
cccc cccc dddd dddd
cccc dddd dddd eeee
(88) 指针s所指字符串的长度为 【88】 。
char *s="\\"Name\\Address\n";
A) 19
B) 15
C) 18
D) 说明不合法
(89) 以下程序的输出结果是 【89】 。
# include
# include
main()
{ char str[12]={'s','t','r','i','n','g'};
printf("%d\n",strlen(str)); }
A) 6
B) 7
C) 11
D) 12
(90) 以下程序的输出结果为 【90】 。
| 以下是引用片段: main() { char *alpha[6]={"ABCD","IJKL","MNOP","QRST","UVWX"}; char **p; int i; p=alpha; for(i=0;i<4;i + + ) printf("%s",p[i]); printf("\n"); } |
A) ABCDEFGHIJKL
B) ABCD
C) ABCDEFGHIJKLMNOP
D) AEIM
(91) 设有以下语句:
| 以下是引用片段: char str[4][12]={"aaa","bbbb","ccccc","dddddd"}, *strp[4]; int i; for(i=0;i<4;i + + )strp[i]=str[i]; |
【91】 不是对字符串的正确引用,其中0≤k<4。
A) strp
B) str[k]
C) strp[k]
D) *strp
(92) 设有以下语句:
char str1[]="string",str2[8],*str3,*str4="string";
则 【92】 不是对库函数strcpy的正确调用,此库函数用业复制字符串。
A) strcpy(str1,"HELLO1"); B) strcpy(str2,"HELLO2");
C) strcpy(str3,"HELLO3"); D) strcpy(str4,"HELLO4");
二、填空题:
(1)以下函数sstrcat()的功能是实现字符串的连接,即将t所指字符串复制到s所指字符串的尾部。例如:s所指字符串为abcd,t所指字符串为efgh,函数调用后s所指字符串为abcdefgh。请填空。
| 以下是引用片段: # include void sstrcat(char *s, char *t) { int n; n= strlen(s); while (*(s+n)= 【1】 ){s++; t++;} } |
(2)以下程序运行后的输出结果是 【2】 。
| 以下是引用片段: #include char *ss(char *s) { char *p, t; p=s+1; t=*s; while(*p) { *(p-1) = *p; p++;} *(p-1)=t; return s; } main() { char *p, str[10]="abcdefgh"; p = ss(str) ; printf("%s\n",p); } |
(3)以下程序运行后的输出结果是 【3】
| 以下是引用片段: #include "string.h" void fun(char *s,int p,int k) { int i; for(i=p;i s[i]=s[i+2]; } main() { char s[]="abcdefg"; fun(s,3,strlen(s)); puts(s); } |
(4)以下程序运行后的输出结果是【4】
| 以下是引用片段: #include "string.h" main() { char ch[]="abc",x[3][4]; int i; for(i=0;i<3;i++) strcpy(x[i],ch); for(i=0;i<3;i++) printf("%s",&x[i][i]); printf("\n"); } |
(5)以下程序中函数huiwen的功能是检查一个字符串是否是回文,当字符串是回文时,函数返回字符串:yes
yes!,否则函数返回字符串:no!,并在主函数中输出.所谓回文即正向与反向的拼写都一样,例如:adgda.请填空.
| 以下是引用片段: #include "string.h" char *huiwen(char *str) { char *p1,*p2; int i,t=0; p1=str; p2= ① for(i=0;i<=strlen(str)/2;i++) if(*p1++!=*p2--) { t=1; break; } if( ②) return ("yes!"); else return ("no!"); } main() { char str[50]; printf("Input:"); scanf("%s",str); printf("%s\n", ③ ); } 【5】 【6】 【7】 |