20004月】(30) 设有数组定义: char array [ ]="China"; 则数组 array所占的空间为 
A) 4个字节          B) 5个字节      C) 6个字节        D) 7个字节 
【答案】C
20004月】(43) 设已有定义: char *st="how are you"; 下列程序段中正确的是 
A) char a[11], *p; strcpy(p=a+1,&st[4]); 
B) char a[11]; strcpy(++a, st); 
C) char a[11]; strcpy(a, st); 
D) char a[], *p; strcpy(p=&a[1],st+2); 
【答案】A
20004月】(44) 下列程序执行后的输出结果是 
A) you&me          B) you        C) me            D) err 
main() 
{ char arr[2][4]; 
strcpy(arr,"you"); strcpy(arr[1],"me"); 
arr[0][3]='&'; 
printf("%s \n",arr); 
} 
【答案】A
20004月】(45) 下列程序执行后的输出结果是 
A) hello            B) hel        C) hlo          D) hlm 
void func1(int i); 
void func2(int i); 
char st[]="hello,friend!"; 
void func1(int i) 
{ printf("%c",st[i]); 
if(i<3){i+=2;func2(i);} 
void func2(int i) 
{ printf("%c",st[i]); 
if(i<3){i+=2;func1(i);} 
main() 
{ int i=0; func1(i); printf("\n");} 
【答案】C
20004月】(12) 下面程序的功能是:将字符数组a中下标值为偶数的元素从小到大排列,其它元素不变。请填空。 
#include 
#include 
main() 
{ char a[]="clanguage",t; 
int i, j, k; 
k=strlen(a); 
for(i=0; i<=k-2; i+=2) 
for(j=i+2; j<=k;
if(
{ t=a[i]; a[i]=a[j]; a[j]=t; } 
puts(a); 
printf("\n"); 
【答案】j+=2, a[i]>a[j]
20004月】(14) 以下程序的功能是:将无符号八进制数字构成的字符串转换为十进制整数。例如,输入的字符串为:556,则输出十进制整数366。请填空。 
#include 
main() 
{ char *p, s[6]; 
int n; 
p=s; 
gets(p); 
n=*p-'0'; 
while( 字符串函数编程题!='\0')n=n*8+*p-'0'; 
printf("%d \n",n); 
【答案】*(++p)
20014月】(43) 当执行下面的程序时,如果输入ABC,则输出结果是
A) ABC6789
B) ABC67
C) 12345ABC6
D) ABC456789
#include “stdio.h”
#include “string.h”
main()
{ char ss[10]=“1,2,3,4,5”;
gets(ss); strcat(ss, “6789”); printf(“%s\n”,ss);
}
【答案】A
20019月】(41) 以下程序的输出结果是
main()
{ char st[20]= hello\0\t\\;
printf(“%d %d \n,strlen(st),sizeof(st));
}
A) 9 9            B) 5 20              C) 13 20            D) 20 20
【答案】B
20019月】(42) 以下选项中,不能正确赋值的是
A) char s1[10];s1=Ctest;
B) char s2[]={C, t, e, s, t’};
C) char s3[20]=Ctest;
D) char *s4=Ctest\n ;
【答案】A
20019月】(15) 若有定义语句: char s[100],d[100]; int j=0, i=0;,且s中已赋字符串,请填空以实现字符串拷贝。(注:不得使用逗号表达式)
while(s[i]){ d[j]= ;j++;}
d[j]=0;
【答案】s[i++]
20024月】(31) 以下程序段的输出结果是 
char s[]="\\141\141abc\t"; 
printf ("%d\n",strlen(s)); 
A) 9              B) 12              C) 13            D) 14 
【答案】A
20024月】(45) 以下程序的输出结果是 
#include 
#include 
main() 
{ char b1[8]="abcdefg",b2[8],*pb=b1+3; 
while (--pb>=b1) strcpy(b2,pb); 
printf("%d\n",strlen(b2)); 
A) 8              B) 3          C) 1              D) 7 
【答案】D
20024月】(13) 以下程序的输出结果是【  
main() 
{ char s[]="abcdef"; 
s[3]=‘\0'; 
printf("%s\n",s); 
【答案】abc
20024月】(18) mystrlen函数的功能是计算str所指字符串的长度,并作为函数值返回。请填空。 
int mystrlen(char *str) 
{ int i; 
for(i=0; !=‘\0';i++); 
return( ); 
【答案】str[i],  i
20029月】(33)有以下程序 
main() 
{ char a[]={'a','b','c','d','e','f','g','h','\0'}; int i,j; 
i=sizeof(a); j=strlen(a); 
printf("%d,%d\n",i,j); 
} 
程序运行后的输出结果是______ 
A) 9,9   B) 8,9   C) 1,8   D) 9,8 
【答案】D
20029月】(36)有以下程序 
#include <string.h> 
main() 
{ char *p="abcde\0fghjik\0"; 
printf("%d\n",strlen(p)); 
程序运行后的输出结果是______ 
A) 12   B) 15   C) 6   D) 5 
【答案】D
20029月】(50)以下程序中函数f的功能是将n个字符串,按由大到小的顺序进行排序。 
#include <string.h> 
void f(char p[][10],int n) 
{ char t[20]; int i,j; 
for(i=0;i<n-1;i++) 
for (j=i+1;j<n;j++) 
if(strcmp(p[i],p[j])<0) 
{ strcpy(t,p[i]);strcpy(p[i],p[j]);strcpy(p[j],t);} 
main() 
{ char p[][10]={"abc","aabdfg","abbd","dcdbe","cd"};int i; 
f(p,5); printf("%d\n",strlen(p[0])); 
} 
程序运行后的输出结果是 
A) 6   B) 4   C) 5   D) 3
【答案】C
20029月】(17) 函数sstrcmp()的功能是对两个字符串进行比较。当s 所指字符串和t所指字符相等时,返回值为0;当s所指字符串大于t所指字符串时,返回值大于0;当s所指字符串小于t所指字符串时,返回值小于0(功能等同于库函数strcmp())。请填空。 
#include <stdio.h> 
int sstrcmp(char *s,char *t) 
{ while(*s&&*t&&*s==
{ s++;t++; } 
return
【答案】*t,  *s-*t
20034月】(36) 有以下程序
main()
{ char s[]="\n123\\";
printf("%d,%d\n",strlen(s),sizeof(s));
}
执行后输出结果是
A) 赋初值的字符串有错          B) 6,7          C) 5,6          D) 6,6
【答案】C
20034月】(37) 阅读以下函数
fun(char *sl,char *s2)
{ int i=0;
while(sl[i]==s2[i]&&s2[i]!='\0') i++;
return(sl[i]=='\0'&&s2[i]=='\0');
}
此函数的功能是
A) s2所指字符串赋给s1
B) 比较s1s2所指字符串的大小,若s1s2的大,函数值为1,否则函数值为0

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。