大学IT网 - 最懂大学生的IT学习网站! QQ资料交流群:367606806
当前位置:大学IT网 > C技巧 > 2013年9月计算机二级C考前最终预测题5(完整)

2013年9月计算机二级C考前最终预测题5(完整)(7)

关键词:计算机二级C语言考试模拟题真题  阅读(2379) 赞(8)

[摘要]本文是2013年9月计算机二级C考前最终预测题5(完整),与大家分享。

    21.下面程序的输出结果是 SO 。

  main()

  {char *p[]={“BOOL”, “OPK”, “H”, “SP”};

  int i;

  for(i=3;i>=0;i--,i--) printf(“%c”,*p[i]);

  printf(“\n”);

  }

  22.下面程序的输出结果是 17 。

  funa(int a,int B)

  {return a+b;}

  funb(int a,int B)

  {return a-b;}

  sub(int(*t)(),int x,int y)

  {return((*t)(x,y));}

  main()

  {int x,(*p)();

  p=funa;

  x=sub(p,9,3);

  x+=sub(funb,8,3);

  printf(“%d\n”, x);

  }

  23.下面程序的输出结果是 XYZA 。

  #include

  void fun(char *a1,char *a2,int n)

  {int k;

  for(k=0;k< />< p="" />

  a2[k]=(a1[k]-‘A’-3+26)%26+‘A’;

  a2[n]=‘\0’;

  }

  main()

  {char s1[5]=“ABCD”, s2[5];

  fun (s1, s2, 4);

  puts(s2);

  }

  24.下面程序的输出结果是 7 1 。

  void as(int x,int y,int *cp,int *dp)

  {*cp=x+y;

  *dp=x-y;

  }

  main()

  {int a=4,b=3,c,d;

  as(a,b,&c,&D);

  printf(“%d %d\n”,c,D);

  }

  25.下面程序的输出结果是 eybdooG 。

  #include

  main()

  {static char b[]=“Goodbye”;

  char *chp=&b[7];

  while(--chp>=&b[0]) putchar(*chp);

  putchar(‘\n’);

  }

  26.若输入:this test terminal,以下程序的输出结果为:terminal test this。填空补充以下程序。

  #include

  #define MAXLINE 20

  main()

  {int i;

  char *pstr[3],str[3][MAXLINE];

  for(i=0;i<3;i++) pstr[i]=str[i];

  for(i=0;i<3;i++) scanf(“%s”,pstr[i]);

  sort(pstr);

  for(i=0;i<3;i++) printf(“%s\n”,pstr[i]);

  }

  sort( char *pstr [3] )

  {int i,j;

  char *p;

  for(i=0;i<3;i++)

  {for(j=i+1;j<3;j++)

  {if(strcmp(*(pstr+i),*(pstr+j))>0)

  {p=*(pstr+i);

  *(pstr+i)= *(patr+j) ;

  *(pstr+j)=p;

  }

  }

  }

  }

  27.以下程序利用指针法将两个数按从小到大的顺序输出来。

  main()

  {int a,b, *p1,*p2 , p ;

  printf(“input a, b:”);

  scanf(“%d%d”, &a,&B);

  p1=&a ;

  p2=&b;

  if(a< />< p="" />

  {p=p1; p1=p2; p2=p;}

  printf(“a=%d b=%d\n”,a,B);

  printf(“max=%d min=%d\n”, *p1,*p2 );

  }

  28.以下程序的输出结果是 8 。

  fun(int n,int *s)

  {int f1,f2;

  if(n==1||n==2) *s=1;

  else

  {fun(n-1,&f1);

  fun(n-2,&f2);

  *s=f1+f2;

  }

  }

  main()

  {int x;

  fun(6,&x);

  printf(“%d\n”,x);

  }

  29.下面的程序通过函数average计算数组中各元素的平均值,请填空。

  float average(int *pa,int n)

  {int i;

  float avg=0.0;

  for(i=0;i< />< p="" />

  avg=avg+ *(pa+i) ;

  avg= avg/n ;

  return avg;

  }

  main()

  {int i,a[5]={2,4,6,8,10};

  float mean;

  mean=average(a,5);

  printf(“mean=%f\n”,mean);

  }

  30.以下程序将字符串s1中的所有与字符串str1相同的子串替换成字符串str2,并将替换后的新串存于字符数组s2中。

  #include

  void replace(char *s1,char *s2,char *str1,char *str2)

  {char *t0,*t1,*t2;

  while( *s1 )

  {for(t0=s1,t1=str1;(*t1!=‘\0’&& *t0=*t1 );t0++,t1++);

  if(*t1!=‘\0’) *s2++ = *s1++ ;

  else

  {for(t1=str2;*t1!=‘\0’;) *s2++ = *t1++ ;

  s1=t0 ;

  }

  }

  *s2=‘\0’;

  }

  main()

  {static char s1[]=“abcef ababcd abab.”, s2[25];

  replace (s1, s2, “abc”, “XYZ”);

  printf(“%s\n”, s2);

  }

  31.以下语句的输出结果是 hELLO! 。

  char s[80],*sp=“HELLO!”;

  sp=strcpy (s, sp); s[0]=‘h’; puts(s);

«上一页1234567下一页»


相关评论