选择题
10.1 以下能正确进行字符串赋值,赋初值的语句是
A) char
s[5]={\’\’a\’\’,\’\’e\’\’,\’\’i\’\’,\’\’o\’\’,\’\’u\’\’};
B) char *s; s="good!";
C) char s[5]="good!";
D) char s[5]; s="good!";
答案: B
10.2 以下程序段的输出结果是
A) 68
B) 0
C) 字符D的地址
D) 不确定的值
char str[]="ABCD",*p=str;
printf("%d\\n",*(p+4));
答案: B
10.3 以下程序段的输出结果是
A) 11
B) 10
C) 9
D) 8
printf("%d\\n",strlen("ATS\\n012\\1\\\\"));
答案: C
10.4 当运行以下程序时输入OPEN T H E DOOR(此处代表Enter键),则输出结果是
A) oPEN tHE dOOR
B) open the door
C) OPEN T H E DOOR
D) Open The Door
#include "stdio.h"
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\’\’);
}
答案: B
10.5 以下程序的输出结果是
A)GFEDCBA
B) AGADAGA
C) AGAAGAG
D) GAGGAGA
#include "stdio.h"
#include "string.h"
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);
}
答案: C