一、选择题
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 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