江苏省计算机等级考试(二级C语言)考点分析

发布时间 : 星期一 文章江苏省计算机等级考试(二级C语言)考点分析更新完毕开始阅读

{ str[k]=str[k+m]; k=________; } __________=c; } }

答案:s len k+m str[k]

(3) 2004年秋填空第16题(P40-16)

以下程序中函数strmerge的功能是:合并a和b两个有序的字母字符串(字典序)而产生一个新的字符串,在合并的过程中删除重复出现的字符,合并后的字符串仍然保持原序并保存到c指向的数组中,函数返回在合并过程中删除的字符个数。main函数中输出合并后的字符串“copy”以及在合并过程中删除的字符个数3。

#include

int strmerge(char *a, char *b, char *c) {int i=0,j=0,k=0; char t; while(a[i]!=’\\0’&&__________)

{if(a[i]==b[j]) {t=a[i]; i++; __________; } else if(a[i]

if(t!=c[k-1]) ________=t; }

while(a[i])

if(a[i]!=c[k-1] c[k++]=a[i++]; else i++; while(b[j])

if(b[j]!=c[k-1] c[k++]=b[j++]; else j++; c[k]=’\\0’; return _________; } main()

{static char s1[10]=”ccp”,s2[10]=”oppy”,s3[20]; int n;

n=strmerge(s1,s2,s3); puts(s3);

printf(“%d”,n); }

答案:a[j]!=’\\0’ j++ c[k++] i+j-k (4) 2004年秋填空第6题(P49-6) 以下程序运行时输出结果是________。 #include main()

{ char *s, *s1=”Here”; s=s1;

while(*s1) s1++; printf(“%d\\n”,s1-s); }

分析:本程序是求指针s1所指向的字符串的长度。答案:4 (5) 2004年秋填空第11题(P50-11)

以下程序运行时输出结果的第一行是_______,第二行是______。 #include #include

void process(char *s1, char *s2, char *s3, int d) { int i=0,j=0,len1=strlen(s1), len2=strlen(2),len3=0; while(i

{if(d==1&&s1[i]s2[j]) s3[len3++]=s2[i++]; else

s3[len3++]=s2[j++]; }

void main()

{char s1[]=”bl”,s2[]=”el”,s3[]=”lb”,s4[]=”le”,s[20]; process(s1,s2,s,1); puts(s);

process(s3,s4,s,2); puts(s); }

分析:函数process()完成的功能:(1)当d==1时,从s1、s2两字符串中依次取最小的字符放入s3中,直到有一个字符串结束,最后将未结束的字符串中剩余的字符加到s3的后面;(2)当d==2时,从s1、s2两字符串中依次取最大的字符放入s3中,直到有一个字符串结束,最后将未结束的字符串中剩余的字符加到s3的后面。 答案:bell lleb

(6) 2005年秋填空第11题(P65-11)

以下程序运行时输出结果的第一行为_______,第二行为______。 #include #include

int process(char *s1,char *s2, char *s3)

{ int i=0, j=0, len1=strlen(s1), len2=strlen(s2), len3=0; for(i=0; i=len2) s3[len3++]=s1[i]; }

s3[len3]=’\\0’; return len1-len3; }

void main()

{ char s1[]=”bilker”, s2[]=”lr”,s3[20]; int n;

n=process(s1,s2,s3); puts(s3); printf(“\\n%d”,n); }

分析:本程序中的函数process()完成的功能是:将字符串s1中有而s2中无的字符放入s3中。并返回在s1中有且s2中也有的字符个数。 答案:bike 2

(7) 2005年春填空第17题(P70-17)

以下程序中函数str_count的功能是:统计字符串s2在字符串s1中出现的次数并得到第一次出现的位置。子串出现的次数通过指针型形参变量返回给调用函数,函数返回值为子串第一次出现的位置下标。Main函数中输出这些信息。 #include #include

int str_count(char s1[], char s2[], int *count) { int i=0,j=0, flag=0, len1, len2, pos=0, ct=0; char tmp[100];

len1=strlen(s1); len2=strlen(s2); while(i<=len1-len2)

{for(j=0; j

else ___________; }

*count=ct; return pos; }

void main()

{ char s1[]=”habcdefabcdghij”,s2[]=”abc”; int count=0, first=0;

first=str_count(s1,s2, ________); if(count)

printf(“%s appears %d times in %s.\\n first pos is %d.\\n”,s2,count,s1,first);

else printf(“%s not be found in %s!\\n”,s2,s1);

联系合同范文客服:xxxxx#qq.com(#替换为@)