#include
#define N 6
main()
{ char c[N];
int i=0;
for( ;i
for( i=0;i
}
(50) 以下程序运行后,输出结果是A)
8B)
7C)
6D) 5
#include
ss(char *s)
{ char *p=s;
while(*p) p++;
return(p-s);
}
main()
{ char *a="abded";
int i;
i=ss(a);
printf("%d\n",i);
}
(51) 以下程序运行后,输出结果是A)
6385B)
22C)
33D) 693825
main()
{ char ch[2][5]={'693","825"},*p[2];
int i,j,s=0;
for(i=0;i<2;i++) p[i]=ch[i];
for(i=0;i<2;i++)
for(j=0;p[i][j]='0' && p[i][j]<='9';j+=2)
s=10*s+p[i][j]-'0';
printf("%d\n",s);
}
(52) 以下程序运行后,输出结果是A)
1234567B)
7654321C)
1711717D) 7177171
#inchude
#inchude
fun(char *w, int n)
{ char t,
*s1,*s2;
s1=w: s2=w+n-1;
while(s1
{ t=*s1++;
*s1=*s2--;
*s2=t;
}
}
main()
{ char *p;
p="1234567";
fun(p,strlen(p));
puts(p);
}
(53) 以下程序运行后,如果从键盘上输入:
book
book
则输出的结果是A)
*8B)
#9C)
#6D) *9
#include
main()
{ char a1[80],a2[80],*s1=a1, *s2=a2;
gets(s1); gets(s2);
if(! strcmp(s1,s2)) printf("*");
esle printf("#");
printf("%d/n",strlen(strcat(s1,s2)));
}
(54) 给出以下定义:
char x[ ]="abcdefg";
char y[ ]={'a','b','c','d','e','f','g'};则正确的叙述为A) 数组X和数组Y等价B) 数组x和数组Y的长度相同C) 数组X的长度大于数组Y的长度D) 数组X的长度小于数组Y的长度(55) 有以下程序main()
{ char a[]="programming",
b[]="language";
char *p1,*p2;
int i;
p1=a; p2=b;
for(i=0;i<7;i++)
if(*(p1+i)==*(p2+i)) printf("%c",*(p1+i));
}
输出结果是A)
gmB)
rgC)
orD) ga
(56) 若有以下定义:
char s[20]="programming",*ps=s;
则不能代表字符o的表达式是A)
ps+2B)s[2]C)
ps[2]D)ps+=2,*ps
(57) 若有以下定义和语句:
char *s1="12345",*s2="1234";
printf("%d\n",strlen(strcpy(s1,s2)));则输出结果是
A)
4B)5C)9D)10
(58) 下面程序的输出是 main()
{ char *s="121";
int k=0, a=0, b=0;
do {k++;
if(k%2==0) {a=a+s[k]-'0';
continue;} b=b+s[k]-'0';
a=a+s[k]-'0';
}
while (s[k+1]);
printf("k=%d a=%d b=%d\n",k,a,b);A)k=3 a=2
b=3B)k=3 a=3
b=2C)k=2 a=3
b=2D)k=2 a=2 b=3
(59) 以下程序输出的结果是#include
#include
main()
{ char w[][10]={"ABCD","EFGH","IJKL","MNOP"},K;
for (k=1;k<3;k++)
printf("%s\n",&w[k][k]);
}A)ABCD B)ABCDFGH EFGKL IJMC)EFG D)FGHJK
KLO (60) 若有以下程序片段:
char str[]="ab\n\012\\\"";
printf(%d",strlen(str));
上面程序片段的输出结果是 A)3B)4C)6D)12
(61) 函数调用:strcat(strcpy(str1,str2),str3)的功能是A) 将串str1复制到串str2中后再连接到串str3之后B) 将串str1连接到串str2之后再复制到串str3之后C) 将串str2复制到串str1中后再将串str3连接到串str1之后D) 将串str2连接到串str1之后再将串str1复制到串str3中(62) 不能把字符串:Hello!赋给数组b的语句是A) char
b[10]={'H','e','l','l','o','!'};B) char b[10];b="Hello!";C) char
b[10];strcpy(b,"Hello!");D) char b[10]="Hello!";
(63) 下面程序的输出是main()
{ int x=3,y=6,a=0;
while(x++!=(y+=o1))
{ a+o=1;
if(y
#include
main()
{ char ss[10]="12345";
strcat(ss,"6789");
gets(ss);printf("%s\n",ss);
}A)
ABCB)
ABC9C)
123456ABCD) ABC456789
(64) 下面程序的输出是main()
{ char *a="12134211";
int v1=0,v2=0,v3=0,v4=0,k;
for(k=0;s[k];k++)
switch(s[k])
{ default:v4++;
case '1': v1++;
case '3': v3++;
case '2': v2++; }
printf("v1=%d,v2=%d,v3=%d,v4=%d\n",v1,v2,v3,v4);
}A)
v1=4,v2=2,v3=1,v4=1B) v1=4,v2=9,v3=3,v4=1C) v1=5,v2=8,v3=6,v4=1D) v1=8,v2=8,v3=8,v4=8
(65) 当执行下面程序且输入:ABC时,输出的结果是#include
#include
main()
{ char ss[10]="12345";
gets(ss);printf("%s\n",ss); }A)
ABCB)
ABC9C)
123456ABCD) ABC456789
(66) 下面程序的输出是#include
main()
{ char*a="abcdefgh";
fun(a);puts(a); }
fun (char * s)
{ int x=0,y;char c;
for(y=strlen(s)-1;x
c=s[x];s[x]=s[y];s[y]=c;} }A)abcdefghB)hgfdecbaC)dcbahgfeD)hgfedcba
(67) 下述对C语言字符数组的描术中错误的是A) 字符数组可以存放字符串B) 字符数组中的字符串可以整体输入、输出C) 可以在赋值语句中通过赋值运算符"="对字符数组整体赋值D) 不可以用关系运算符对字符数组中的字符串进行比较(68) 设有如下函数定义:
int f(char *s)
{ char *p=s;
while(*p!='\0') p++;
return(p-s); }如果在主程序中用下面的语句调用上述函数,则输出结果为printf("%d\n",f("goodbey!"));A)
3B)
6C)
8D) 0