第七部分字符串与文件.doc
文本预览下载声明
重修第七部分 字符串与文件
- PAGE 9 -
字符串
一、单选题
1.以下能将字符串good!正确地存放在字符数组s中,或使指针s能指向这个字符串的是 。
A.char s[4]={g,o,o,d,!}; B.char s[5];s=good!;
C.int s[5]=good!; D.char *s; s=good!;
2.当用户输入的字符串含空格时,应使用 函数读入字符串。
A.scanf( ) B. gets( ) C. getchar( ) D .getc( )
3.有变量定义如下:char a[10],*p=a,*q;,下列哪一项无法正确读入一个字符串 。
A.scanf(“%s”,a); B.gets(p); C.gets(q); D.gets(a);
4.假设已定义char a[10]和char *p=a,下面的赋值语句中,正确的是 。
A.a[10]= Visual C B.a= Visual C C.*p= Visual C D.p= Visual C
5.当执行下列程序时,如果输入ABC,则输出结果是 。
#includestdio.h
#includestring.h
int main()
{
char ss[10]=1,2,3,4,5;
gets(ss);
strcat(ss,6789);
printf(%s\n,ss);
return 0;
}
A.ABC6789 B.ABC67 C.12345ABC6 D.ABC456789
6.有以下程序:
#includestdio.h
#includestring.h
int main()
{ char a[10]=1,2,3,4,5;
int i,j;
i=sizeof(a);
j=strlen(a);
printf(%d,%d\n,i,j);
return 0;
}
程序运行后输出结果是 。
A.10,9 B.10,10 C.10,5 D.1,9
7.判断字符串a和b是否相等,应当使用 。
A.if(a==b) B.if(a=b) C. if(strcmp(a,b)) D.if(strcpy(a,b))
8.在执行 char str[10]=China\\0;strlen(str) 的结果是 。
A. 5?????? B. 6?????? C. 7???? D. 9
9. 选择出 i 的正确结果 。
int i;
char *s=a\\045\n35\b\\b;
for (i=0;*s++;i++);
A. 5?? B. 8?? C.11?? D.12????
二、填空题
1.以下 delnum 函数的功能是删除字符串 s 中的数字字符。
delnum(char *s)
{
int i,j;
for (i=0,j=0;s[i]!= \0;i++)
if(? )??
{ s[j]=s[i];
;
}
;
}
0;
}
2. 下面程序的功能是:将字符串str中的字符按字符的ASCII码降序排列,仍保留在原串中,字符串及其长度以函数参数传入。
#includestdio.h
#includestring.h
int fun(__________ )
{
int i,j;
char ch;
for(i=0;in;i++)
for(j=i+1;jn;j++)
if(s[i]s[j])
{ch=s[j]; __________ ;s[i]=ch;}
return 0;
}
int main()
{ char str[80];
int i=0,strlen=0;
gets(str);
while(__________ )
{strlen++; i++;}
fun(str,strlen);
puts(str);
return 0;
}
3.以下 comp 函数的功能是按词典顺序比较两个字符串 s 和 t 的大小。如果 s 大于 t 则返回正值,等于就返回零,小于则返回负值。
int comp(char *s,char *t)
{
for(;*s==*t;___________)
if (*s==\0) return__________;
return __________;
}
三、读程题
1.请写出下面程序的
显示全部