第10部分 字符串.doc
文本预览下载声明
第10部分 字符串
- PAGE 8 -
- PAGE 1 -
第10部分 字符串
一、选择题
1、能正确进行字符串赋值、赋初值的语句组是( B )。
A.char s[5]={‘a’,’e’,’i’,’o’,’u’,’\0’};
B.char *s; s=”good!”;
C.char s[5]=”good!”;
D.char s[5]; s=”good”;
2、语句printf(“%d\n”,strlen(“ATS\n012\1\\”)); 的输出结果是( C )。
A.11 B.10 C.9 D.8
3、以下程序:
#include”stdio.h”
#include”string.h”
void fun(char *w,int m)
{ char s,*p1,*p2;
p1=w; p2=w+m-1;
while(p1p2)
{ s=*p1++; *p1=*p2--; *p2=s; }
}
void main()
{ char a[]=”ABCDEFG”
fun(a,strlen(a));
puts(a);
}
其输出结果是( C )。
A.GFEDCBA B.AGADAGA
C.AGAAGAG D.GAGGAGA
4、设有如下定义:
char *aa[2]={“abcd”,”ABCD”};
则以下说法中正确的是( D )。
aa数组元素中的值分别是字符串:“abcd”和“ABCD”
aa是指针变量,它指向含有两个数组元素的字符型一维数组
aa数组的两个元素分别存放的是含有四个字符的一维数组的首地址
aa数组的两个元素中各自存放了字符‘a’和‘A’的地址
5、以下程序:
void main()
{ char *alpha[6]={“ABCD”,”EFGH”,”IJKL”,”MNOP”,”QRST”,”UVWX”};
char **p
int i;
p=alpha;
for(i=0;i4;i++) printf(“%s”,p[i]);
printf(“\n”);
}
其输出结果是( C )。
A.ABCDEFGHIJKL B.ABCD
C.ABCDEFGHIJKLMNOP D.AEIM
6、以下程序段:
char str[]=”ABCD”,*p=str;
printf(“%d\n”,*(p+4));
其输出结果是( B )。
A.68 B.0 C.字符D的地址 D.不确定的值
7、当运行以下程序:
#include”stdio.h”
char fun(char *c)
{ if(*c=’Z’*c=’A’) *c-=’A’-’a’;
return *c;
}
void main()
{ char s[81],*p=s;
gets(s);
while(*p)
{ *p=fun(p); putchar(*p); p++; }
putchar(‘\n’);
}
时,输入OPEN THE DOORCR(CR代表回车),则输出结果是( B )。
A.oPEN tHE dOOR B.open the door
C.OPEN THE DOOR D.Open The Door
8、以下程序:
void main()
{ char s[]=”ABCD”,*p;
for(p=s;ps+4;p++) printf(“%s\n”,p);
}
其输出结果是( A )。
A.ABCD B.A C.D D.ABCD
BCD B C ABC
CD C B AB
D D A A
9、以下程序:
void main()
{ char ch[2][5]={“6937”,”8254”},*p[2];
int i,j,s=0;
for(i=0;i2;i++) p[i]=ch[i];
for(i=0;i2;i++)
for(j=0;p[i][j]=’0’p[i][j]=’9’;j+=2)
s=10*s+p[i][j]
显示全部