2005年4月全国计算机等级考试二级C语言笔试试卷及标准解析

出处:www.examlink.com 作者:小罗 日期:2007年01月22日 16时46分

  (26)有以下程序

  intf1(intx,inty){returnx>y?x:y;}

  intf2(intx,inty){returnx>y?y:x;}

  main()

  {inta=4,b=3,c=5,d=2,e,f,g;

  e=f2(f1(a,b),f1(c,d));

  f=f1(f2(a,b),f2(c,d));

  g=a+b+c+d-e-f;

  printf("%d,%d%d\n",e,f,g);

  }

  程序运行后的输出结果是A

  A)4,3,7

  B)3,4,7

  C)5,2,7

  D)2,5,7

  (27)已有定义:chara[]="xyz",b[]={'x','y','z'};,以下叙述中正确的是C

  A)数组a和b的长度相同

  B)a数组长度小于b数组长度

  C)a数组长度大于b数组长度

  D)上述说法都不对

  (28)有以下程序

  voidf(int*x,int*y)

  {intt;

  t=*x;*x=*y;*y=t;

  }

  main()

  {inta[8]={1,2,3,4,5,6,7,8},i,*p,*q;

  p=a;q=&a[7];

  while(p<q)

  {

  f(p,q);

  p++;

  q--;

  }

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

  printf("%d,",a[i]);

  }

  程序运行后的输出结果是D

  A)8,2,3,4,5,6,7,1,

  B)5,6,7,8,1,2,3,4,

  C)1,2,3,4,5,6,7,8,

  D)8,7,6,5,4,3,2,1,

  (29)有以下程序

  main()

  {

  inta[3][3],*p,i;

  p=&a[0][0];

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

  p[i]=i;

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

  printf("%d",a[1][i]);

  }

  程序运行后的输出结果是D

  A)012

  B)123

  C)234

  D)345

  (30)以下叙述中错误的是C

  A)对于double类型数组,不可以直接用数组名对数组进行整体输入或输出

  B)数组名代表的是数组所占存储区的首地址,其值不可改变

  C)当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息

  D)可以通过赋初值的方式确定数组元素的个数

  (31)有以下程序

  #defineN20

  fun(inta[],intn,intm)

  {inti,j;

  for(i=m;i>=n;i--)

  a[i+1]=a[i];

  }

  main()

  {

  inti,a[N]={1,2,3,4,5,6,7,8,9,10};

  fun(a,2,9);

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

  printf("%d",a[i]);

  }

  程序运行后的输出结果是C

  A)10234

  B)12344

  C)12334

  D)12234

  (32)有以下程序

  main()

  {inta[3][2]={0},(*ptr)[2],i,j;

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

  {ptr=a+i;

  scanf("%d",ptr);

  ptr++;

  }

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

  {

  for(j=0;j<2;j++)

  printf("%2d",a[i][j]);

  printf("\n");

  }

  }

  若运行时输入:123<回车>,则输出结果为B

  A)产生错误信息

  B)10

  20

  00

最后更新时间:2008-11-04 18:29:37
文章评论
共有 0 位网友发表了评论
用户名: 新注册) 密码: 匿名评论 [查看所有评论]

评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。

考试全流程